1 #ifndef FWCore_Framework_global_outputmoduleAbilityToImplementor_h 2 #define FWCore_Framework_global_outputmoduleAbilityToImplementor_h 31 class ModuleCallingContext;
51 template <
typename T,
typename C>
69 virtual std::shared_ptr<C> globalBeginRun(
RunForOutput const&)
const = 0;
70 virtual void globalEndRun(
RunForOutput const&)
const = 0;
75 template <
typename T,
typename C>
84 void preallocLumis(
unsigned int iNLumis)
final { caches_.reset(
new std::shared_ptr<C>[iNLumis]); }
89 caches_[lp.index()] = globalBeginLuminosityBlock(lp);
92 globalEndLuminosityBlock(lp);
93 caches_[lp.index()].reset();
99 std::unique_ptr<std::shared_ptr<C>[]>
caches_;
102 template <
typename T>
110 template <
typename C>
115 template <
typename C>
~LuminosityBlockCacheHolder()(false) override
C const * runCache(edm::RunIndex iID) const
void preallocLumis(unsigned int iNLumis) final
~RunCacheHolder()(false) override
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
void doEndRun_(RunForOutput const &rp) final
std::unique_ptr< std::shared_ptr< C >[]> caches_
edm::global::outputmodule::LuminosityBlockCacheHolder< edm::global::OutputModuleBase, C > Type
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
edm::propagate_const< std::shared_ptr< C > > cache_
void doBeginLuminosityBlock_(LuminosityBlockForOutput const &lp) final
RunCacheHolder(edm::ParameterSet const &iPSet)
edm::global::outputmodule::RunCacheHolder< edm::global::OutputModuleBase, C > Type
void doBeginRun_(RunForOutput const &rp) final
void doEndLuminosityBlock_(LuminosityBlockForOutput const &lp) final