Go to the documentation of this file. 1 #ifndef FWCore_Framework_WorkerT_h
2 #define FWCore_Framework_WorkerT_h
24 class ModuleCallingContext;
25 class ModuleProcessName;
26 class ProductResolverIndexAndSkipBit;
27 class ThinnedAssociationsHelper;
28 class WaitingTaskWithArenaHolder;
31 class WorkerT :
public Worker {
117 module_->modulesWhoseProductsAreConsumed(
118 modules, modulesInPreviousProcesses, preg, labelsToDesc,
module_->moduleDescription().processName());
128 module_->itemsToGet(branchType, indexes);
132 module_->itemsMayGet(branchType, indexes);
136 return module_->itemsToGetFrom(iType);
140 return module_->esGetTokenIndicesVector(iTransition);
143 return module_->esGetTokenRecordIndicesVector(iTransition);
150 Principal const& iPrincipal)
const override {
151 module_->preActionBeforeRunEventAsync(iTask, iModuleCallingContext, iPrincipal);
unsigned int ProductResolverIndex
SerialTaskQueue * globalLuminosityBlocksQueue() final
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &) final
bool implDo(EventTransitionInfo const &, ModuleCallingContext const *) override
bool implDoBegin(RunTransitionInfo const &, ModuleCallingContext const *) override
SerialTaskQueue * globalRunsQueue() final
std::vector< ESProxyIndex > const & esItemsToGetFrom(Transition iTransition) const override
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const final
void resetModuleDescription(ModuleDescription const *)
void convertCurrentProcessAlias(std::string const &processName) override
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void callWorkerStreamEnd(D, StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
std::string workerType() const override
void itemsToGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
bool wantsInputProcessBlocks() const final
bool implDoAccessInputProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override
std::vector< ESRecordIndex > const & esRecordsToGetFrom(Transition iTransition) const override
bool hasAcquire() const override
void setModule(std::shared_ptr< T > iModule)
bool implNeedToRunSelection() const final
bool wantsStreamLuminosityBlocks() const final
std::vector< ConsumesInfo > consumesInfo() const override
edm::propagate_const< std::shared_ptr< T > > module_
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, std::tuple< TypeID const *, const char *, edm::ProductResolverIndex >> const &iIndicies) final
bool implDoPrePrefetchSelection(StreamID, EventPrincipal const &, ModuleCallingContext const *) override
bool wantsGlobalRuns() const final
Types moduleType() const override
bool implDoEnd(RunTransitionInfo const &, ModuleCallingContext const *) override
void implRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &) override
void implEndStream(StreamID) override
bool implDoStreamBegin(StreamID, RunTransitionInfo const &, ModuleCallingContext const *) override
std::vector< ProductResolverIndex > const & itemsShouldPutInEvent() const override
bool wantsProcessBlocks() const final
void callWorkerStreamBegin(D, StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
void callWorkerBeginStream(D, StreamID)
bool implDoStreamEnd(StreamID, RunTransitionInfo const &, ModuleCallingContext const *) override
def template(fileName, svg, replaceme="REPLACEME")
void doClearModule() override
bool implDoBeginProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override
bool wantsStreamRuns() const final
void itemsToGetForSelection(std::vector< ProductResolverIndexAndSkipBit > &) const final
void implBeginJob() override
void implRespondToOpenInputFile(FileBlock const &fb) override
bool wantsGlobalLuminosityBlocks() const final
DecomposeProduct< arg, typename Div::arg > D
void preActionBeforeRunEventAsync(WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const override
TaskQueueAdaptor serializeRunModule() override
void callWorkerEndStream(D, StreamID)
void modulesWhoseProductsAreConsumed(std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modules, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc) const override
void implBeginStream(StreamID) override
bool hasAccumulator() const override
roAction_t actions[nactions]
void implDoAcquire(EventTransitionInfo const &, ModuleCallingContext const *, WaitingTaskWithArenaHolder &) final
void itemsMayGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
void implRespondToCloseInputFile(FileBlock const &fb) override
WorkerT(std::shared_ptr< T >, ModuleDescription const &, ExceptionToActionTable const *actions)
void implEndJob() override
bool implDoEndProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override