1 #ifndef art_Framework_Core_detail_Analyzer_h 2 #define art_Framework_Core_detail_Analyzer_h 29 class SharedResources;
35 template <
typename UserConfig,
typename UserKeysToIgnore =
void>
77 fullConfig_.print_allowed_configuration(os, prefix);
110 std::atomic<std::size_t>& counts_run,
111 std::atomic<std::size_t>& counts_passed,
112 std::atomic<std::size_t>& counts_failed);
134 template <
typename T>
136 operator<<(std::ostream& os, Analyzer::Table<T>
const&
t)
138 std::ostringstream
config;
139 t.print_allowed_configuration(config,
std::string(3,
' '));
140 return os << config.str();
static fhicl::Name plugin_type()
void doRespondToOpenOutputFiles(FileBlock const &fb)
fhicl::TableFragment< Observer::EOConfig > eoConfig
virtual void endSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
auto const & eoFragment() const
virtual void beginJobWithFrame(ProcessingFrame const &)=0
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
void print_allowed_configuration(std::ostream &os, std::string const &prefix) const
virtual void endRunWithFrame(Run const &, ProcessingFrame const &)=0
virtual void setupQueues(SharedResources const &)=0
void doBeginJob(SharedResources const &resources)
bool doBeginRun(RunPrincipal &rp, ModuleContext const &mc)
auto const & operator()() const
void doRespondToOpenInputFile(FileBlock const &fb)
Table(fhicl::ParameterSet const &pset)
fhicl::Atom< std::string > module_type
cet::exempt_ptr< fhicl::detail::ParameterBase const > get_parameter_base() const override
Table(fhicl::Name &&name)
virtual void endJobWithFrame(ProcessingFrame const &)=0
virtual void beginSubRunWithFrame(SubRun const &, ProcessingFrame const &)=0
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
fhicl::Table< FullConfig< UserConfig >, KeysToIgnore_t > fullConfig_
bool doBeginSubRun(SubRunPrincipal &srp, ModuleContext const &mc)
auto const & get_PSet() const
virtual ~Analyzer() noexcept
std::conditional_t< std::is_void< UserKeysToIgnore >::value, detail::ModuleConfig::IgnoreKeys, fhicl::KeysToIgnore< detail::ModuleConfig::IgnoreKeys, UserKeysToIgnore >> KeysToIgnore_t
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
bool doEndRun(RunPrincipal &rp, ModuleContext const &mc)
fhicl::TableFragment< T > user
void doRespondToCloseInputFile(FileBlock const &fb)
bool doEvent(EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
void doRespondToCloseOutputFiles(FileBlock const &fb)
virtual void beginRunWithFrame(Run const &, ProcessingFrame const &)=0
bool doEndSubRun(SubRunPrincipal &srp, ModuleContext const &mc)
virtual void analyzeWithFrame(Event const &, ProcessingFrame const &)=0