CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::one::impl::LuminosityBlockCacheHolder< T, C > Class Template Referenceabstract

#include <implementors.h>

Inheritance diagram for edm::one::impl::LuminosityBlockCacheHolder< T, C >:

Public Member Functions

 LuminosityBlockCacheHolder ()=default
 
 LuminosityBlockCacheHolder (LuminosityBlockCacheHolder< T, C > const &)=delete
 
LuminosityBlockCacheHolder< T, C > & operator= (LuminosityBlockCacheHolder< T, C > const &)=delete
 
 ~LuminosityBlockCacheHolder ()(false) override
 

Protected Member Functions

C const * luminosityBlockCache (edm::LuminosityBlockIndex iID) const
 
C * luminosityBlockCache (edm::LuminosityBlockIndex iID)
 
void preallocLumis (unsigned int iNLumis) final
 

Private Member Functions

void doBeginLuminosityBlock_ (LuminosityBlock const &lp, EventSetup const &c) final
 
void doEndLuminosityBlock_ (LuminosityBlock const &lp, EventSetup const &c) final
 
virtual std::shared_ptr< C > globalBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) const =0
 
virtual void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)=0
 

Private Attributes

std::unique_ptr< std::shared_ptr< C >[]> caches_
 

Detailed Description

template<typename T, typename C>
class edm::one::impl::LuminosityBlockCacheHolder< T, C >

Definition at line 187 of file implementors.h.

Constructor & Destructor Documentation

template<typename T , typename C >
edm::one::impl::LuminosityBlockCacheHolder< T, C >::LuminosityBlockCacheHolder ( )
default
template<typename T , typename C >
edm::one::impl::LuminosityBlockCacheHolder< T, C >::LuminosityBlockCacheHolder ( LuminosityBlockCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
edm::one::impl::LuminosityBlockCacheHolder< T, C >::~LuminosityBlockCacheHolder ( )
inlineoverride

Definition at line 192 of file implementors.h.

192 {};

Member Function Documentation

template<typename T , typename C >
void edm::one::impl::LuminosityBlockCacheHolder< T, C >::doBeginLuminosityBlock_ ( LuminosityBlock const &  lp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 201 of file implementors.h.

References EnergyCorrector::c.

201  {
202  caches_[lp.index()] = globalBeginLuminosityBlock(lp, c);
203  }
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:212
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
template<typename T , typename C >
void edm::one::impl::LuminosityBlockCacheHolder< T, C >::doEndLuminosityBlock_ ( LuminosityBlock const &  lp,
EventSetup const &  c 
)
inlinefinalprivate

Definition at line 204 of file implementors.h.

References EnergyCorrector::c.

204  {
206  caches_[lp.index()].reset();
207  }
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:212
virtual void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
template<typename T , typename C >
virtual std::shared_ptr<C> edm::one::impl::LuminosityBlockCacheHolder< T, C >::globalBeginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
) const
privatepure virtual
template<typename T , typename C >
virtual void edm::one::impl::LuminosityBlockCacheHolder< T, C >::globalEndLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
privatepure virtual
template<typename T , typename C >
C const* edm::one::impl::LuminosityBlockCacheHolder< T, C >::luminosityBlockCache ( edm::LuminosityBlockIndex  iID) const
inlineprotected

Definition at line 197 of file implementors.h.

197 { return caches_[iID].get(); }
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:212
template<typename T , typename C >
C* edm::one::impl::LuminosityBlockCacheHolder< T, C >::luminosityBlockCache ( edm::LuminosityBlockIndex  iID)
inlineprotected

Definition at line 198 of file implementors.h.

198 { return caches_[iID].get(); }
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:212
template<typename T , typename C >
LuminosityBlockCacheHolder<T, C>& edm::one::impl::LuminosityBlockCacheHolder< T, C >::operator= ( LuminosityBlockCacheHolder< T, C > const &  )
delete
template<typename T , typename C >
void edm::one::impl::LuminosityBlockCacheHolder< T, C >::preallocLumis ( unsigned int  iNLumis)
inlinefinalprotected

Definition at line 195 of file implementors.h.

195 { caches_.reset(new std::shared_ptr<C>[iNLumis]); }
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:212

Member Data Documentation

template<typename T , typename C >
std::unique_ptr<std::shared_ptr<C>[]> edm::one::impl::LuminosityBlockCacheHolder< T, C >::caches_
private

Definition at line 212 of file implementors.h.