1 #ifndef FWCore_Framework_limited_EDProducerBase_h 2 #define FWCore_Framework_limited_EDProducerBase_h 35 class ModuleCallingContext;
36 class PreallocationConfiguration;
40 class ProductRegistry;
41 class ThinnedAssociationsHelper;
45 template<
typename T>
class ModuleHolderT;
70 virtual bool wantsGlobalRuns()
const =0;
71 virtual bool wantsGlobalLuminosityBlocks()
const =0;
72 virtual bool wantsStreamRuns()
const =0;
73 virtual bool wantsStreamLuminosityBlocks()
const =0;
98 void doStreamBeginLuminosityBlock(
StreamID id,
102 void doStreamEndLuminosityBlock(
StreamID id,
118 void doRespondToOpenInputFile(
FileBlock const&
fb);
119 void doRespondToCloseInputFile(
FileBlock const& fb);
124 registerProducts(module, reg, moduleDescription_);
135 virtual void preallocStreams(
unsigned int);
137 virtual void doBeginStream_(
StreamID id);
138 virtual void doEndStream_(
StreamID id);
146 virtual void doBeginRun_(
Run const& rp,
EventSetup const& c);
147 virtual void doBeginRunSummary_(
Run const& rp,
EventSetup const& c);
148 virtual void doEndRunSummary_(
Run const& rp,
EventSetup const& c);
155 virtual void doBeginRunProduce_(
Run& rp,
EventSetup const& c);
163 moduleDescription_ = md;
void registerProductsAndCallbacks(EDProducerBase *module, ProductRegistry *reg)
void preActionBeforeRunEventAsync(WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
EDProducerBase ModuleType
ModuleDescription const & moduleDescription() const
void setModuleDescription(ModuleDescription const &md)
unsigned int concurrencyLimit() const
ModuleDescription moduleDescription_
std::string workerType() const
std::unique_ptr< ParentageID[]> previousParentageIds_
LimitedTaskQueue & queue()
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
std::unique_ptr< std::vector< BranchID >[]> previousParentages_