CMS 3D CMS Logo

DataProxy< RecordT, DataT > Class Template Reference

Description: Base class for data Proxies held by a EventSetupRecord. More...

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

Inheritance diagram for DataProxy< RecordT, DataT >:

edm::eventsetup::DataProxyTemplate< RecordT, DataT > edm::eventsetup::DataProxy

List of all members.

Public Member Functions

 DataProxy (cond::Connection *connection, std::map< std::string, std::string >::iterator &pDatumToToken)

Protected Member Functions

virtual void invalidateCache ()
 indicates that the Proxy should invalidate any cached information as that information has 'expired'
virtual const DataT * make (const RecordT &, const edm::eventsetup::DataKey &)

Private Member Functions

const DataProxyoperator= (const DataProxy &)

Private Attributes

cond::Connectionm_connection
pool::Ref< DataT > m_data
std::map< std::string,
std::string >::iterator 
m_pDatumToToken


Detailed Description

template<class RecordT, class DataT>
class DataProxy< RecordT, DataT >

Description: Base class for data Proxies held by a EventSetupRecord.

Usage: <usage>

Definition at line 14 of file DataProxy.h.


Constructor & Destructor Documentation

template<class RecordT, class DataT>
DataProxy< RecordT, DataT >::DataProxy ( cond::Connection connection,
std::map< std::string, std::string >::iterator &  pDatumToToken 
) [inline]

Definition at line 22 of file DataProxy.h.

00022                                                                                              : m_connection(connection), m_pDatumToToken(pDatumToToken) { 
00023     //NOTE: We do this so that the type 'DataT' will get registered
00024     // when the plugin is dynamically loaded
00025     //std::cout<<"DataProxy constructor"<<std::endl;
00026     edm::eventsetup::DataKey::makeTypeTag<DataT>();
00027     //std::cout<<"about to get out of DataProxy constructor"<<std::endl;
00028   }


Member Function Documentation

template<class RecordT, class DataT>
virtual void DataProxy< RecordT, DataT >::invalidateCache (  )  [inline, protected, virtual]

indicates that the Proxy should invalidate any cached information as that information has 'expired'

Implements edm::eventsetup::DataProxy.

Definition at line 52 of file DataProxy.h.

References DataProxy< RecordT, DataT >::m_data.

00052                                  {
00053     m_data.clear();
00054   }

template<class RecordT, class DataT>
virtual const DataT* DataProxy< RecordT, DataT >::make ( const RecordT &  ,
const edm::eventsetup::DataKey  
) [inline, protected, virtual]

Implements edm::eventsetup::DataProxyTemplate< RecordT, DataT >.

Definition at line 38 of file DataProxy.h.

References cond::PoolTransaction::commit(), Exception, DataProxy< RecordT, DataT >::m_connection, DataProxy< RecordT, DataT >::m_data, DataProxy< RecordT, DataT >::m_pDatumToToken, cond::PoolTransaction::poolDataSvc(), cond::Connection::poolTransaction(), HLT_VtxMuL3::result, and cond::PoolTransaction::start().

00038                                                                          {
00039     DataT* result=0;
00040     //std::cout<<"DataT make "<<std::endl;
00041     cond::PoolTransaction& pooldb=m_connection->poolTransaction();
00042     pooldb.start(true);      
00043     pool::Ref<DataT> mydata(&(pooldb.poolDataSvc()),m_pDatumToToken->second);
00044     result=mydata.ptr();
00045     m_data.copyShallow(mydata);
00046     pooldb.commit();
00047     if(!result){
00048       throw cond::Exception("DataProxy::make: null result");
00049     }
00050     return result;
00051   }

template<class RecordT, class DataT>
const DataProxy& DataProxy< RecordT, DataT >::operator= ( const DataProxy< RecordT, DataT > &   )  [private]


Member Data Documentation

template<class RecordT, class DataT>
cond::Connection* DataProxy< RecordT, DataT >::m_connection [private]

Definition at line 59 of file DataProxy.h.

Referenced by DataProxy< RecordT, DataT >::make(), and DataProxy< IdealGeometryRecord, DDCompactView >::make().

template<class RecordT, class DataT>
pool::Ref<DataT> DataProxy< RecordT, DataT >::m_data [private]

Definition at line 61 of file DataProxy.h.

Referenced by DataProxy< RecordT, DataT >::invalidateCache(), DataProxy< IdealGeometryRecord, DDCompactView >::invalidateCache(), DataProxy< RecordT, DataT >::make(), and DataProxy< IdealGeometryRecord, DDCompactView >::make().

template<class RecordT, class DataT>
std::map<std::string,std::string>::iterator DataProxy< RecordT, DataT >::m_pDatumToToken [private]

Definition at line 60 of file DataProxy.h.

Referenced by DataProxy< RecordT, DataT >::make(), and DataProxy< IdealGeometryRecord, DDCompactView >::make().


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