8 #ifndef ICARUSCODE_PMT_TRIGGER_UTILITIES_TRIGGERGATEDATAFORMATTING_H
9 #define ICARUSCODE_PMT_TRIGGER_UTILITIES_TRIGGERGATEDATAFORMATTING_H
20 namespace icarus::trigger {
25 template <
typename Gate>
29 template <
typename Gate>
33 template <
typename Gate>
38 template <
typename Gate>
39 std::ostream&
operator<<
77 template <
typename Tick,
typename TickInterval,
typename ChannelIDType>
91 template <
typename Gate>
92 std::ostream& icarus::trigger::details::operator<<
95 auto const& gate { wrap.gate };
98 if (gate.hasChannel()) {
99 out <<
"channel: " << gate.
channel();
101 else if (gate.hasChannels()) {
102 out << gate.nChannels() <<
" channels: "
105 else out <<
"no channel";
106 out <<
"] " << gate.gateLevels();
115 #endif // ICARUSCODE_PMT_TRIGGER_UTILITIES_TRIGGERGATEDATAFORMATTING_H
ChannelID_t channel() const
Returns the channel associated to the gate data.
Class compacting a list of integers.
IntegerRanges< typename Coll::value_type, CheckGrowing > makeIntegerRanges(Coll const &coll)
Logical multi-level gate associated to one or more readout channels.
GateWrapper(Gate const &) -> GateWrapper< Gate >
Container of a single gate (base class).
A trigger gate data object associated to one or more channels.
auto compactdump(ReadoutTriggerGate< Tick, TickInterval, ChannelIDType > const &gate) -> details::CompactFormatter< ReadoutTriggerGate< Tick, TickInterval, ChannelIDType >>
Manipulator-like function for compact format of trigger gates.