1 #ifndef art_Framework_Core_WorkerT_h 2 #define art_Framework_Core_WorkerT_h 11 #include "cetlib/exempt_ptr.h" 14 #include <type_traits> 54 if constexpr (std::is_base_of_v<Modifier, T>) {
58 module_->registerProducts(wp.producedProducts_);
62 module_->fillProductDescriptions();
67 if constexpr (std::is_base_of_v<detail::SharedModule, T>) {
69 wp.resources_.registerSharedResources(
module_->sharedResources());
75 hep::concurrency::SerialTaskQueueChain*
78 if constexpr (std::is_base_of_v<detail::SharedModule, T>) {
79 return module_->serialTaskQueueChain();
103 module_->doRespondToOpenInputFile(fb);
106 template <
typename T>
110 module_->doRespondToCloseInputFile(fb);
113 template <
typename T>
117 module_->doRespondToOpenOutputFiles(fb);
120 template <
typename T>
124 module_->doRespondToCloseOutputFiles(fb);
127 template <
typename T>
134 template <
typename T>
141 template <
typename T>
145 module_->doBeginSubRun(srp, mc);
148 template <
typename T>
155 template <
typename T>
hep::concurrency::SerialTaskQueueChain * doSerialTaskQueueChain() const override
void doBegin(RunPrincipal &, ModuleContext const &) override
static constexpr ScheduleID first()
void doRespondToOpenInputFile(FileBlock const &) override
void doBeginJob(detail::SharedResources const &) override
bool doProcess(EventPrincipal &, ModuleContext const &) override
WorkerT(T *, WorkerParams const &)
std::atomic< std::size_t > counts_run_
void doEnd(RunPrincipal &, ModuleContext const &) override
void doRespondToOpenOutputFiles(FileBlock const &) override
cet::exempt_ptr< T > module_
std::atomic< std::size_t > counts_passed_
void doRespondToCloseOutputFiles(FileBlock const &) override
std::atomic< std::size_t > counts_failed_
void doRespondToCloseInputFile(FileBlock const &) override