All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MultiChannelOpticalTriggerGate.cxx
Go to the documentation of this file.
1 /**
2  * @file sbnobj/ICARUS/PMT/Trigger/Data/MultiChannelOpticalTriggerGate.cxx
3  * @brief Logical multi-level gate associated to one or more channels.
4  * @author Gianluca Petrillo (petrillo@slac.stanford.edu)
5  * @date April 1, 2019
6  * @see `sbnobj/ICARUS/PMT/Trigger/Data/MultiChannelOpticalTriggerGate.h`
7  *
8  */
9 
10 
11 // class header
13 
14 // ICARUS libraries
16 
17 // C/C++ standard libraries
18 #include <ostream>
19 
20 
21 //------------------------------------------------------------------------------
22 //--- icarus::trigger::MultiChannelOpticalTriggerGate
23 //------------------------------------------------------------------------------
26  (std::vector<icarus::trigger::SingleChannelOpticalTriggerGate> const& gates)
27 {
29  for (auto const& gate: gates) {
30  sum.Sum(gate);
31  } // for
32  return sum;
33 } // icarus::trigger::sumTriggerGates()
34 
35 
36 //------------------------------------------------------------------------------
MultiChannelOpticalTriggerGate sumTriggerGates(std::vector< SingleChannelOpticalTriggerGate > const &gates)
OpticalTriggerGate & Sum(OpticalTriggerGate const &other)
Combines with a gate, keeping the sum of openings of the two.
Logical multi-level gate associated to one or more channels.
Logical multi-level gate associated to one or more channels.
Logical multi-level gate associated to a optical detector channel.