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;
80 for(
auto&
m: m_streamModules) {
82 setModuleDescriptionPtr(
m);
87 void itemsToGet(
BranchType, std::vector<ProductResolverIndexAndSkipBit>&)
const;
88 void itemsMayGet(
BranchType, std::vector<ProductResolverIndexAndSkipBit>&)
const;
89 std::vector<ProductResolverIndexAndSkipBit>
const& itemsToGetFrom(
BranchType)
const;
93 bool iPrefetchMayGet);
97 void modulesWhoseProductsAreConsumed(std::vector<ModuleDescription const*>&
modules,
99 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
102 void convertCurrentProcessAlias(
std::string const& processName);
104 std::vector<ConsumesInfo> consumesInfo()
const;
119 virtual void setupStreamModules() = 0;
121 virtual void doEndJob() = 0;
136 void doStreamBeginLuminosityBlock(
StreamID id,
141 void doStreamEndLuminosityBlock(
StreamID id,
156 void doPreForkReleaseResources();
157 void doPostForkReacquireResources(
unsigned int iChildIndex,
unsigned int iNumberOfChildren);
160 void doRespondToOpenInputFile(
FileBlock const&
fb);
161 void doRespondToCloseInputFile(
FileBlock const& fb);
168 moduleDescription_ = md;
void registerProductsAndCallbacks(ProductRegistry *iReg) override
std::vector< EDAnalyzerBase * > m_streamModules
std::string workerType() 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)
ModuleDescription moduleDescription_