test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain > Struct Template Reference

#include <eventsetup_dependsOn.h>

Public Member Functions

 DependsOnCaller (T *iCallee, void(T::*iMethod)(const TDependsOnRecord &), const TCallerChain &iChain)
 
void operator() (const TRecord &iRecord)
 

Private Attributes

unsigned long long cacheID_
 
Tcallee_
 
TCallerChain chain_
 
void(T::* method_ )(const TDependsOnRecord &)
 

Detailed Description

template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
struct edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >

Definition at line 65 of file eventsetup_dependsOn.h.

Constructor & Destructor Documentation

template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::DependsOnCaller ( T iCallee,
void(T::*)(const TDependsOnRecord &)  iMethod,
const TCallerChain &  iChain 
)
inline

Definition at line 67 of file eventsetup_dependsOn.h.

67  :
68  callee_(iCallee), method_(iMethod), chain_(iChain),cacheID_(0){}
void(T::* method_)(const TDependsOnRecord &)

Member Function Documentation

template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
void edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::operator() ( const TRecord &  iRecord)
inline

Definition at line 70 of file eventsetup_dependsOn.h.

References edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::cacheID_, edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::callee_, edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::chain_, edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::method_, and record.

70  {
71  const TDependsOnRecord& record = iRecord.template getRecord<TDependsOnRecord>();
72  if(record.cacheIdentifier() != cacheID_) {
73  (callee_->*method_)(record);
74  cacheID_=record.cacheIdentifier();
75  }
76  //call next 'functor' in our chain
77  chain_(iRecord);
78  }
JetCorrectorParameters::Record record
Definition: classes.h:7
void(T::* method_)(const TDependsOnRecord &)

Member Data Documentation

template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
unsigned long long edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::cacheID_
private
template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
T* edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::callee_
private
template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
TCallerChain edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::chain_
private
template<class T, class TRecord, class TDependsOnRecord, class TCallerChain>
void(T::* edm::eventsetup::DependsOnCaller< T, TRecord, TDependsOnRecord, TCallerChain >::method_)(const TDependsOnRecord &)
private