1 #ifndef FWCore_Framework_stream_ProducingModuleAdaptor_h 2 #define FWCore_Framework_stream_ProducingModuleAdaptor_h 38 template <
typename T,
typename M,
typename B>
46 typename T::GlobalCache
const*
dummy =
nullptr;
47 m_global = impl::makeGlobal<T>(iPSet, dummy);
60 T::HasAbility::kBeginLuminosityBlockProducer
or T::HasAbility::kEndLuminosityBlockProducer;
63 bool hasAcquire() const final {
return T::HasAbility::kExternalWork; }
79 this->createStreamModules([
this]() -> M* {
112 Run r(rp, this->moduleDescription(), mcc,
false);
115 Run const& cnstR =
r;
123 if constexpr (T::HasAbility::kBeginRunProducer) {
131 Run r(rp, this->moduleDescription(), mcc,
true);
140 if constexpr (T::HasAbility::kEndRunProducer) {
153 T::HasAbility::kBeginLuminosityBlockProducer) {
159 RunIndex ri = lbp.runPrincipal().index();
168 if constexpr (T::HasAbility::kBeginLuminosityBlockProducer) {
178 T::HasAbility::kEndLuminosityBlockProducer) {
184 RunIndex ri = lbp.runPrincipal().index();
189 if constexpr (T::HasAbility::kEndLuminosityBlockProducer) {
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::RunSummaryCache > &oCache)
void setProducer(ProducerBase const *iProducer)
CallGlobalRun< T > MyGlobalRun
void setConsumer(EDConsumerBase const *iConsumer)
static void endRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext)
void doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &ci, ModuleCallingContext const *mcc) final
impl::choose_unique_ptr< typename T::GlobalCache >::type m_global
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC)
static void produce(edm::LuminosityBlock &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache const *)
void streamEndLuminosityBlockSummary(M *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES) final
void preallocLumis(unsigned int iNLumis) final
impl::choose_mutex< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaryLock
static void prevalidate(ConfigurationDescriptions &descriptions)
void streamEndRunSummary(M *iProd, edm::Run const &iRun, edm::EventSetup const &iES) final
static void streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *iCache)
const ProducingModuleAdaptor & operator=(const ProducingModuleAdaptor &)=delete
bool wantsGlobalLuminosityBlocks() const final
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::GlobalCache const *iGC, std::shared_ptr< typename T::RunCache const > &oCache)
bool hasAcquire() const final
void doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &ci, ModuleCallingContext const *mcc) final
static void set(B *iProd, typename T::RunCache const *iCache)
impl::choose_mutex< typename T::RunSummaryCache >::type m_runSummaryLock
bool wantsGlobalRuns() const final
bool hasAccumulator() const final
void setupStreamModules() final
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, std::shared_ptr< typename T::LuminosityBlockSummaryCache > &oCache)
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC)
ParameterSet const * m_pset
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
void doEndRun(RunPrincipal const &rp, EventSetupImpl const &ci, ModuleCallingContext const *mcc) final
impl::choose_shared_vec< typename T::RunSummaryCache >::type m_runSummaries
std::unique_ptr< T > type
void doBeginRun(RunPrincipal const &rp, EventSetupImpl const &ci, ModuleCallingContext const *mcc) final
static const std::string B
impl::choose_shared_vec< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaries
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
void setupLuminosityBlock(M *iProd, LuminosityBlockIndex iIndex) final
void setupRun(M *iProd, RunIndex iIndex) final
CallGlobalLuminosityBlockSummary< T > MyGlobalLuminosityBlockSummary
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void endJob(typename T::GlobalCache *iCache)
static void streamEndLuminosityBlockSummary(B *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES, typename T::LuminosityBlockSummaryCache *iCache)
CallEndLuminosityBlockProduce< T > MyEndLuminosityBlockProduce
static void globalEndRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext, typename T::RunSummaryCache *iCache)
void setProducer(ProducerBase const *iProducer)
CallGlobalLuminosityBlock< T > MyGlobalLuminosityBlock
impl::choose_shared_vec< typename T::RunCache const >::type m_runs
std::vector< std::vector< double > > tmp
ProducingModuleAdaptor(edm::ParameterSet const &iPSet)
CallBeginRunProduce< T > MyBeginRunProduce
~ProducingModuleAdaptor() override
CallGlobalRunSummary< T > MyGlobalRunSummary
static void fillDescriptions(ConfigurationDescriptions &descriptions)
static void produce(edm::Run &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache const *)
impl::choose_shared_vec< typename T::LuminosityBlockCache const >::type m_lumis
std::vector< std::shared_ptr< T > > type
CallEndRunProduce< T > MyEndRunProduce
CallBeginLuminosityBlockProduce< T > MyBeginLuminosityBlockProduce
static void globalEndLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext, typename T::LuminosityBlockSummaryCache *iCache)
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::LuminosityBlockCache const > &oCache)
void setConsumer(EDConsumerBase const *iConsumer)
static void set(B *iProd, typename T::GlobalCache const *iCache)