All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Protected Member Functions | Private Types | List of all members
icarus::trigger::ManagedTriggerGateBuilder Class Reference

Base interface for gate builders. More...

#include <ManagedTriggerGateBuilder.h>

Inheritance diagram for icarus::trigger::ManagedTriggerGateBuilder:
icarus::trigger::TriggerGateBuilder icarus::trigger::DynamicTriggerGateBuilder icarus::trigger::FixedTriggerGateBuilder icarus::trigger::DynamicTriggerGateBuilderTool icarus::trigger::FixedTriggerGateBuilderTool

Classes

struct  GateManager
 

Protected Member Functions

template<typename GateMgr >
std::vector< TriggerGatesunifiedBuild (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< TriggerGatesprepareAllGates () 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< TriggerGatesbuild (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...
 

Detailed Description

Base interface for gate builders.

See Also
icarus::trigger::DynamicTriggerGateBuilder, icarus::trigger::FixedTriggerGateBuilder

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.

Member Typedef Documentation

Definition at line 57 of file ManagedTriggerGateBuilder.h.

Member Function Documentation

template<typename GateInfo , typename Waveforms >
void icarus::trigger::ManagedTriggerGateBuilder::buildChannelGates ( std::vector< GateInfo > &  channelGates,
Waveforms const &  channelWaveforms 
) const
protected

Computes the gates for all the waveforms in one optical channel.

template<typename GateMgr >
std::vector<TriggerGates> icarus::trigger::ManagedTriggerGateBuilder::unifiedBuild ( GateMgr &&  gateManager,
std::vector< WaveformWithBaseline > const &  waveforms 
) const
protected

Returns a collection of TriggerGates objects sorted by threshold.


The documentation for this class was generated from the following file: