1 #ifndef FWCore_Framework_WorkerT_h
2 #define FWCore_Framework_WorkerT_h
25 class ModuleCallingContext;
26 class ModuleProcessName;
27 class ProductResolverIndexAndSkipBit;
28 class ThinnedAssociationsHelper;
29 class WaitingTaskWithArenaHolder;
32 class WorkerT :
public Worker {
121 std::map<std::
string,
ModuleDescription const*> const& labelsToDesc)
const override {
122 module_->modulesWhoseProductsAreConsumed(
123 modules, modulesInPreviousProcesses, preg, labelsToDesc,
module_->moduleDescription().processName());
127 module_->convertCurrentProcessAlias(processName);
133 module_->itemsToGet(branchType, indexes);
137 module_->itemsMayGet(branchType, indexes);
141 return module_->itemsToGetFrom(iType);
145 return module_->esGetTokenIndicesVector(iTransition);
148 return module_->esGetTokenRecordIndicesVector(iTransition);
155 Principal const& iPrincipal)
const override {
156 module_->preActionBeforeRunEventAsync(iTask, iModuleCallingContext, iPrincipal);
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &) final
void itemsToGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
void resetModuleDescription(ModuleDescription const *)
bool hasAcquire() const override
bool hasAccumulator() const override
bool implDoEndProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override
SerialTaskQueue * globalRunsQueue() final
unsigned int ProductResolverIndex
SerialTaskQueue * globalLuminosityBlocksQueue() final
void convertCurrentProcessAlias(std::string const &processName) override
void implEndJob() override
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
std::string workerType() const override
std::vector< ConsumesInfo > consumesInfo() const override
void callWorkerStreamEnd(D, StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
bool wantsStreamLuminosityBlocks() const final
void setModule(std::shared_ptr< T > iModule)
std::vector< ESRecordIndex > const & esRecordsToGetFrom(Transition iTransition) const override
bool implNeedToRunSelection() const final
bool implDoStreamEnd(StreamID, RunTransitionInfo const &, ModuleCallingContext const *) override
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
bool implDoPrePrefetchSelection(StreamID, EventPrincipal const &, ModuleCallingContext const *) override
bool implDoAccessInputProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override
void callWorkerStreamBegin(D, StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
edm::propagate_const< std::shared_ptr< T > > module_
void itemsToGetForSelection(std::vector< ProductResolverIndexAndSkipBit > &) const final
void implRespondToOpenInputFile(FileBlock const &fb) override
void implRespondToCloseOutputFile() override
std::vector< ESProxyIndex > const & esItemsToGetFrom(Transition iTransition) const override
Types moduleType() const override
void callWorkerEndStream(D, StreamID)
#define override(base_class)
void implBeginStream(StreamID) override
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, std::tuple< TypeID const *, const char *, edm::ProductResolverIndex >> const &iIndicies) final
bool implDoStreamBegin(StreamID, RunTransitionInfo const &, ModuleCallingContext const *) override
bool wantsInputProcessBlocks() const final
TaskQueueAdaptor serializeRunModule() override
bool wantsGlobalLuminosityBlocks() const final
bool implDoBeginProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *) override
DecomposeProduct< arg, typename Div::arg > D
void implEndStream(StreamID) override
void implBeginJob() override
bool wantsProcessBlocks() const final
void implRespondToCloseInputFile(FileBlock const &fb) override
bool implDoEnd(RunTransitionInfo const &, ModuleCallingContext const *) override
void callWorkerBeginStream(D, StreamID)
void implDoAcquire(EventTransitionInfo const &, ModuleCallingContext const *, WaitingTaskWithArenaHolder &) final
void doClearModule() override
bool wantsGlobalRuns() const final
bool wantsStreamRuns() const final
void itemsMayGet(BranchType branchType, std::vector< ProductResolverIndexAndSkipBit > &indexes) const override
void preActionBeforeRunEventAsync(WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const override
void implRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &) override
std::vector< ProductResolverIndex > const & itemsShouldPutInEvent() const override
bool implDoBegin(RunTransitionInfo const &, ModuleCallingContext const *) override
WorkerT(std::shared_ptr< T >, ModuleDescription const &, ExceptionToActionTable const *actions)
void selectInputProcessBlocks(ProductRegistry const &, ProcessBlockHelperBase const &) final
ConcurrencyTypes moduleConcurrencyType() const override
bool implDo(EventTransitionInfo const &, ModuleCallingContext const *) override
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType iType) const final