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 {
60 std::unordered_multimap<
std::string, std::tuple<TypeID const*, const char*, edm::ProductResolverIndex>>
const& iIndicies)
override;
130 std::map<std::string, ModuleDescription const*>
const& labelsToDesc)
const override {
131 module_->modulesWhoseProductsAreConsumed(modules, preg, labelsToDesc,
module_->moduleDescription().processName());
135 module_->convertCurrentProcessAlias(processName);
139 return module_->consumesInfo();
143 module_->itemsToGet(branchType, indexes);
147 module_->itemsMayGet(branchType, indexes);
155 module_->preActionBeforeRunEventAsync(iTask,iModuleCallingContext,iPrincipal);
163 return module_->hasAccumulator();
bool implDoStreamEnd(StreamID id, RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) override
bool hasAccumulator() const override
bool wantsStreamLuminosityBlocks() const final
void resetModuleDescription(ModuleDescription const *)
std::vector< ConsumesInfo > consumesInfo() const override
SerialTaskQueue * globalRunsQueue() final
roAction_t actions[nactions]
void callWorkerStreamEnd(D, StreamID id, RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc)
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
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &) override
void itemsMayGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
void setModule(std::shared_ptr< T > iModule)
bool implDoStreamBegin(StreamID id, RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) override
bool implDo(EventPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *mcc) override
Types moduleType() const override
edm::propagate_const< std::shared_ptr< T > > module_
void implRespondToOpenInputFile(FileBlock const &fb) override
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 modulesWhoseProductsAreConsumed(std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc) const override
TaskQueueAdaptor serializeRunModule() override
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, std::tuple< TypeID const *, const char *, edm::ProductResolverIndex >> const &iIndicies) override
void callWorkerStreamBegin(D, StreamID id, RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc)
bool implDoBegin(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) override
std::vector< ProductResolverIndex > const & itemsShouldPutInEvent() const override
DecomposeProduct< arg, typename Div::arg > D
bool implNeedToRunSelection() const final
void implEndStream(StreamID) override
void implBeginJob() override
void implRespondToCloseInputFile(FileBlock const &fb) override
void callWorkerBeginStream(D, StreamID)
void implDoAcquire(EventPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *mcc, WaitingTaskWithArenaHolder &holder) final
void itemsToGetForSelection(std::vector< ProductResolverIndexAndSkipBit > &) const final
void implRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &) override
bool implDoEnd(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *mcc) 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
def branchType(schema, name)