1 #ifndef FWCore_Framework_limited_implementors_h 2 #define FWCore_Framework_limited_implementors_h 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>
127 cache_ = globalBeginLuminosityBlock(rp,
c);
130 globalEndLuminosityBlock(rp,
c);
142 template <
typename T,
typename C>
152 cache_ = globalBeginRunSummary(rp,
c);
156 std::lock_guard<std::mutex> guard(mutex_);
157 streamEndRunSummary(
id,rp,
c,cache_.get());
160 globalEndRunSummary(rp,
c,cache_.get());
176 template <
typename T,
typename C>
187 cache_ = globalBeginLuminosityBlockSummary(lb,
c);
192 std::lock_guard<std::mutex> guard(mutex_);
193 streamEndLuminosityBlockSummary(
id,lb,
c,cache_.get());
196 globalEndLuminosityBlockSummary(lb,
c,cache_.get());
210 template <
typename T>
224 template <
typename T>
239 template <
typename T,
typename C>
256 template <
typename T>
269 template <
typename T>
282 template <
typename T,
typename S>
C const * runCache(edm::RunIndex iID) const
static boost::mutex mutex
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
~LuminosityBlockCacheHolder() noexcept(false)
void doEndStream_(StreamID id) final
void doEndRun_(Run const &rp, EventSetup const &c) final
~EndLuminosityBlockProducer() noexcept(false) override
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
void doEndLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
~EndRunSummaryProducer() noexcept(false)
void doBeginRun_(Run const &rp, EventSetup const &c) final
BeginLuminosityBlockProducer(edm::ParameterSet const &iPSet)
virtual void endStream(edm::StreamID) const
~BeginLuminosityBlockProducer() noexcept(false) override
void preallocStreams(unsigned int iNStreams) final
~LuminosityBlockSummaryCacheHolder() noexcept(false)
~EndRunProducer() noexcept(false) override
~RunSummaryCacheHolder() noexcept(false)
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
~EndLuminosityBlockSummaryProducer() noexcept(false)
EndRunSummaryProducer(edm::ParameterSet const &iPSet)
EmptyType(edm::ParameterSet const &)
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
BeginRunProducer(edm::ParameterSet const &iPSet)
std::shared_ptr< C > cache_
RunCacheHolder(edm::ParameterSet const &iPSet)
std::shared_ptr< C > cache_
RunSummaryCacheHolder(edm::ParameterSet const &iPSet)
void doEndRunProduce_(Run &rp, EventSetup const &c) final
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
EndRunProducer(edm::ParameterSet const &iPSet)
std::vector< C * > caches_
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) final
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)
~BeginRunProducer() noexcept(false) override
unsigned int value() const
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
~RunCacheHolder() noexcept(false)
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
C * streamCache(edm::StreamID iID) const
std::shared_ptr< C > cache_