Utilities for the conversion of trigger gate data formats. More...
#include "icaruscode/PMT/Trigger/Utilities/TrackedTriggerGate.h"
#include "sbnobj/ICARUS/PMT/Trigger/Data/OpticalTriggerGate.h"
#include <iterator>
Go to the source code of this file.
Namespaces | |
icarus::trigger | |
icarus::trigger::GateOps | |
Gate operations expressed as generic functions. | |
Functions | |
Gate operations | |
Currently the following operations are supported:
Operations on more than one gate can take a sequence (begin and end iterators), a collection or an arbitrary number of gates. | |
template<typename GateObj > | |
GateObj | icarus::trigger::discriminate (GateObj const &gate, typename GateObj::OpeningCount_t threshold=1U, typename GateObj::OpeningCount_t pass=1U, typename GateObj::OpeningCount_t fail=0U) |
Returns a discriminated version of gate . More... | |
template<typename BIter , typename EIter > | |
auto | icarus::trigger::sumGatesSequence (BIter const begin, EIter const end) |
Sums a sequence of gates. More... | |
template<typename GateColl > | |
auto | icarus::trigger::sumGates (GateColl const &gates) |
Sums all the gates in a collection. More... | |
template<typename AGate , typename BGate , typename... OTrigGates> | |
auto | icarus::trigger::sumGates (AGate A, BGate const &B, OTrigGates const &...others) |
Sums all the specified gates. More... | |
template<typename BIter , typename EIter > | |
auto | icarus::trigger::mulGatesSequence (BIter const begin, EIter const end) |
Multiplies a sequence of gates. More... | |
template<typename GateColl > | |
auto | icarus::trigger::mulGates (GateColl const &gates) |
Multiplies all the gates in a collection. More... | |
template<typename AGate , typename BGate , typename... OTrigGates> | |
auto | icarus::trigger::mulGates (AGate A, BGate const &B, OTrigGates const &...others) |
Multiplies all the specified gates. More... | |
template<typename BIter , typename EIter > | |
auto | icarus::trigger::maxGatesSequence (BIter const begin, EIter const end) |
Computes the gate with the maximum opening of a sequence of gates. More... | |
template<typename GateColl > | |
auto | icarus::trigger::maxGates (GateColl const &gates) |
Computes the gate with the maximum opening of gates from collection. More... | |
template<typename AGate , typename BGate , typename... OTrigGates> | |
auto | icarus::trigger::maxGates (AGate A, BGate const &B, OTrigGates const &...others) |
Computes the gate with the maximum opening of the specified gates. More... | |
template<typename BIter , typename EIter > | |
auto | icarus::trigger::minGatesSequence (BIter const begin, EIter const end) |
Computes the gate with the minimum opening of a sequence of gates. More... | |
template<typename GateColl > | |
auto | icarus::trigger::minGates (GateColl const &gates) |
Computes the gate with the minimum opening of gates from collection. More... | |
template<typename AGate , typename BGate , typename... OTrigGates> | |
auto | icarus::trigger::minGates (AGate A, BGate const &B, OTrigGates const &...others) |
Computes the gate with the minimum opening of the specified gates. More... | |
template<typename Op , typename AGate , typename BGate , typename... OGates> | |
AGate | icarus::trigger::OpGates (Op op, AGate A, BGate const &B, OGates const &...others) |
Applies an operation to two gates. More... | |
template<typename Op , typename GateColl > | |
auto | icarus::trigger::OpGateColl (Op op, GateColl const &gates) |
Computes the result of an operation on all gates from collection. More... | |
template<typename Op , typename BIter , typename EIter > | |
auto | icarus::trigger::OpGatesSequence (Op op, BIter const begin, EIter const end) |
Computes the result of an operation on all gates in the sequence. More... | |
Variables | |
Binary gate operations. | |
The return gate is the same type as the first operand. | |
constexpr auto | icarus::trigger::GateOps::Min = [](auto A, auto const& B){ A.Min(B); return A; } |
constexpr auto | icarus::trigger::GateOps::Max = [](auto A, auto const& B){ A.Max(B); return A; } |
constexpr auto | icarus::trigger::GateOps::Sum = [](auto A, auto const& B){ A.Sum(B); return A; } |
constexpr auto | icarus::trigger::GateOps::Mul = [](auto A, auto const& B){ A.Mul(B); return A; } |
Utilities for the conversion of trigger gate data formats.
This library is header-only.
Definition in file TriggerGateOperations.h.