1 #ifndef art_Framework_Core_detail_Analyzer_h 2 #define art_Framework_Core_detail_Analyzer_h 17 #include "cetlib/exempt_ptr.h" 30 class SharedResources;
36 template <
typename UserConfig,
typename UserKeysToIgnore =
void>
74 std::string
const& prefix)
const 76 fullConfig_.print_allowed_configuration(os, prefix);
80 cet::exempt_ptr<fhicl::detail::ParameterBase const>
92 template <typename Config>
94 :
Observer{config.eoFragment().selectEvents(), config.get_PSet()}
109 std::atomic<std::size_t>& counts_run,
110 std::atomic<std::size_t>& counts_passed,
111 std::atomic<std::size_t>& counts_failed);
133 template <
typename T>
135 operator<<(std::ostream& os, Analyzer::Table<T>
const& t)
137 std::ostringstream config;
138 t.print_allowed_configuration(config, std::string(3,
' '));
139 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)
std::conditional_t< std::is_void< UserKeysToIgnore >::value, ModuleConfig::IgnoreKeys, fhicl::KeysToIgnore< ModuleConfig::IgnoreKeys, UserKeysToIgnore >> KeysToIgnore_t
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
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