13 #include "canvas/Persistency/Provenance/ProcessConfiguration.h"
14 #include "canvas/Persistency/Provenance/ProcessHistory.h"
15 #include "fhiclcpp/ParameterSet.h"
17 #include "art/Framework/Services/Registry/ServiceHandle.h"
18 #include "art/Framework/Core/EDProducer.h"
19 #include "art/Framework/Core/ModuleMacros.h"
20 #include "art/Framework/Core/FileBlock.h"
21 #include "art/Framework/Principal/Run.h"
22 #include "messagefacility/MessageLogger/MessageLogger.h"
23 #include "fhiclcpp/types/Atom.h"
24 #include "cetlib_except/exception.h"
35 namespace icarus {
class TriggerConfigurationExtraction; }
104 fhicl::Comment(
"the name of the type of trigger fragment from DAQ"),
110 fhicl::Comment(
"print in full each new Trigger configuration read"),
116 fhicl::Comment(
"category tag used for messages to message facility"),
117 "TriggerConfigurationExtraction"
130 virtual void beginRun(art::Run& run)
override;
149 : art::EDProducer(config)
150 , fTriggerFragmentType(config().TriggerFragmentType())
157 produces<icarus::TriggerConfiguration, art::InRun>();
170 mf::LogInfo(
fLogCategory) <<
"Trigger readout:" << config;
175 run.put(std::make_unique<icarus::TriggerConfiguration>(
fTriggerConfig.value()));
184 if (!fTriggerConfig.has_value() || (*fTriggerConfig == config))
return true;
187 if (fRequireConsistency) {
188 throw cet::exception(
"icarus::TriggerConfigurationExtraction")
189 <<
"Configuration from " << srcName
190 <<
" is incompatible with the previously found configuration.\n"
195 <<
"Configuration from " << srcName
196 <<
" is incompatible with the previously found configuration.\n"
198 if (fVerbose) mf::LogVerbatim(
fLogCategory) <<
"Trigger readout:" << config;
Information from the configuration of the ICARUS trigger readout.
icarus::TriggerConfiguration extractTriggerReadoutConfiguration(std::string const &srcFileName, icarus::TriggerConfigurationExtractor extractor)
BEGIN_PROLOG vertical distance to the surface Name
std::string to_string(WindowPattern const &pattern)