1 #ifndef FWCore_Framework_stream_EDAnalyzerAdaptorBase_h 2 #define FWCore_Framework_stream_EDAnalyzerAdaptorBase_h 41 class ModuleCallingContext;
42 class ProductResolverIndexHelper;
44 class PreallocationConfiguration;
45 class ProductResolverIndexAndSkipBit;
47 class ProductRegistry;
48 class ThinnedAssociationsHelper;
52 template<
typename T>
class ModuleHolderT;
75 virtual bool wantsGlobalRuns()
const = 0;
76 virtual bool wantsGlobalLuminosityBlocks()
const = 0;
85 for(
auto&
m: m_streamModules) {
87 setModuleDescriptionPtr(
m);
92 void itemsToGet(
BranchType, std::vector<ProductResolverIndexAndSkipBit>&)
const;
93 void itemsMayGet(
BranchType, std::vector<ProductResolverIndexAndSkipBit>&)
const;
94 std::vector<ProductResolverIndexAndSkipBit>
const& itemsToGetFrom(
BranchType)
const;
98 bool iPrefetchMayGet);
102 void modulesWhoseProductsAreConsumed(std::vector<ModuleDescription const*>&
modules,
104 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
107 void convertCurrentProcessAlias(
std::string const& processName);
109 std::vector<ConsumesInfo> consumesInfo()
const;
125 virtual void setupStreamModules() = 0;
127 virtual void doEndJob() = 0;
142 void doStreamBeginLuminosityBlock(
StreamID id,
147 void doStreamEndLuminosityBlock(
StreamID id,
163 void doRespondToOpenInputFile(
FileBlock const&
fb);
164 void doRespondToCloseInputFile(
FileBlock const& fb);
174 moduleDescription_ = md;
void registerProductsAndCallbacks(ProductRegistry *iReg) override
std::vector< EDAnalyzerBase * > m_streamModules
std::string workerType() const
bool wantsStreamLuminosityBlocks() const
bool wantsStreamRuns() const
bool hasAccumulator() const
void preActionBeforeRunEventAsync(WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
void createStreamModules(T iFunc)
const ModuleDescription & moduleDescription() const
void setModuleDescription(ModuleDescription const &md)
virtual void preallocLumis(unsigned int)
ModuleDescription moduleDescription_