1 #ifndef FWCore_Framework_limited_implementors_h 2 #define FWCore_Framework_limited_implementors_h 44 template <
typename T,
typename C>
59 caches_.resize(iNStreams,static_cast<C*>(
nullptr));
62 caches_[
id.value()] = beginStream(
id).release();
66 delete caches_[
id.value()];
67 caches_[
id.value()]=
nullptr;
70 streamBeginRun(
id,rp,
c);
73 streamEndRun(
id,rp,
c);
76 streamBeginLuminosityBlock(
id,lbp,
c);
79 streamEndLuminosityBlock(
id,lbp,
c);
82 virtual std::unique_ptr<C> beginStream(
edm::StreamID)
const = 0;
93 template <
typename T,
typename C>
104 cache_ = globalBeginRun(rp,
c);
117 template <
typename T,
typename C>
128 caches_.reset(
new std::shared_ptr<C>[iNLumis]);
132 caches_[lp.index()] = globalBeginLuminosityBlock(lp,
c);
135 globalEndLuminosityBlock(lp,
c);
136 caches_[lp.index()].reset();
142 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
147 template <
typename T,
typename C>
157 cache_ = globalBeginRunSummary(rp,
c);
161 std::lock_guard<std::mutex> guard(mutex_);
162 streamEndRunSummary(
id,rp,
c,cache_.get());
165 globalEndRunSummary(rp,
c,cache_.get());
181 template <
typename T,
typename C>
192 cache_ = globalBeginLuminosityBlockSummary(lb,
c);
197 std::lock_guard<std::mutex> guard(mutex_);
198 streamEndLuminosityBlockSummary(
id,lb,
c,cache_.get());
201 globalEndLuminosityBlockSummary(lb,
c,cache_.get());
215 template <
typename T>
229 template <
typename T>
244 template <
typename T,
typename C>
261 template <
typename T>
274 template <
typename T>
287 template <
typename T,
typename S>
303 template <
typename T>
317 accumulate(streamID,
ev, es);
C const * runCache(edm::RunIndex iID) const
static boost::mutex mutex
~EndRunSummaryProducer()(false)
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
void doEndStream_(StreamID id) final
void doEndRun_(Run const &rp, EventSetup const &c) final
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
StreamCacheHolder(edm::ParameterSet const &iPSet)
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
~EndLuminosityBlockSummaryProducer()(false)
~BeginLuminosityBlockProducer()(false) override
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
void doBeginRun_(Run const &rp, EventSetup const &c) final
std::unique_ptr< std::shared_ptr< C >[]> caches_
BeginLuminosityBlockProducer(edm::ParameterSet const &iPSet)
virtual void endStream(edm::StreamID) const
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
~LuminosityBlockCacheHolder()(false)
void preallocStreams(unsigned int iNStreams) final
LuminosityBlockSummaryCacheHolder(edm::ParameterSet const &iPSet)
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
edm::propagate_const< std::shared_ptr< C > > cache_
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
EndRunSummaryProducer(edm::ParameterSet const &iPSet)
EmptyType(edm::ParameterSet const &)
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
BeginRunProducer(edm::ParameterSet const &iPSet)
~LuminosityBlockSummaryCacheHolder()(false)
RunCacheHolder(edm::ParameterSet const &iPSet)
std::shared_ptr< C > cache_
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
RunSummaryCacheHolder(edm::ParameterSet const &iPSet)
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Accumulator(edm::ParameterSet const &iPSet)
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
EndRunProducer(edm::ParameterSet const &iPSet)
std::vector< C * > caches_
~EndRunProducer()(false) override
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
void doBeginStream_(StreamID id) final
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
EndLuminosityBlockSummaryProducer(edm::ParameterSet const &iPSet)
EndLuminosityBlockProducer(edm::ParameterSet const &iPSet)
~Accumulator()(false) override
unsigned int value() const
~RunSummaryCacheHolder()(false)
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
~BeginRunProducer()(false) override
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
bool hasAccumulator() const override
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
C * streamCache(edm::StreamID iID) const
~EndLuminosityBlockProducer()(false) override
std::shared_ptr< C > cache_
void produce(StreamID streamID, Event &ev, EventSetup const &es) const final
void preallocLumis(unsigned int iNLumis) final