1 #ifndef art_Framework_Core_WorkerT_h 2 #define art_Framework_Core_WorkerT_h 16 #include <type_traits> 80 module_->registerProducts(wp.producedProducts_,
md);
81 if constexpr (std::is_base_of_v<detail::SharedModule, T>) {
82 wp.resources_.registerSharedResources(
module_->sharedResources());
99 hep::concurrency::SerialTaskQueueChain*
102 if constexpr (std::is_base_of_v<detail::SharedModule, T>) {
103 return module_->serialTaskQueueChain();
108 template <
typename T>
112 module_->doBeginJob(resources);
115 template <
typename T>
122 template <
typename T>
126 module_->doRespondToOpenInputFile(fb);
129 template <
typename T>
133 module_->doRespondToCloseInputFile(fb);
136 template <
typename T>
140 module_->doRespondToOpenOutputFiles(fb);
143 template <
typename T>
147 module_->doRespondToCloseOutputFiles(fb);
150 template <
typename T>
154 return module_->doBeginRun(rp, mc);
157 template <
typename T>
161 return module_->doEndRun(rp, mc);
164 template <
typename T>
168 return module_->doBeginSubRun(srp, mc);
171 template <
typename T>
175 return module_->doEndSubRun(srp, mc);
178 template <
typename T>
void implRespondToCloseOutputFiles(FileBlock const &) override
std::shared_ptr< T > module_
static constexpr ScheduleID first()
std::string workerType() const override
void implRespondToOpenOutputFiles(FileBlock const &) override
hep::concurrency::SerialTaskQueueChain * implSerialTaskQueueChain() const override
void implRespondToOpenInputFile(FileBlock const &) override
void implBeginJob(detail::SharedResources const &) override
WorkerT(std::shared_ptr< T >, ModuleDescription const &, WorkerParams const &)
std::atomic< std::size_t > counts_run_
std::atomic< std::size_t > counts_passed_
void implEndJob() override
std::atomic< std::size_t > counts_failed_
bool implDoProcess(EventPrincipal &, ModuleContext const &) override
bool implDoBegin(RunPrincipal &, ModuleContext const &) override
void implRespondToCloseInputFile(FileBlock const &) override
bool implDoEnd(RunPrincipal &, ModuleContext const &) override