|
| 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 |
|
| 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...
|
|
|
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...
|
|
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...
|
|
Logical multi-level gate associated to one or more waveforms.
This object is a trigger gate associated with one or more optical waveforms.
- Note
- This object should be parametrized with optical ticks (
detinfo::timescales::optical_tick
). But currently the quantities (util::quantity
derived objects) are not well suited to be serialized by ROOT, because
- they are defined in
lardataalg
rather than lardataobj
- writing all their serialization is daunting (see how ROOT dealt with GenVector vectors for an example of how to do it) So we chicken out here and use simple data types instead.
Definition at line 64 of file OpticalTriggerGate.h.