10 #ifndef ICARUSCODE_PMT_TRIGGER_ALGORITHMS_BEAMGATEMAKER_H
11 #define ICARUSCODE_PMT_TRIGGER_ALGORITHMS_BEAMGATEMAKER_H
27 namespace icarus::trigger {
119 template <
typename Gate = icarus::trigger::OpticalTriggerGate>
129 template <
typename Gate = icarus::trigger::OpticalTriggerGate>
132 {
return make<Gate>(length, delay); }
140 #endif // ICARUSCODE_PMT_TRIGGER_ALGORITHMS_BEAMGATEMAKER_H
electronics_time BeamGateTime() const
optical_tick toOpticalTick(TimePoint time) const
Returns the time point converted in units of optical time ticks.
util::quantities::intervals::microseconds time_interval
detinfo::timescales::optical_time_ticks optical_time_ticks
GateData_t & gateLevels()
Access to the underlying gate level data (mutable).
detinfo::timescales::optical_tick optical_tick
timescale_traits< OpticalTimeCategory >::tick_interval_t optical_time_ticks
Interface to detinfo::DetectorClocks.
BeamGateMaker(detinfo::DetectorClocksData const &clockData)
Constructor: uses the specified detector clocks service.
Gate make(time_interval length, time_interval delay=DefaultDelay) const
Returns a gate object of the specified duration.
Ticks toOpticalTicks(time_interval time) const
Returns the optical ticks corresponding to a time interval.
static constexpr util::quantities::microsecond DefaultDelay
Value used for default delay.
A value measured in the specified unit.
detinfo::DetectorTimings makeDetectorTimings(detinfo::DetectorClocksData const &detClocks)
A trigger gate data object for optical detector electronics.
detinfo::timescales::optical_time optical_time
timescale_traits< OpticalTimeCategory >::time_point_t optical_time
A point in time on the optical detector electronics time scale.
detinfo::DetectorTimings const fDetTimings
Detector timing provider.
An interval (duration, length, distance) between two quantity points.
BeamGateMaker(detinfo::DetectorTimings const &detTimings)
Constructor: uses a copy of the specified detector timing provider.
optical_tick endTick(time_interval const duration, time_interval const delay=DefaultDelay) const
Time of beam gate closure, in optical ticks.
timescale_traits< OpticalTimeCategory >::tick_t optical_tick
optical_time startTime(time_interval const delay=DefaultDelay) const
Contains all timing reference information for the detector.
optical_time endTime(time_interval const duration, time_interval const delay=DefaultDelay) const
Time of beam gate closure, in optical time scale.
Logical multi-level gate associated to one or more waveforms.
A class exposing an upgraded interface of detinfo::DetectorClocksData.
Data types for detinfo::DetectorTimings.
Simple utility to generate gates around beam time.
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.
optical_tick startTick(time_interval const delay=DefaultDelay) const