10 #ifndef SBNOBJ_ICARUS_PMT_TRIGGER_DATA_MULTICHANNELOPTICALTRIGGERGATE_H
11 #define SBNOBJ_ICARUS_PMT_TRIGGER_DATA_MULTICHANNELOPTICALTRIGGERGATE_H
26 namespace icarus::trigger {
28 class SingleChannelOpticalTriggerGate;
35 class MultiChannelOpticalTriggerGate;
38 (std::vector<SingleChannelOpticalTriggerGate>
const& gates);
79 #endif // SBNOBJ_ICARUS_PMT_TRIGGER_DATA_MULTICHANNELOPTICALTRIGGERGATE_H
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
MultiChannelOpticalTriggerGate sumTriggerGates(std::vector< SingleChannelOpticalTriggerGate > const &gates)
MultiChannelOpticalTriggerGate & operator=(OpticalTriggerGate const &gate)
A trigger gate data object for optical detector electronics.
OpticalTriggerGate & operator=(OpticalTriggerGate const &)=default
MultiChannelOpticalTriggerGate(OpticalTriggerGate const &gate)
ChannelID_t channel() const =delete
Do not support single-channel interface.
Logical multi-level gate associated to one or more waveforms.
Logical multi-level gate associated to one or more channels.
GateData_t::ChannelID_t ChannelID_t
Type of channel identifier.
MultiChannelOpticalTriggerGate(OpticalTriggerGate &&gate)
friend std::ostream & operator(std::ostream &, triggergatedata_t const &)
OpticalTriggerGate()=default
Constructor: a closed gate with no associated waveform (add() them).
Logical multi-level gate associated to a optical detector channel.