1 #ifndef FWCore_Framework_stream_ProducingModuleAdaptor_h
2 #define FWCore_Framework_stream_ProducingModuleAdaptor_h
35 template<
typename T,
typename G>
37 return T::initializeGlobalCache(iPSet);
44 template<
typename T,
typename G>
47 return new T(iPSet,iGlobal);
57 template<
typename T,
typename M,
typename B>
69 typename T::GlobalCache
const* dummy=
nullptr;
76 T::fillDescriptions(descriptions);
79 T::prevalidate(descriptions);
95 this->createStreamModules([
this] () -> M* {
return impl::makeStreamModule<T>(*
m_pset,
m_global.get());});
128 Run r(rp, this->moduleDescription(), mcc);
130 Run const& cnstR =
r;
135 if(T::HasAbility::kBeginRunProducer) {
147 Run r(rp, this->moduleDescription(), mcc);
152 if(T::HasAbility::kEndRunProducer) {
169 RunIndex ri = lbp.runPrincipal().index();
174 if(T::HasAbility::kBeginLuminosityBlockProducer) {
190 RunIndex ri = lbp.runPrincipal().index();
192 if(T::HasAbility::kEndLuminosityBlockProducer) {
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
T * makeStreamModule(edm::ParameterSet const &iPSet, G const *iGlobal)
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::RunSummaryCache > &oCache)
CallGlobalRun< T > MyGlobalRun
void setConsumer(EDConsumerBase const *iConsumer)
void doBeginRun(RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *mcc) overridefinal
static void endRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext)
impl::choose_unique_ptr< typename T::GlobalCache >::type m_global
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::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
void doEndRun(RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *mcc) overridefinal
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 setupLuminosityBlock(M *iProd, LuminosityBlockIndex iIndex) overridefinal
static void prevalidate(ConfigurationDescriptions &descriptions)
static void streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *iCache)
const ProducingModuleAdaptor & operator=(const ProducingModuleAdaptor &)=delete
void streamEndLuminosityBlockSummary(M *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES) overridefinal
void doEndLuminosityBlock(LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *mcc) overridefinal
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::GlobalCache const *iGC, std::shared_ptr< typename T::RunCache const > &oCache)
void streamEndRunSummary(M *iProd, edm::Run const &iRun, edm::EventSetup const &iES) overridefinal
static void set(B *iProd, typename T::RunCache const *iCache)
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
~ProducingModuleAdaptor()
impl::choose_shared_vec< typename T::RunSummaryCache >::type m_runSummaries
std::unique_ptr< T > type
impl::choose_shared_vec< typename T::LuminosityBlockSummaryCache >::type m_lumiSummaries
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
std::unique_ptr< G > makeGlobal(edm::ParameterSet const &iPSet, G const *)
void setupRun(M *iProd, RunIndex iIndex) overridefinal
CallGlobalLuminosityBlockSummary< T > MyGlobalLuminosityBlockSummary
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)
CallGlobalLuminosityBlock< T > MyGlobalLuminosityBlock
impl::choose_shared_vec< typename T::RunCache const >::type m_runs
ProducingModuleAdaptor(edm::ParameterSet const &iPSet)
CallBeginRunProduce< T > MyBeginRunProduce
CallGlobalRunSummary< T > MyGlobalRunSummary
void doBeginLuminosityBlock(LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *mcc) overridefinal
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)
void doEndJob() overridefinal
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)
void setupStreamModules() overridefinal