CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
cond::persistency::GTProxy Class Reference

#include <GTProxy.h>

Classes

class  Iterator
 

Public Types

typedef std::vector
< std::tuple< std::string,
std::string, std::string > > 
GTContainer
 

Public Member Functions

Iterator begin () const
 
Iterator end () const
 
 GTProxy ()
 
 GTProxy (const std::shared_ptr< SessionImpl > &session)
 
 GTProxy (const GTProxy &rhs)
 
void load (const std::string &gtName, const std::string &preFix="", const std::string &postFix="")
 
std::string name () const
 
GTProxyoperator= (const GTProxy &rhs)
 
void reload ()
 
void reset ()
 
int size () const
 
boost::posix_time::ptime snapshotTime () const
 
cond::Time_t validity () const
 

Private Member Functions

void checkTransaction (const std::string &ctx)
 

Private Attributes

std::shared_ptr< GTProxyDatam_data
 
std::shared_ptr< SessionImplm_session
 

Detailed Description

Definition at line 28 of file GTProxy.h.

Member Typedef Documentation

typedef std::vector<std::tuple<std::string,std::string,std::string> > cond::persistency::GTProxy::GTContainer

Definition at line 30 of file GTProxy.h.

Constructor & Destructor Documentation

GTProxy::GTProxy ( )

Definition at line 73 of file GTProxy.cc.

73  :
74  m_data(),
75  m_session(){
76  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101
GTProxy::GTProxy ( const std::shared_ptr< SessionImpl > &  session)
explicit

Definition at line 78 of file GTProxy.cc.

78  :
79  m_data( new GTProxyData ),
80  m_session( session ){
81  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101
GTProxy::GTProxy ( const GTProxy rhs)

Definition at line 83 of file GTProxy.cc.

83  :
84  m_data( rhs.m_data ),
85  m_session( rhs.m_session ){
86  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101

Member Function Documentation

GTProxy::Iterator GTProxy::begin ( void  ) const

Definition at line 157 of file GTProxy.cc.

References m_data.

157  {
158  if( m_data.get() ){
159  return Iterator( m_data->tagList.begin() );
160  }
161  return Iterator();
162  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
void GTProxy::checkTransaction ( const std::string &  ctx)
private

Definition at line 152 of file GTProxy.cc.

References m_session, and cond::persistency::throwException().

Referenced by load().

152  {
153  if( !m_session.get() ) throwException("The session is not active.",ctx );
154  if( !m_session->isTransactionActive( false ) ) throwException("The transaction is not active.",ctx );
155  }
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101
void throwException(const std::string &message, const std::string &methodName)
Definition: Exception.cc:11
GTProxy::Iterator GTProxy::end ( void  ) const

Definition at line 164 of file GTProxy.cc.

References m_data.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

164  {
165  if( m_data.get() ){
166  return Iterator( m_data->tagList.end() );
167  }
168  return Iterator();
169  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
void GTProxy::load ( const std::string &  gtName,
const std::string &  pref = "",
const std::string &  postf = "" 
)
    this will be the final function 
void GTProxy::load( const std::string& gtName ){

clear reset();

checkSession( "GTProxy::load" );

if(!m_session->gtSchema().gtTable().select( gtName, m_data->validity, m_data->snapshotTime ) ){ throwException( "Global Tag \""+gtName+"" has not been found in the database.","GTProxy::load"); } m_data->name = gtName;

m_session->gtSchema().gtMapTable().select( m_data->name, m_data->tagList );

}

Definition at line 112 of file GTProxy.cc.

References checkTransaction(), m_data, m_session, reset(), and cond::persistency::throwException().

Referenced by MatrixToProcess.MatrixToProcess::getProcess(), MatrixToProcess.MatrixToProcess::listAll(), cond::persistency::Session::readGlobalTag(), and reload().

112  {
113  // clear
114  reset();
115 
116  checkTransaction( "GTProxy::load" );
117 
118  if(!m_session->gtSchema().gtTable().select( gtName, m_data->validity, m_data->snapshotTime ) ){
119  throwException( "Global Tag \""+gtName+"\" has not been found in the database.","GTProxy::load");
120  }
121  m_data->name = gtName;
122  m_data->preFix = pref;
123  m_data->postFix = postf;
124 
125  m_session->gtSchema().gtMapTable().select( m_data->name, pref, postf, m_data->tagList );
126 
127  }
void checkTransaction(const std::string &ctx)
Definition: GTProxy.cc:152
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101
void throwException(const std::string &message, const std::string &methodName)
Definition: Exception.cc:11
std::string GTProxy::name ( ) const
GTProxy & GTProxy::operator= ( const GTProxy rhs)

Definition at line 88 of file GTProxy.cc.

References m_data, and m_session.

88  {
89  m_data = rhs.m_data;
90  m_session = rhs.m_session;
91  return *this;
92  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
std::shared_ptr< SessionImpl > m_session
Definition: GTProxy.h:101
void GTProxy::reload ( )

Definition at line 130 of file GTProxy.cc.

References load(), and m_data.

130  {
131  load( m_data->name );
132  }
void load(const std::string &gtName, const std::string &preFix="", const std::string &postFix="")
Definition: GTProxy.cc:112
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
void GTProxy::reset ( void  )

Definition at line 134 of file GTProxy.cc.

References m_data.

Referenced by MatrixReader.MatrixReader::__init__(), load(), and MatrixReader.MatrixReader::showRaw().

134  {
135  if( m_data.get() ){
136  m_data->tagList.clear();
137  }
138  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
int GTProxy::size ( void  ) const

Definition at line 171 of file GTProxy.cc.

References m_data.

171  {
172  return m_data.get()? m_data->tagList.size() : 0;
173  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
boost::posix_time::ptime GTProxy::snapshotTime ( ) const

Definition at line 148 of file GTProxy.cc.

References m_data.

148  {
149  return m_data.get() ? m_data->snapshotTime : boost::posix_time::ptime();
150  }
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100
cond::Time_t GTProxy::validity ( ) const

Definition at line 144 of file GTProxy.cc.

References m_data, and cond::time::MIN_VAL().

144  {
145  return m_data.get() ? m_data->validity : cond::time::MIN_VAL;
146  }
const Time_t MIN_VAL(0)
std::shared_ptr< GTProxyData > m_data
Definition: GTProxy.h:100

Member Data Documentation

std::shared_ptr<GTProxyData> cond::persistency::GTProxy::m_data
private

Definition at line 100 of file GTProxy.h.

Referenced by begin(), end(), load(), name(), operator=(), reload(), reset(), size(), snapshotTime(), and validity().

std::shared_ptr<SessionImpl> cond::persistency::GTProxy::m_session
private

Definition at line 101 of file GTProxy.h.

Referenced by checkTransaction(), load(), and operator=().