1 #ifndef FWCore_Framework_global_implementors_h 2 #define FWCore_Framework_global_implementors_h 35 class WaitingTaskWithArenaHolder;
42 template <
typename T,
typename C>
57 caches_.resize(iNStreams,static_cast<C*>(
nullptr));
60 caches_[
id.value()] = beginStream(
id).release();
64 delete caches_[
id.value()];
65 caches_[
id.value()]=
nullptr;
68 streamBeginRun(
id,rp,
c);
71 streamEndRun(
id,rp,
c);
74 streamBeginLuminosityBlock(
id,lbp,
c);
77 streamEndLuminosityBlock(
id,lbp,
c);
80 virtual std::unique_ptr<C> beginStream(
edm::StreamID)
const = 0;
91 template <
typename T,
typename C>
102 cache_ = globalBeginRun(rp,
c);
115 template <
typename T,
typename C>
126 cache_ = globalBeginLuminosityBlock(rp,
c);
129 globalEndLuminosityBlock(rp,
c);
141 template <
typename T,
typename C>
151 cache_ = globalBeginRunSummary(rp,
c);
155 std::lock_guard<std::mutex> guard(mutex_);
156 streamEndRunSummary(
id,rp,
c,cache_.get());
159 globalEndRunSummary(rp,
c,cache_.get());
175 template <
typename T,
typename C>
186 cache_ = globalBeginLuminosityBlockSummary(lb,
c);
191 std::lock_guard<std::mutex> guard(mutex_);
192 streamEndLuminosityBlockSummary(
id,lb,
c,cache_.get());
195 globalEndLuminosityBlockSummary(lb,
c,cache_.get());
209 template <
typename T>
223 template <
typename T>
238 template <
typename T,
typename C>
255 template <
typename T>
268 template <
typename T>
281 template <
typename T,
typename S>
297 template <
typename T>
static boost::mutex mutex
~LuminosityBlockSummaryCacheHolder() noexcept(false) override
~EndRunProducer() noexcept(false) override
std::shared_ptr< C > cache_
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
virtual void endStream(edm::StreamID) const
~EndRunSummaryProducer() noexcept(false)
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
~EndLuminosityBlockProducer() noexcept(false) override
void doEndLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
~EndLuminosityBlockSummaryProducer() noexcept(false)
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
std::shared_ptr< C > cache_
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
~BeginRunProducer() noexcept(false) override
void preallocStreams(unsigned int iNStreams) final
void doEndStream_(StreamID id) final
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_
~RunCacheHolder() noexcept(false) override
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
~RunSummaryCacheHolder() noexcept(false)
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
C const * runCache(edm::RunIndex iID) const
std::vector< C * > caches_
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
std::shared_ptr< C > cache_
unsigned int value() const
void doBeginRun_(Run const &rp, EventSetup const &c) final
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
~StreamCacheHolder() override
~LuminosityBlockCacheHolder() noexcept(false) override
C * streamCache(edm::StreamID iID) const
void doBeginStream_(StreamID id) final
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
~ExternalWork() noexcept(false) override
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
~BeginLuminosityBlockProducer() noexcept(false) override
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final