1 #ifndef FWCore_Framework_global_implementors_h 2 #define FWCore_Framework_global_implementors_h 36 class WaitingTaskWithArenaHolder;
43 template <
typename T,
typename C>
58 caches_.resize(iNStreams,static_cast<C*>(
nullptr));
61 caches_[
id.value()] = beginStream(
id).release();
65 delete caches_[
id.value()];
66 caches_[
id.value()]=
nullptr;
69 streamBeginRun(
id,rp,
c);
72 streamEndRun(
id,rp,
c);
75 streamBeginLuminosityBlock(
id,lbp,
c);
78 streamEndLuminosityBlock(
id,lbp,
c);
81 virtual std::unique_ptr<C> beginStream(
edm::StreamID)
const = 0;
92 template <
typename T,
typename C>
103 cache_ = globalBeginRun(rp,
c);
116 template <
typename T,
typename C>
125 caches_.reset(
new std::shared_ptr<C>[iNLumis]);
131 caches_[lp.index()] = globalBeginLuminosityBlock(lp,
c);
134 globalEndLuminosityBlock(lp,
c);
135 caches_[lp.index()].reset();
141 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
146 template <
typename T,
typename C>
156 cache_ = globalBeginRunSummary(rp,
c);
160 std::lock_guard<std::mutex> guard(mutex_);
161 streamEndRunSummary(
id,rp,
c,cache_.get());
164 globalEndRunSummary(rp,
c,cache_.get());
180 template <
typename T,
typename C>
191 cache_ = globalBeginLuminosityBlockSummary(lb,
c);
196 std::lock_guard<std::mutex> guard(mutex_);
197 streamEndLuminosityBlockSummary(
id,lb,
c,cache_.get());
200 globalEndLuminosityBlockSummary(lb,
c,cache_.get());
214 template <
typename T>
228 template <
typename T>
243 template <
typename T,
typename C>
260 template <
typename T>
273 template <
typename T>
286 template <
typename T,
typename S>
302 template <
typename T>
325 template <
typename T>
338 accumulate(streamID,
ev, es);
~LuminosityBlockCacheHolder()(false) override
static boost::mutex mutex
~BeginRunProducer()(false) override
~RunCacheHolder()(false) override
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
virtual void endStream(edm::StreamID) const
void produce(StreamID streamID, Event &ev, EventSetup const &es) const final
~LuminosityBlockSummaryCacheHolder()(false) override
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
~EndRunSummaryProducer()(false)
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
std::shared_ptr< C > cache_
~Accumulator()(false) override
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
void preallocStreams(unsigned int iNStreams) final
void doEndStream_(StreamID id) final
~EndLuminosityBlockProducer()(false) override
void doEndRunProduce_(Run &rp, EventSetup const &c) final
void doEndRun_(Run const &rp, EventSetup const &c) final
bool hasAcquire() const override
edm::propagate_const< std::shared_ptr< C > > cache_
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
C const * runCache(edm::RunIndex iID) const
std::vector< C * > caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
std::shared_ptr< C > cache_
unsigned int value() const
~EndRunProducer()(false) override
void doBeginRun_(Run const &rp, EventSetup const &c) final
~ExternalWork()(false) override
bool hasAccumulator() const override
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
~BeginLuminosityBlockProducer()(false) override
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
~StreamCacheHolder() override
C * streamCache(edm::StreamID iID) const
void preallocLumis(unsigned int iNLumis) final
void doBeginStream_(StreamID id) final
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
~RunSummaryCacheHolder()(false)
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
~EndLuminosityBlockSummaryProducer()(false)