10 #ifndef ICARUSCODE_PMT_TRIGGER_ALGORITHMS_MANAGEDTRIGGERGATEBUILDER_H 
   11 #define ICARUSCODE_PMT_TRIGGER_ALGORITHMS_MANAGEDTRIGGERGATEBUILDER_H 
   24 namespace icarus::trigger {
 
   31   class ManagedTriggerGateBuilder;
 
   81         { 
return pGate->tracking().add(&waveform); }
 
   97   template <
typename GateMgr>
 
   99     (GateMgr&& gateManager, std::vector<WaveformWithBaseline> 
const& waveforms)
 
  103   template <
typename GateInfo, 
typename Waveforms>
 
  105     (std::vector<GateInfo>& channelGates, Waveforms 
const& channelWaveforms)
 
  114 #include "icaruscode/PMT/Trigger/Algorithms/ManagedTriggerGateBuilder.tcc" 
  118 #endif // ICARUSCODE_PMT_TRIGGER_ALGORITHMS_MANAGEDTRIGGERGATEBUILDER_H 
TriggerGateData_t * operator->() const 
void buildChannelGates(std::vector< GateInfo > &channelGates, Waveforms const &channelWaveforms) const 
Computes the gates for all the waveforms in one optical channel. 
Algorithm to produce trigger gates out of optical readout waveforms. 
TriggerGate_t::TriggerGate_t TriggerGateData_t
TriggerGate_t * pGate
Pointer to the gate. 
Base interface for gate builders. 
icarus::trigger::TrackedOpticalTriggerGate< raw::OpDetWaveform > triggergate_t
void belowThresholdAt(optical_tick tick)
TriggerGateData_t & gate() const 
GateInfo_t create(GateInfo_t::TriggerGate_t &gate) const 
tick_as<> tick
Tick number, represented by std::ptrdiff_t. 
void aboveThresholdAt(optical_tick tick)
void addTrackingInfo(raw::OpDetWaveform const &waveform) const 
timescale_traits< OpticalTimeCategory >::tick_t optical_tick
GateInfoBase(TriggerGate_t &gate)
std::vector< TriggerGates > unifiedBuild(GateMgr &&gateManager, std::vector< WaveformWithBaseline > const &waveforms) const 
Returns a collection of TriggerGates objects sorted by threshold. 
Base_t::TriggerGates::triggergate_t TriggerGate_t
Algorithm to produce trigger gates out of optical readout waveforms.