1 #ifndef FWCore_Framework_stream_ProducingModuleAdaptorBase_h 2 #define FWCore_Framework_stream_ProducingModuleAdaptorBase_h 26 #include <unordered_map> 49 class ModuleCallingContext;
50 class ModuleProcessName;
51 class ProductResolverIndexHelper;
53 class PreallocationConfiguration;
54 class ProductResolverIndexAndSkipBit;
55 class ThinnedAssociationsHelper;
56 class ActivityRegistry;
58 class ServiceWeakToken;
65 namespace eventsetup {
71 class ProducingModuleAdaptorBase {
134 size_t iTransformIndex,
143 unsigned int iStreamModule = 0;
145 m = iFunc(iStreamModule);
156 template <
typename I>
void doStreamEndLuminosityBlock(StreamID, LumiTransitionInfo const &, ModuleCallingContext const *)
ModuleDescription moduleDescription_
virtual void selectInputProcessBlocks(ProductRegistry const &, ProcessBlockHelperBase const &)=0
virtual void streamEndRunSummary(T *, edm::Run const &, edm::EventSetup const &)=0
virtual void doBeginJob()=0
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
void doRespondToOpenInputFile(FileBlock const &)
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom(BranchType) const
unsigned int ProductResolverIndex
virtual void preallocRuns(unsigned int)
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector(edm::Transition iTrans) const
virtual bool wantsProcessBlocks() const noexcept=0
virtual bool wantsGlobalRuns() const noexcept=0
virtual void preallocLumis(unsigned int)
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, std::string const &processName) const
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut)
virtual bool wantsGlobalLuminosityBlocks() const noexcept=0
virtual bool wantsInputProcessBlocks() const noexcept=0
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
virtual void doEndProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)=0
void doPreallocate(PreallocationConfiguration const &)
const ProducerBase * producer()
virtual void doEndLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)=0
virtual bool hasAccumulator() const noexcept=0
virtual void doBeginLuminosityBlock(LumiTransitionInfo const &, ModuleCallingContext const *)=0
void doRespondToCloseInputFile(FileBlock const &)
const EDConsumerBase * consumer()
virtual ~ProducingModuleAdaptorBase()
virtual void setupRun(T *, RunIndex)=0
virtual bool hasAcquire() const noexcept=0
void registerProductsAndCallbacks(ProducingModuleAdaptorBase const *, ProductRegistry *reg)
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut)
void setModuleDescription(ModuleDescription const &md)
void doTransformAsync(WaitingTaskHolder iTask, size_t iTransformIndex, EventPrincipal const &iEvent, ActivityRegistry *, ModuleCallingContext, ServiceWeakToken const &) noexcept
void doStreamBeginRun(StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
virtual void streamEndLuminosityBlockSummary(T *, edm::LuminosityBlock const &, edm::EventSetup const &)=0
const ModuleDescription & moduleDescription() const noexcept
void updateLookup(BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
void commit(ProcessBlock &iProcessBlock)
const ProducingModuleAdaptorBase & operator=(const ProducingModuleAdaptorBase &)=delete
void itemsToGet(BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
virtual void doBeginProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)=0
void createStreamModules(F iFunc)
const std::complex< double > I
def template(fileName, svg, replaceme="REPLACEME")
ProducingModuleAdaptorBase()
virtual void doBeginRun(RunTransitionInfo const &, ModuleCallingContext const *)=0
virtual void doAccessInputProcessBlock(ProcessBlockPrincipal const &, ModuleCallingContext const *)=0
ProductResolverIndex transformPrefetch_(size_t iTransformIndex) const noexcept
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts(BranchType iBranchType) const
void convertCurrentProcessAlias(std::string const &processName)
virtual bool wantsStreamLuminosityBlocks() const noexcept=0
virtual void setupLuminosityBlock(T *, LuminosityBlockIndex)=0
void resolvePutIndicies(BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
void itemsMayGet(BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
virtual void doEndRun(RunTransitionInfo const &, ModuleCallingContext const *)=0
virtual void doRespondToCloseOutputFile()=0
size_t transformIndex_(edm::BranchDescription const &iBranch) const noexcept
virtual void setupStreamModules()=0
std::vector< ConsumesInfo > consumesInfo() const
void commit(LuminosityBlock &iLumi)
void doStreamEndRun(StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
std::vector< T * > m_streamModules
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
void commit(Event &iEvent, I *iID)
std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > ModuleToResolverIndicies
void deleteModulesEarly()
void doStreamBeginLuminosityBlock(StreamID, LumiTransitionInfo const &, ModuleCallingContext const *)
void commit_(std::vector< edm::ProductResolverIndex > const &iShouldPut)
virtual bool wantsStreamRuns() const noexcept=0
std::vector< ESResolverIndex > const & esGetTokenIndicesVector(edm::Transition iTrans) const
void doEndStream(StreamID)
void doBeginStream(StreamID)
virtual void doEndJob()=0