Base interface for gate builders. More...
#include <ManagedTriggerGateBuilder.h>
Classes | |
struct | GateManager |
Protected Member Functions | |
template<typename GateMgr > | |
std::vector< TriggerGates > | unifiedBuild (GateMgr &&gateManager, std::vector< WaveformWithBaseline > const &waveforms) const |
Returns a collection of TriggerGates objects sorted by threshold. More... | |
template<typename GateInfo , typename Waveforms > | |
void | buildChannelGates (std::vector< GateInfo > &channelGates, Waveforms const &channelWaveforms) const |
Computes the gates for all the waveforms in one optical channel. More... | |
Protected Member Functions inherited from icarus::trigger::TriggerGateBuilder | |
detinfo::DetectorTimings const & | detTimings () const |
Returns a detector timings object. More... | |
std::vector< TriggerGates > | prepareAllGates () const |
virtual void | doSetThresholds (std::vector< ADCCounts_t > const &thresholds) |
Sets all thresholds anew. More... | |
Private Types | |
using | Base_t = icarus::trigger::TriggerGateBuilder |
Additional Inherited Members | |
Public Types inherited from icarus::trigger::TriggerGateBuilder | |
using | Channel_t = raw::Channel_t |
Public Member Functions inherited from icarus::trigger::TriggerGateBuilder | |
TriggerGateBuilder (Config const &config) | |
Constructor: sets the configuration. More... | |
virtual | ~TriggerGateBuilder ()=default |
Virtual destructor. Nothing special about it, except that it's virtual. More... | |
virtual void | setup (detinfo::DetectorTimings const &timings) |
Algorithm setup. More... | |
virtual void | reset () |
Algorithm reset. It will require a new setup before using it again. More... | |
virtual void | resetup (detinfo::DetectorTimings const &timings) |
Resets and sets up. More... | |
virtual void | resetup (detinfo::DetectorTimings const &timings, std::vector< ADCCounts_t > const &thresholds) |
Resets and sets up (including a new set of thresholds). More... | |
virtual std::vector< TriggerGates > | build (std::vector< WaveformWithBaseline > const &waveforms) const =0 |
Returns a collection of TriggerGates objects sorted by threshold. More... | |
std::vector< ADCCounts_t > const & | channelThresholds () const |
Returns all the configured thresholds. More... | |
std::size_t | nChannelThresholds () const |
Returns the number of configured thresholds. More... | |
optical_tick | timeToOpticalTick (microsecond time) const |
Converts a time [s] into optical ticks. More... | |
optical_tick | timeStampToOpticalTick (raw::TimeStamp_t time) const |
Converts a timestamp from raw::OpDetWaveform into optical ticks. More... | |
Static Public Member Functions inherited from icarus::trigger::TriggerGateBuilder | |
static constexpr bool | isValidChannel (Channel_t channel) |
Returns whether channel is valid. More... | |
Static Public Attributes inherited from icarus::trigger::TriggerGateBuilder | |
static constexpr Channel_t | InvalidChannel = std::numeric_limits<Channel_t>::max() |
Mnemonic for an invalid optical detector channel. More... | |
Base interface for gate builders.
This base class provides a skeleton building algorithm that can be customised by templates. The allowed customization includes what to do when a threshold is crossed in a gate.
Note that actions are performed only when the sample crosses a threshold. The algorithm keeps track at each time of which are the thresholds enclosing the signal level, and if the level crosses one of them, the gates associated to those thresholds, and only them, are offered a chance to react.
Definition at line 54 of file ManagedTriggerGateBuilder.h.
|
private |
Definition at line 57 of file ManagedTriggerGateBuilder.h.
|
protected |
Computes the gates for all the waveforms in one optical channel.
|
protected |
Returns a collection of TriggerGates
objects sorted by threshold.