1 #ifndef FWCore_Framework_WorkerT_h 2 #define FWCore_Framework_WorkerT_h 23 class ModuleCallingContext;
24 class ModuleDescription;
25 class ProductResolverIndexAndSkipBit;
26 class ProductRegistry;
27 class ThinnedAssociationsHelper;
28 class WaitingTaskWithArenaHolder;
31 class WorkerT :
public Worker {
58 std::unordered_multimap<
std::string, std::tuple<TypeID const*, const char*, edm::ProductResolverIndex>>
const&
129 std::vector<ModuleDescription const*>&
modules,
131 std::map<std::string, ModuleDescription const*>
const& labelsToDesc)
const override {
132 module_->modulesWhoseProductsAreConsumed(modules, preg, labelsToDesc,
module_->moduleDescription().processName());
136 module_->convertCurrentProcessAlias(processName);
142 module_->itemsToGet(branchType, indexes);
146 module_->itemsMayGet(branchType, indexes);
150 return module_->itemsToGetFrom(iType);
157 Principal const& iPrincipal)
const override {
158 module_->preActionBeforeRunEventAsync(iTask, iModuleCallingContext, iPrincipal);
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &) final
bool hasAccumulator() const override
bool wantsStreamLuminosityBlocks() const final
void resetModuleDescription(ModuleDescription const *)
bool implDoEnd(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc) override
std::vector< ConsumesInfo > consumesInfo() const override
SerialTaskQueue * globalRunsQueue() final
roAction_t actions[nactions]
bool implDoBegin(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc) override
SerialTaskQueue * globalLuminosityBlocksQueue() final
void convertCurrentProcessAlias(std::string const &processName) override
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const final
void implEndJob() override
bool wantsGlobalRuns() const final
bool implDoStreamEnd(StreamID id, RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc) override
void itemsMayGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
void setModule(std::shared_ptr< T > iModule)
Types moduleType() const override
edm::propagate_const< std::shared_ptr< T > > module_
void callWorkerStreamBegin(D, StreamID id, RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
void implRespondToOpenInputFile(FileBlock const &fb) override
bool implDoStreamBegin(StreamID id, RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc) override
void callWorkerStreamEnd(D, StreamID id, RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
bool implDoPrePrefetchSelection(StreamID id, EventPrincipal const &ep, ModuleCallingContext const *mcc) override
void preActionBeforeRunEventAsync(WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const override
bool wantsGlobalLuminosityBlocks() const final
void callWorkerEndStream(D, StreamID)
bool hasAcquire() const override
void implBeginStream(StreamID) override
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, std::tuple< TypeID const *, const char *, edm::ProductResolverIndex >> const &iIndicies) final
void modulesWhoseProductsAreConsumed(std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc) const override
TaskQueueAdaptor serializeRunModule() override
std::vector< ProductResolverIndex > const & itemsShouldPutInEvent() const override
DecomposeProduct< arg, typename Div::arg > D
bool implNeedToRunSelection() const final
void implDoAcquire(EventPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *mcc, WaitingTaskWithArenaHolder &holder) final
void implEndStream(StreamID) override
void implBeginJob() override
void implRespondToCloseInputFile(FileBlock const &fb) override
void callWorkerBeginStream(D, StreamID)
void itemsToGetForSelection(std::vector< ProductResolverIndexAndSkipBit > &) const final
bool implDo(EventPrincipal const &ep, EventSetupImpl const &c, ModuleCallingContext const *mcc) override
void implRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &) override
bool wantsStreamRuns() const final
std::string workerType() const override
WorkerT(std::shared_ptr< T >, ModuleDescription const &, ExceptionToActionTable const *actions)
void itemsToGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override