1 #ifndef FWCore_Framework_global_implementors_h 2 #define FWCore_Framework_global_implementors_h 40 template <
typename T,
typename C>
55 caches_.resize(iNStreams,static_cast<C*>(
nullptr));
58 caches_[
id.value()] = beginStream(
id).release();
62 delete caches_[
id.value()];
63 caches_[
id.value()]=
nullptr;
66 streamBeginRun(
id,rp,
c);
69 streamEndRun(
id,rp,
c);
72 streamBeginLuminosityBlock(
id,lbp,
c);
75 streamEndLuminosityBlock(
id,lbp,
c);
78 virtual std::unique_ptr<C> beginStream(
edm::StreamID)
const = 0;
89 template <
typename T,
typename C>
100 cache_ = globalBeginRun(rp,
c);
113 template <
typename T,
typename C>
124 cache_ = globalBeginLuminosityBlock(rp,
c);
127 globalEndLuminosityBlock(rp,
c);
139 template <
typename T,
typename C>
149 cache_ = globalBeginRunSummary(rp,
c);
153 std::lock_guard<std::mutex> guard(mutex_);
154 streamEndRunSummary(
id,rp,
c,cache_.get());
157 globalEndRunSummary(rp,
c,cache_.get());
173 template <
typename T,
typename C>
184 cache_ = globalBeginLuminosityBlockSummary(lb,
c);
189 std::lock_guard<std::mutex> guard(mutex_);
190 streamEndLuminosityBlockSummary(
id,lb,
c,cache_.get());
193 globalEndLuminosityBlockSummary(lb,
c,cache_.get());
207 template <
typename T>
221 template <
typename T>
236 template <
typename T,
typename C>
253 template <
typename T>
266 template <
typename T>
279 template <
typename T,
typename S>
~EndRunProducer() noexcept(false) override
std::shared_ptr< C > cache_
static boost::mutex mutex
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_
~RunCacheHolder() noexcept(false)
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
edm::propagate_const< std::shared_ptr< C > > cache_
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
~LuminosityBlockSummaryCacheHolder() noexcept(false)
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
double S(const TLorentzVector &, const TLorentzVector &)
~LuminosityBlockCacheHolder() noexcept(false)
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
C * streamCache(edm::StreamID iID) const
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
~BeginLuminosityBlockProducer() noexcept(false) override
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final