|
| SingleChannelOpticalTriggerGate (raw::OpDetWaveform const &waveform) |
| Constructor: a closed gate for the channel in waveform . More...
|
|
| SingleChannelOpticalTriggerGate (ChannelID_t channel) |
| Constructor: a closed gate for the specified channel. More...
|
|
| SingleChannelOpticalTriggerGate (SingleChannelOpticalTriggerGate const &)=default |
|
| SingleChannelOpticalTriggerGate (SingleChannelOpticalTriggerGate &&)=default |
|
SingleChannelOpticalTriggerGate & | operator= (SingleChannelOpticalTriggerGate const &)=default |
|
SingleChannelOpticalTriggerGate & | operator= (SingleChannelOpticalTriggerGate &&)=default |
|
bool | add (raw::OpDetWaveform const &waveform) |
| Adds another waveform to the channel (unless it has just been added). More...
|
|
decltype(auto) | channels () const =delete |
| Do not support multi-channel interface. More...
|
|
bool | operator< (SingleChannelOpticalTriggerGate const &other) const |
| Comparison operator: sorts by increasing channel number. More...
|
|
|
SingleChannelOpticalTriggerGate & | operator= (GateData_t const &data) |
| Copies/steals all the levels from the specified data. More...
|
|
SingleChannelOpticalTriggerGate & | operator= (GateData_t &&data) |
|
| OpticalTriggerGate ()=default |
| Constructor: a closed gate with no associated waveform (add() them). More...
|
|
| OpticalTriggerGate (OpticalTriggerGate const &)=default |
|
| OpticalTriggerGate (OpticalTriggerGate &&)=default |
|
OpticalTriggerGate & | operator= (OpticalTriggerGate const &)=default |
|
OpticalTriggerGate & | operator= (OpticalTriggerGate &&)=default |
|
| OpticalTriggerGate (raw::OpDetWaveform const &waveform) |
| Constructor: a closed gate for the channel in waveform . More...
|
|
| fWaveforms ({&waveform}) |
|
| OpticalTriggerGate (ChannelID_t channel) |
| Constructor: a closed gate for the specified channel. More...
|
|
bool | add (raw::OpDetWaveform const &waveform) |
| Adds another waveform to the gate (unless it has already been added). More...
|
|
bool | operator== (OpticalTriggerGate const &) const |
|
bool | operator!= (OpticalTriggerGate const &) const |
|
template<typename Op > |
icarus::trigger::OpticalTriggerGate | SymmetricCombination (Op &&op, OpticalTriggerGate const &a, OpticalTriggerGate const &b, TriggerGateTicks_t aDelay, TriggerGateTicks_t bDelay) |
|
OpticalTriggerGate & | operator= (GateData_t const &data) |
| Copies/steals all the levels and channels from the specified data. More...
|
|
OpticalTriggerGate & | operator= (GateData_t &&data) |
|
GateData_t & | gateLevels () |
| Access to the underlying gate level data (mutable). More...
|
|
GateData_t const & | gateLevels () const |
| Access to the underlying gate level data (immutable). More...
|
|
std::vector
< raw::OpDetWaveform const * > | waveforms () const |
|
OpticalTriggerGate & | Min (OpticalTriggerGate const &other) |
| Combines with a gate, keeping the minimum opening among the two. More...
|
|
OpticalTriggerGate & | Max (OpticalTriggerGate const &other) |
| Combines with a gate, keeping the maximum opening among the two. More...
|
|
OpticalTriggerGate & | Sum (OpticalTriggerGate const &other) |
| Combines with a gate, keeping the sum of openings of the two. More...
|
|
OpticalTriggerGate & | Mul (OpticalTriggerGate const &other) |
| Combines with a gate, keeping the product of openings of the two. More...
|
|
| ReadoutTriggerGate ()=default |
|
| ReadoutTriggerGate (ReadoutTriggerGate const &)=default |
|
| ReadoutTriggerGate (ReadoutTriggerGate &&)=default |
|
ReadoutTriggerGate & | operator= (ReadoutTriggerGate const &)=default |
|
ReadoutTriggerGate & | operator= (ReadoutTriggerGate &&)=default |
|
| ReadoutTriggerGate (std::initializer_list< ChannelID_t > channels) |
| Constructor: a closed gate associated to the specified channels . More...
|
|
bool | hasChannels () const |
| Returns whether there is any channel id associated to the gate data. More...
|
|
bool | hasChannel () const |
| Returns whether exactly one channel id associated to the gate data. More...
|
|
std::size_t | nChannels () const |
| Returns the number of associated channels. More...
|
|
decltype(auto) | channels () const |
| Returns the channels associated to the gate data. More...
|
|
ChannelID_t | channel () const |
| Returns the channel associated to the gate data. More...
|
|
This_t & | addChannel (ChannelID_t const channel) |
| Associates the specified channel to this readout gate. More...
|
|
This_t & | addChannels (std::initializer_list< ChannelID_t > channels) |
| Associates the specified channels to this readout gate. More...
|
|
bool | operator== (ReadoutTriggerGate const &) const |
|
bool | operator!= (ReadoutTriggerGate const &) const |
|
ReadoutTriggerGate & | operator= (GateData_t const &data) |
| Copies/steals all the levels from the specified data. More...
|
|
ReadoutTriggerGate & | operator= (GateData_t &&data) |
|
GateData_t const & | gateLevels () const |
| Access to the underlying gate level data. More...
|
|
GateData_t & | gateLevels () |
| Access to the underlying gate level data (mutable). More...
|
|
ReadoutTriggerGate & | Min (ReadoutTriggerGate const &other) |
| Combines with a gate, keeping the minimum opening among the two. More...
|
|
ReadoutTriggerGate & | Max (ReadoutTriggerGate const &other) |
| Combines with a gate, keeping the maximum opening among the two. More...
|
|
ReadoutTriggerGate & | Sum (ReadoutTriggerGate const &other) |
| Combines with a gate, keeping the sum of openings of the two. More...
|
|
ReadoutTriggerGate & | Mul (ReadoutTriggerGate const &other) |
| Combines with a gate, keeping the product of openings of the two. More...
|
|
| TriggerGateData () |
| Constructor: a closed gate for the channel in waveform . More...
|
|
bool | operator== (TriggerGateData const &) const |
|
bool | operator!= (TriggerGateData const &) const |
|
ClockTick_t | lastTick () const |
| Returns the number of ticks this gate covers. More...
|
|
OpeningCount_t | openingCount (ClockTick_t tick) const |
| Returns the opening count of the gate at the specified tick . More...
|
|
bool | alwaysClosed () const |
| Returns whether this gate never opened. More...
|
|
bool | isOpen (ClockTick_t tick) const |
| Returns whether the gate is open at all at the specified tick . More...
|
|
ClockTick_t | findOpen (OpeningCount_t minOpening=1U, ClockTick_t start=MinTick, ClockTick_t end=MaxTick) const |
| Returns the tick at which the gate opened. More...
|
|
ClockTick_t | findClose (OpeningCount_t minOpening=1U, ClockTick_t start=MinTick, ClockTick_t end=MaxTick) const |
| Returns the tick at which the gate closed. More...
|
|
ClockTick_t | findMaxOpen (ClockTick_t start=MinTick, ClockTick_t end=MaxTick) const |
| Returns the tick at which the gate has the maximum opening. More...
|
|
std::pair< OpeningCount_t,
OpeningCount_t > | openingRange (ClockTick_t start, ClockTick_t end) const |
| Returns the range of trigger opening values in the specified range. More...
|
|
void | setOpeningAt (ClockTick_t tick, OpeningCount_t openingCount) |
| Changes the opening to match openingCount at the specified time. More...
|
|
void | openAt (ClockTick_t tick, OpeningDiff_t count) |
| Open this gate at the specified time (increase the opening by count ). More...
|
|
void | openAt (ClockTick_t tick) |
| Open this gate at the specified time (increase the opening by 1). More...
|
|
void | openBetween (ClockTick_t start, ClockTick_t end, OpeningDiff_t count=1) |
| Open this gate at specified start tick, and close it at end tick. More...
|
|
void | openFor (ClockTick_t tick, ClockTicks_t length, OpeningDiff_t count=1) |
| Open this gate at the specified time, and close it length ticks later. More...
|
|
void | closeAt (ClockTick_t tick, OpeningDiff_t count) |
| Close this gate at the specified time (decrease the opening by count ). More...
|
|
void | closeAt (ClockTick_t tick) |
| Close this gate at the specified time. More...
|
|
void | closeAllAt (ClockTick_t tick) |
| Completely close this gate at the specified time. More...
|
|
void | clear () |
| Sets the gate levels in the state at construction. More...
|
|
triggergatedata_t & | Min (triggergatedata_t const &other) |
| Combines with a gate, keeping the minimum opening among the two. More...
|
|
triggergatedata_t & | Max (triggergatedata_t const &other) |
| Combines with a gate, keeping the maximum opening among the two. More...
|
|
triggergatedata_t & | Sum (triggergatedata_t const &other) |
| Combines with a gate, keeping the sum of openings of the two. More...
|
|
triggergatedata_t & | Mul (triggergatedata_t const &other) |
| Combines with a gate, keeping the product of openings of the two. More...
|
|
|
using | GateData_t = OpticalTriggerGateData_t |
| Type for gate data access. More...
|
|
using | ChannelID_t = GateData_t::ChannelID_t |
| Type of channel identifier. More...
|
|
using | ClockTick_t = Tick |
| Tick point. More...
|
|
using | ClockTicks_t = TickInterval |
| Tick interval. More...
|
|
using | ChannelID_t = ChannelIDType |
| Type of stored channel ID. More...
|
|
using | GateData_t = Base_t |
| Type for gate data access. More...
|
|
using | ChannelList_t = std::vector< ChannelID_t > |
| Type of list of associated channels. More...
|
|
using | triggergatedata_t = TriggerGateData< Tick, TickInterval > |
| This type. More...
|
|
using | ClockTick_t = Tick |
| Type of a point in time, measured in ticks. More...
|
|
using | ClockTicks_t = TickInterval |
| Type of a time interval, measured in ticks. More...
|
|
using | OpeningCount_t = unsigned int |
| Type of count of number of open channels. More...
|
|
using | OpeningDiff_t = std::make_signed_t< OpeningCount_t > |
| Type representing a variation of open channels. More...
|
|
static OpticalTriggerGate | Min (OpticalTriggerGate const &a, OpticalTriggerGate const &b) |
| Returns a gate with the minimum opening between the specified two. More...
|
|
static OpticalTriggerGate | Max (OpticalTriggerGate const &a, OpticalTriggerGate const &b) |
| Returns a gate with the maximum opening between the specified two. More...
|
|
static OpticalTriggerGate | Sum (OpticalTriggerGate const &a, OpticalTriggerGate const &b) |
| Returns a gate with opening sum of the specified two. More...
|
|
static OpticalTriggerGate | Mul (OpticalTriggerGate const &a, OpticalTriggerGate const &b) |
| Returns a gate with opening product of the specified two. More...
|
|
template<typename Op > |
static OpticalTriggerGate | SymmetricCombination (Op &&op, OpticalTriggerGate const &a, OpticalTriggerGate const &b, TriggerGateTicks_t aDelay=TriggerGateTicks_t{0}, TriggerGateTicks_t bDelay=TriggerGateTicks_t{0}) |
| Returns a gate combination of the openings of two other gates. More...
|
|
static ReadoutTriggerGate | Min (ReadoutTriggerGate const &a, ReadoutTriggerGate const &b) |
| Returns a gate with the minimum opening between the specified two. More...
|
|
static ReadoutTriggerGate | Max (ReadoutTriggerGate const &a, ReadoutTriggerGate const &b) |
| Returns a gate with the maximum opening between the specified two. More...
|
|
static ReadoutTriggerGate | Sum (ReadoutTriggerGate const &a, ReadoutTriggerGate const &b) |
| Returns a gate with opening sum of the specified two. More...
|
|
static ReadoutTriggerGate | Mul (ReadoutTriggerGate const &a, ReadoutTriggerGate const &b) |
| Returns a gate with opening product of the specified two. More...
|
|
template<typename Op > |
static ReadoutTriggerGate | SymmetricCombination (Op &&op, ReadoutTriggerGate const &a, ReadoutTriggerGate const &b, ClockTicks_t aDelay=ClockTicks_t{0}, ClockTicks_t bDelay=ClockTicks_t{0}) |
| Returns a gate combination of the openings of two other gates. More...
|
|
static triggergatedata_t | Min (triggergatedata_t const &a, triggergatedata_t const &b) |
| Returns a gate with the minimum opening between the specified two. More...
|
|
static triggergatedata_t | Max (triggergatedata_t const &a, triggergatedata_t const &b) |
| Returns a gate with the maximum opening between the specified two. More...
|
|
static triggergatedata_t | Sum (triggergatedata_t const &a, triggergatedata_t const &b) |
| Returns a gate with opening sum of the specified two. More...
|
|
static triggergatedata_t | Mul (triggergatedata_t const &a, triggergatedata_t const &b) |
| Returns a gate with opening product of the specified two. More...
|
|
template<typename Op > |
static triggergatedata_t | SymmetricCombination (Op &&op, triggergatedata_t const &a, triggergatedata_t const &b, ClockTicks_t aDelay=ClockTicks_t{}, ClockTicks_t bDelay=ClockTicks_t{}) |
| Returns a gate combination of the openings of two other gates. More...
|
|
static constexpr ClockTick_t | MinTick = std::numeric_limits<ClockTick_t>::min() |
| An unbearably small tick number. More...
|
|
static constexpr ClockTick_t | MaxTick = std::numeric_limits<ClockTick_t>::max() |
| An unbearably large tick number. More...
|
|
using | Waveforms_t = std::vector< raw::OpDetWaveform const * > |
| Internal list of registered waveforms. More...
|
|
using | GateEvolution_t = typename Base_t::GateEvolution_t |
|
using | EventType = details::TriggerGateEventType |
|
using | Status = details::TriggerGateStatus< ClockTick_t, OpeningCount_t > |
|
using | GateEvolution_t = std::vector< Status > |
| Type to describe the time evolution of the gate. More...
|
|
| OpticalTriggerGate (GateEvolution_t &&gateLevel, Waveforms_t &&waveforms) |
| Protected constructor: set the data directly. More...
|
|
void | registerWaveforms (Waveforms_t const &moreWaveforms) |
| Registers the waveforms from the specified list. More...
|
|
void | mergeWaveformsFromGate (OpticalTriggerGate const &other) |
| Registers the waveforms from the other gate into this one. More...
|
|
| ReadoutTriggerGate (GateEvolution_t &&gateLevel, ChannelList_t &&channels) |
| Protected constructor: set the data directly. More...
|
|
template<typename BIter , typename EIter > |
| ReadoutTriggerGate (GateEvolution_t &&gateLevel, BIter b, EIter e) |
| Protected constructor: set the data directly. More...
|
|
ChannelList_t & | normalizeChannels () |
| Removes duplicate channel IDs and sorts the remaining ones. More...
|
|
void | associateChannelsFromGate (ReadoutTriggerGate const &other) |
| Associates this data with the channels from the other gate. More...
|
|
void | associateChannels (std::initializer_list< ChannelID_t > const &moreChannels) |
| Associates this data with the channels from the specified list. More...
|
|
void | associateChannels (ChannelList_t const &moreChannels) |
|
| TriggerGateData (GateEvolution_t &&gateLevel) |
| Protected constructor: set the data directly. More...
|
|
static Waveforms_t | mergeWaveforms (Waveforms_t const &a, Waveforms_t const &b) |
| Registers the waveforms from the other gate into this one. More...
|
|
template<typename BIter , typename EIter > |
static ChannelList_t & | mergeSortedChannelsInto (ChannelList_t &channels, BIter b, EIter e) |
|
static ChannelList_t & | normalizeSortedChannels (ChannelList_t &channels) |
| Removes duplicate channel IDs. More...
|
|
template<typename BIter , typename EIter > |
static ChannelList_t & | mergeChannelsInto (ChannelList_t &channels, BIter b, EIter e) |
| Adds channels from iterators b to e into channels (returned). More...
|
|
static ChannelList_t | mergeChannels (ChannelList_t const &a, ChannelList_t const &b) |
| Returns a merged list of channels from a and b . More...
|
|
static ChannelList_t & | normalizeChannels (ChannelList_t &channels) |
| Removes duplicate channel IDs and sorts the remaining ones. More...
|
|
static ChannelList_t | normalizeChannels (ChannelList_t &&channels) |
|
Logical multi-level gate associated to a optical detector channel.
This object is a trigger gate associated with one readout channel.
Definition at line 45 of file SingleChannelOpticalTriggerGate.h.