CMS 3D CMS Logo

edm::ESWatcher< T > Class Template Reference

#include <FWCore/Framework/interface/ESWatcher.h>

List of all members.

Public Member Functions

bool check (const edm::EventSetup &iSetup)
template<class TObj, class TMemFunc>
 ESWatcher (TObj &iObj, TMemFunc iFunc)
template<class TFunc>
 ESWatcher (TFunc iFunctor)
 ESWatcher ()

Private Member Functions

 ESWatcher (const ESWatcher &)
const ESWatcheroperator= (const ESWatcher &)

Private Attributes

unsigned long long cacheId_
boost::function< void(const T &)> callback_

Classes

struct  NullFunction


Detailed Description

template<class T>
class edm::ESWatcher< T >

Definition at line 33 of file ESWatcher.h.


Constructor & Destructor Documentation

template<class T>
edm::ESWatcher< T >::ESWatcher (  )  [inline]

Definition at line 42 of file ESWatcher.h.

00042 :callback_(NullFunction()), cacheId_(0) {}

template<class T>
template<class TFunc>
edm::ESWatcher< T >::ESWatcher ( TFunc  iFunctor  )  [inline]

Definition at line 45 of file ESWatcher.h.

00045 :callback_(iFunctor),cacheId_(0) {}

template<class T>
template<class TObj, class TMemFunc>
edm::ESWatcher< T >::ESWatcher ( TObj &  iObj,
TMemFunc  iFunc 
) [inline]

Definition at line 48 of file ESWatcher.h.

00048                                          :
00049     callback_(boost::bind(iFunc,iObj,_1)),
00050     cacheId_(0)
00051      {}
      //virtual ~ESWatcher();

template<class T>
edm::ESWatcher< T >::ESWatcher ( const ESWatcher< T > &   )  [private]


Member Function Documentation

template<class T>
bool edm::ESWatcher< T >::check ( const edm::EventSetup iSetup  )  [inline]

Definition at line 59 of file ESWatcher.h.

Referenced by VisEventSetup::analyze(), CSCConditions::initializeEvent(), VisEventSetupService::onNewEvent(), RPCPackingModule::produce(), RPCUnpackingModule::produce(), and SiPixelRawToDigi::produce().

00059                                               {
00060         const T& record = iSetup.template get<T>();
00061         bool result = cacheId_ != record.cacheIdentifier();
00062         if(result) {
00063           callback_(record);
00064         }
00065         cacheId_ = record.cacheIdentifier();
00066         return result;
00067       }

template<class T>
const ESWatcher& edm::ESWatcher< T >::operator= ( const ESWatcher< T > &   )  [private]


Member Data Documentation

template<class T>
unsigned long long edm::ESWatcher< T >::cacheId_ [private]

Definition at line 75 of file ESWatcher.h.

Referenced by edm::ESWatcher< TrackerDigiGeometryRecord >::check().

template<class T>
boost::function<void (const T&)> edm::ESWatcher< T >::callback_ [private]

Definition at line 74 of file ESWatcher.h.

Referenced by edm::ESWatcher< TrackerDigiGeometryRecord >::check().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:40:52 2009 for CMSSW by  doxygen 1.5.4