1 #ifndef FWCore_Framework_stream_ProducingModuleAdaptorBase_h
2 #define FWCore_Framework_stream_ProducingModuleAdaptorBase_h
25 #include <unordered_map>
45 class ModuleCallingContext;
46 class ProductResolverIndexHelper;
48 class PreallocationConfiguration;
49 class ProductResolverIndexAndSkipBit;
50 class ProductRegistry;
51 class ThinnedAssociationsHelper;
54 template<
typename T>
class ModuleHolderT;
59 class ProducingModuleAdaptorBase
85 bool iPrefetchMayGet);
89 std::map<std::string, ModuleDescription const*>
const& labelsToDesc,
95 std::unordered_multimap<std::string, edm::ProductResolverIndex>
const& iIndicies,
114 template<
typename L,
typename I>
ModuleDescription moduleDescription_
virtual void streamEndRunSummary(T *, edm::Run const &, edm::EventSetup const &)=0
void doStreamBeginRun(StreamID id, RunPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *)
void commit(Event &iEvent, L *iList, I *iID)
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
void resolvePutIndicies(BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
void doRespondToOpenInputFile(FileBlock const &fb)
void itemsToGet(BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut, std::vector< BranchID > *previousParentage=0, ParentageID *previousParentageId=0)
void doPreallocate(PreallocationConfiguration const &)
void doPreForkReleaseResources()
virtual void doBeginRun(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)=0
std::vector< ConsumesInfo > consumesInfo() const
void doStreamEndLuminosityBlock(StreamID id, LuminosityBlockPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *)
const EDConsumerBase * consumer()
virtual ~ProducingModuleAdaptorBase()
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts(BranchType iBranchType) const
virtual void setupRun(T *, RunIndex)=0
void registerProductsAndCallbacks(ProducingModuleAdaptorBase const *, ProductRegistry *reg)
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut)
void setModuleDescription(ModuleDescription const &md)
virtual void streamEndLuminosityBlockSummary(T *, edm::LuminosityBlock const &, edm::EventSetup const &)=0
void doEndStream(StreamID id)
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
const ProducingModuleAdaptorBase & operator=(const ProducingModuleAdaptorBase &)=delete
virtual void doEndRun(RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)=0
void createStreamModules(F iFunc)
const std::complex< double > I
ProducingModuleAdaptorBase()
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFromEvent() const
virtual void doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)=0
void doStreamEndRun(StreamID id, RunPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *)
const ModuleDescription & moduleDescription() const
void doBeginStream(StreamID id)
virtual void setupLuminosityBlock(T *, LuminosityBlockIndex)=0
void modulesWhoseProductsAreConsumed(std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
virtual void setupStreamModules()=0
void commit(LuminosityBlock &iLumi)
void doRespondToCloseInputFile(FileBlock const &fb)
std::vector< T * > m_streamModules
void itemsMayGet(BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
void doStreamBeginLuminosityBlock(StreamID id, LuminosityBlockPrincipal const &ep, EventSetup const &c, ModuleCallingContext const *)
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut)
virtual void doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)=0
void doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren)
virtual void doEndJob()=0