CMS 3D CMS Logo

DCULVRTempsDat Class Reference

#include <OnlineDB/EcalCondDB/interface/DCULVRTempsDat.h>

Inheritance diagram for DCULVRTempsDat:

IDataItem IDBObject

List of all members.

Public Member Functions

 DCULVRTempsDat ()
float getT1 () const
float getT2 () const
float getT3 () const
std::string getTable ()
void setT1 (float temp)
void setT2 (float temp)
void setT3 (float temp)
 ~DCULVRTempsDat ()

Private Member Functions

void fetchData (std::map< EcalLogicID, DCULVRTempsDat > *fillVec, DCUIOV *iov) throw (std::runtime_error)
void prepareWrite () throw (std::runtime_error)
void writeArrayDB (const std::map< EcalLogicID, DCULVRTempsDat > *data, DCUIOV *iov) throw (std::runtime_error)
void writeDB (const EcalLogicID *ecid, const DCULVRTempsDat *item, DCUIOV *iov) throw (std::runtime_error)

Private Attributes

float m_t1
float m_t2
float m_t3

Friends

class EcalCondDBInterface


Detailed Description

Definition at line 12 of file DCULVRTempsDat.h.


Constructor & Destructor Documentation

DCULVRTempsDat::DCULVRTempsDat (  ) 

Definition at line 12 of file DCULVRTempsDat.cc.

References IDBObject::m_conn, IDBObject::m_env, IDataItem::m_readStmt, m_t1, m_t2, m_t3, IDataItem::m_writeStmt, and NULL.

00013 {
00014   m_env = NULL;
00015   m_conn = NULL;
00016   m_writeStmt = NULL;
00017   m_readStmt = NULL;
00018 
00019   m_t1 = 0;
00020   m_t2 = 0;
00021   m_t3 = 0;
00022 }

DCULVRTempsDat::~DCULVRTempsDat (  ) 

Definition at line 26 of file DCULVRTempsDat.cc.

00027 {
00028 }


Member Function Documentation

void DCULVRTempsDat::fetchData ( std::map< EcalLogicID, DCULVRTempsDat > *  fillVec,
DCUIOV iov 
) throw (std::runtime_error) [private]

Definition at line 78 of file DCULVRTempsDat.cc.

References IDBObject::checkConnection(), e, IDBObject::m_conn, IDBObject::m_env, IDataItem::m_readStmt, p, setT1(), setT2(), and setT3().

00080 {
00081   this->checkConnection();
00082   fillMap->clear();
00083 
00084   iov->setConnection(m_env, m_conn);
00085   int iovID = iov->fetchID();
00086   if (!iovID) { 
00087     //  throw(runtime_error("DCULVRTempsDat::writeDB:  IOV not in DB")); 
00088     return;
00089   }
00090 
00091   try {
00092 
00093     m_readStmt->setSQL("SELECT cv.name, cv.logic_id, cv.id1, cv.id2, cv.id3, cv.maps_to, "
00094                  "d.t1, d.t2, d.t3 "
00095                  "FROM channelview cv JOIN dcu_lvr_temps_dat d "
00096                  "ON cv.logic_id = d.logic_id AND cv.name = cv.maps_to "
00097                  "WHERE d.iov_id = :iov_id");
00098     m_readStmt->setInt(1, iovID);
00099     ResultSet* rset = m_readStmt->executeQuery();
00100     
00101     std::pair< EcalLogicID, DCULVRTempsDat > p;
00102     DCULVRTempsDat dat;
00103     while(rset->next()) {
00104       p.first = EcalLogicID( rset->getString(1),     // name
00105                              rset->getInt(2),        // logic_id
00106                              rset->getInt(3),        // id1
00107                              rset->getInt(4),        // id2
00108                              rset->getInt(5),        // id3
00109                              rset->getString(6));    // maps_to
00110 
00111       dat.setT1( rset->getFloat(7) );
00112       dat.setT2( rset->getFloat(8) );
00113       dat.setT3( rset->getFloat(9) );
00114 
00115       p.second = dat;
00116       fillMap->insert(p);
00117     }
00118   } catch (SQLException &e) {
00119     throw(runtime_error("DCULVRTempsDat::fetchData():  "+e.getMessage()));
00120   }
00121 }

float DCULVRTempsDat::getT1 (  )  const [inline]

Definition at line 22 of file DCULVRTempsDat.h.

References m_t1.

00022 { return m_t1; }

float DCULVRTempsDat::getT2 (  )  const [inline]

Definition at line 25 of file DCULVRTempsDat.h.

References m_t2.

00025 { return m_t2; }

float DCULVRTempsDat::getT3 (  )  const [inline]

Definition at line 28 of file DCULVRTempsDat.h.

References m_t3.

00028 { return m_t3; }

std::string DCULVRTempsDat::getTable (  )  [inline, virtual]

Implements IDataItem.

Definition at line 19 of file DCULVRTempsDat.h.

00019 { return "DCU_LVR_TEMPS_DAT"; }

void DCULVRTempsDat::prepareWrite (  )  throw (std::runtime_error) [private, virtual]

Implements IDataItem.

Definition at line 32 of file DCULVRTempsDat.cc.

References IDBObject::checkConnection(), e, IDBObject::m_conn, and IDataItem::m_writeStmt.

00034 {
00035   this->checkConnection();
00036 
00037   try {
00038     m_writeStmt = m_conn->createStatement();
00039     m_writeStmt->setSQL("INSERT INTO dcu_lvr_temps_dat (iov_id, logic_id, "
00040                         "t1, t2, t3) "
00041                         "VALUES (:iov_id, :logic_id, "
00042                         ":3, :4, :5)");
00043   } catch (SQLException &e) {
00044     throw(runtime_error("DCULVRTempsDat::prepareWrite():  "+e.getMessage()));
00045   }
00046 }

void DCULVRTempsDat::setT1 ( float  temp  )  [inline]

Definition at line 21 of file DCULVRTempsDat.h.

References m_t1.

Referenced by fetchData().

00021 { m_t1 = temp; }

void DCULVRTempsDat::setT2 ( float  temp  )  [inline]

Definition at line 24 of file DCULVRTempsDat.h.

References m_t2.

Referenced by fetchData().

00024 { m_t2 = temp; }

void DCULVRTempsDat::setT3 ( float  temp  )  [inline]

Definition at line 27 of file DCULVRTempsDat.h.

References m_t3.

Referenced by fetchData().

00027 { m_t3 = temp; }

void DCULVRTempsDat::writeArrayDB ( const std::map< EcalLogicID, DCULVRTempsDat > *  data,
DCUIOV iov 
) throw (std::runtime_error) [private]

void DCULVRTempsDat::writeDB ( const EcalLogicID ecid,
const DCULVRTempsDat item,
DCUIOV iov 
) throw (std::runtime_error) [private]

Definition at line 50 of file DCULVRTempsDat.cc.

References IDBObject::checkConnection(), IDataItem::checkPrepare(), e, and IDataItem::m_writeStmt.

00052 {
00053   this->checkConnection();
00054   this->checkPrepare();
00055 
00056   int iovID = iov->fetchID();
00057   if (!iovID) { throw(runtime_error("DCULVRTempsDat::writeDB:  IOV not in DB")); }
00058 
00059   int logicID = ecid->getLogicID();
00060   if (!logicID) { throw(runtime_error("DCULVRTempsDat::writeDB:  Bad EcalLogicID")); }
00061   
00062   try {
00063     m_writeStmt->setInt(1, iovID);
00064     m_writeStmt->setInt(2, logicID);
00065 
00066     m_writeStmt->setFloat(3, item->getT1() );
00067     m_writeStmt->setFloat(4, item->getT2() );
00068     m_writeStmt->setFloat(5, item->getT3() );
00069 
00070     m_writeStmt->executeUpdate();
00071   } catch (SQLException &e) {
00072     throw(runtime_error("DCULVRTempsDat::writeDB():  "+e.getMessage()));
00073   }
00074 }


Friends And Related Function Documentation

friend class EcalCondDBInterface [friend]

Reimplemented from IDBObject.

Definition at line 14 of file DCULVRTempsDat.h.


Member Data Documentation

float DCULVRTempsDat::m_t1 [private]

Definition at line 45 of file DCULVRTempsDat.h.

Referenced by DCULVRTempsDat(), getT1(), and setT1().

float DCULVRTempsDat::m_t2 [private]

Definition at line 46 of file DCULVRTempsDat.h.

Referenced by DCULVRTempsDat(), getT2(), and setT2().

float DCULVRTempsDat::m_t3 [private]

Definition at line 47 of file DCULVRTempsDat.h.

Referenced by DCULVRTempsDat(), getT3(), and setT3().


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