Class to extract and verify a window topology from trigger gates. More...
#include <WindowTopologyAlg.h>
Public Types | |
using | TriggerGates_t = icarus::trigger::WindowTopologyAlg::TriggerGates_t |
Type of sets of trigger gates. More... | |
using | TriggerGatesPerCryostat_t = icarus::trigger::WindowTopologyAlg::TriggerGatesPerCryostat_t |
Type of sets of trigger gates, grouped by cryostat. More... | |
Public Member Functions | |
WindowTopologyManager (geo::GeometryCore const &geom, std::string const &logCategory="WindowTopologyManager") | |
Constructor. More... | |
template<typename Gates > | |
std::string | setOrVerify (Gates const &gates) |
Extracts topology or verifies it against gates . More... | |
template<typename Gates > | |
bool | operator() (Gates const &gates) |
Extracts topology or verifies it against gates . More... | |
WindowChannelMap const & | operator* () const |
WindowChannelMap const * | operator-> () const |
Private Member Functions | |
template<typename Gates > | |
void | extractTopology (Gates const &gates) |
Helper: creates the topology from gates . More... | |
Private Attributes | |
WindowTopologyVerification | fVerify |
Verification algorithm; holds the current topology information. More... | |
geo::GeometryCore const *const | fGeom |
Geometry service provider. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from icarus::ns::util::mfLoggingClass | |
mfLoggingClass (std::string const &logCategory) | |
Constructor: initializes with the specified log category. More... | |
std::string | logCategory () const |
Returns the logging category string for this object. More... | |
mfLoggingClass const & | loggingClass () const |
Returns this object (as a logging class object). More... | |
mf::LogError | mfLogError (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogError() stream for logging. More... | |
mf::LogWarning | mfLogWarning (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogWarning() stream for logging. More... | |
mf::LogProblem | mfLogProblem (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogProblem() stream for logging. More... | |
mf::LogInfo | mfLogInfo (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogInfo() stream for logging. More... | |
mf::LogVerbatim | mfLogVerbatim (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogVerbatim() stream for logging. More... | |
mf::LogDebug | mfLogDebug (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogDebug() stream for logging. More... | |
mf::LogTrace | mfLogTrace (std::string const &file={}, int const lineNumber=0) const |
Returns a mf::LogTrace() stream for logging. More... | |
Class to extract and verify a window topology from trigger gates.
This class is meant to provide a convenient interface for the creation (WindowTopologyAlg
) and following verification (WindowTopologyVerification
) of a window topology. The first time the class is given a trigger gate set, it extracts the topology from it. The following times, it will verify that the gates match that topology, and throw an exception otherwise.
The class can be reset to restart the cycle, and the topology can be obtained directly with the operator->
.
The main methods support different types of input, collectively known as Gates
. The complete set of supported input depends on what is supported by the underlying classes. Currently, supported input includes (flat) collections of gates and collections of gates grouped by cryostat.
Definition at line 333 of file WindowTopologyAlg.h.
using icarus::trigger::WindowTopologyManager::TriggerGates_t = icarus::trigger::WindowTopologyAlg::TriggerGates_t |
Type of sets of trigger gates.
Definition at line 345 of file WindowTopologyAlg.h.
using icarus::trigger::WindowTopologyManager::TriggerGatesPerCryostat_t = icarus::trigger::WindowTopologyAlg::TriggerGatesPerCryostat_t |
Type of sets of trigger gates, grouped by cryostat.
Definition at line 349 of file WindowTopologyAlg.h.
|
inline |
Constructor.
topology | the window topology to be verified against |
logCategory | category tag for messages from this algorithm |
Definition at line 461 of file WindowTopologyAlg.h.
|
private |
Helper: creates the topology from gates
.
Definition at line 541 of file WindowTopologyAlg.h.
bool icarus::trigger::WindowTopologyManager::operator() | ( | Gates const & | gates | ) |
Extracts topology or verifies it against gates
.
Gates | type of gate collection |
gates | the set of gates to match to the topology |
cet::exception | (category: WindowTopologyVerification ) if verification fails |
Definition at line 527 of file WindowTopologyAlg.h.
|
inline |
Access to the stored topology.
std::bad_optional_access | if no topology has been set |
Definition at line 472 of file WindowTopologyAlg.h.
|
inline |
Access to the stored topology.
std::bad_optional_access | if no topology has been set |
Definition at line 478 of file WindowTopologyAlg.h.
std::string icarus::trigger::WindowTopologyManager::setOrVerify | ( | Gates const & | gates | ) |
Extracts topology or verifies it against gates
.
Gates | type of gate collection |
gates | the set of gates to match to the topology |
Definition at line 513 of file WindowTopologyAlg.h.
|
private |
Geometry service provider.
Definition at line 340 of file WindowTopologyAlg.h.
|
private |
Verification algorithm; holds the current topology information.
Definition at line 338 of file WindowTopologyAlg.h.