Simple utility to generate gates around beam time. More...
#include <BeamGateMaker.h>
Public Types | |
using | time_interval = detinfo::timescales::time_interval |
using | optical_time = detinfo::timescales::optical_time |
using | optical_tick = detinfo::timescales::optical_tick |
using | optical_time_ticks = detinfo::timescales::optical_time_ticks |
Public Member Functions | |
BeamGateMaker (detinfo::DetectorTimings const &detTimings) | |
Constructor: uses a copy of the specified detector timing provider. More... | |
BeamGateMaker (detinfo::DetectorClocksData const &clockData) | |
Constructor: uses the specified detector clocks service. More... | |
Start and end time | |
optical_time | startTime (time_interval const delay=DefaultDelay) const |
optical_time | endTime (time_interval const duration, time_interval const delay=DefaultDelay) const |
Time of beam gate closure, in optical time scale. More... | |
optical_tick | startTick (time_interval const delay=DefaultDelay) const |
optical_tick | endTick (time_interval const duration, time_interval const delay=DefaultDelay) const |
Time of beam gate closure, in optical ticks. More... | |
template<typename Gate = icarus::trigger::OpticalTriggerGate> | |
Gate | make (time_interval length, time_interval delay=DefaultDelay) const |
Returns a gate object of the specified duration. More... | |
template<typename Gate = icarus::trigger::OpticalTriggerGate> | |
Gate | operator() (time_interval length, time_interval delay=DefaultDelay) const |
Private Attributes | |
detinfo::DetectorTimings const | fDetTimings |
Detector timing provider. More... | |
Static Private Attributes | |
static constexpr util::quantities::microsecond | DefaultDelay { 0.0 } |
Value used for default delay. More... | |
Simple utility to generate gates around beam time.
Example: to create an object describing a beam gate of 10 s, run:
The time of the gate is in optical detector electronics ticks.
Definition at line 49 of file BeamGateMaker.h.
Definition at line 61 of file BeamGateMaker.h.
Definition at line 60 of file BeamGateMaker.h.
Definition at line 62 of file BeamGateMaker.h.
Definition at line 59 of file BeamGateMaker.h.
|
inline |
Constructor: uses a copy of the specified detector timing provider.
Definition at line 66 of file BeamGateMaker.h.
|
inline |
Constructor: uses the specified detector clocks service.
Definition at line 71 of file BeamGateMaker.h.
|
inline |
Time of beam gate closure, in optical ticks.
Definition at line 96 of file BeamGateMaker.h.
|
inline |
Time of beam gate closure, in optical time scale.
Definition at line 85 of file BeamGateMaker.h.
|
inline |
Returns a gate object of the specified duration.
Gate | type of gate object to be returned (default: icarus::trigger::OpticalTriggerGate ) |
length | duration of the gate to be open |
delay | time from beam gate time when this gate opens (default: 0 ) |
Gate
object representing a gate opened at beam gate timeThe returned object represents a gate opening at beam gate time (with an optional delay
) for the specified duration. The time of the gate is in optical ticks.
Definition at line 120 of file BeamGateMaker.h.
|
inline |
Definition at line 131 of file BeamGateMaker.h.
|
inline |
Time of beam gate opening, in optical ticks.
delay | opening delay after the nominal beam gate time |
Definition at line 91 of file BeamGateMaker.h.
|
inline |
Time of beam gate opening, in optical time scale.
delay | opening delay after the nominal beam gate time |
Definition at line 80 of file BeamGateMaker.h.
|
staticprivate |
Value used for default delay.
Definition at line 54 of file BeamGateMaker.h.
|
private |
Detector timing provider.
Definition at line 51 of file BeamGateMaker.h.