CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
DCULVRTempsDat Class Reference

#include <DCULVRTempsDat.h>

Inheritance diagram for DCULVRTempsDat:
IDataItem IDBObject

Public Member Functions

 DCULVRTempsDat ()
 
float getT1 () const
 
float getT2 () const
 
float getT3 () const
 
std::string getTable () override
 
void setT1 (float temp)
 
void setT2 (float temp)
 
void setT3 (float temp)
 
 ~DCULVRTempsDat () override
 
- Public Member Functions inherited from IDataItem
 IDataItem ()
 
- Public Member Functions inherited from IDBObject
oracle::occi::Connection * getConn () const
 
oracle::occi::Environment * getEnv () const
 
void setConnection (oracle::occi::Environment *env, oracle::occi::Connection *conn)
 
virtual ~IDBObject ()
 

Private Member Functions

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

Private Attributes

float m_t1
 
float m_t2
 
float m_t3
 

Friends

class EcalCondDBInterface
 

Additional Inherited Members

- Static Public Attributes inherited from IDBObject
static int const ECALDB_NROWS =1024
 
- Protected Member Functions inherited from IDataItem
void checkPrepare () noexcept(false)
 
void createReadStatement () noexcept(false)
 
void setPrefetchRowCount (int ncount) noexcept(false)
 
void terminateReadStatement () noexcept(false)
 
void terminateWriteStatement () noexcept(false)
 
- Protected Member Functions inherited from IDBObject
void checkConnection () const noexcept(false)
 
- Protected Attributes inherited from IDataItem
oracle::occi::Statement * m_readStmt
 
oracle::occi::Statement * m_writeStmt
 
- Protected Attributes inherited from IDBObject
oracle::occi::Connection * m_conn
 
oracle::occi::Environment * m_env
 

Detailed Description

Definition at line 12 of file DCULVRTempsDat.h.

Constructor & Destructor Documentation

DCULVRTempsDat::DCULVRTempsDat ( )

Definition at line 12 of file DCULVRTempsDat.cc.

13 {
14  m_env = nullptr;
15  m_conn = nullptr;
16  m_writeStmt = nullptr;
17  m_readStmt = nullptr;
18 
19  m_t1 = 0;
20  m_t2 = 0;
21  m_t3 = 0;
22 }
oracle::occi::Environment * m_env
Definition: IDBObject.h:38
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
oracle::occi::Statement * m_readStmt
Definition: IDataItem.h:29
DCULVRTempsDat::~DCULVRTempsDat ( )
override

Definition at line 26 of file DCULVRTempsDat.cc.

27 {
28 }

Member Function Documentation

void DCULVRTempsDat::fetchData ( std::map< EcalLogicID, DCULVRTempsDat > *  fillVec,
DCUIOV iov 
)
privatenoexcept

Definition at line 78 of file DCULVRTempsDat.cc.

References MillePedeFileConverter_cfg::e, AlCaHLTBitMon_ParallelJobs::p, setT1(), setT2(), and setT3().

Referenced by getT3().

80 {
81  this->checkConnection();
82  fillMap->clear();
83 
84  iov->setConnection(m_env, m_conn);
85  int iovID = iov->fetchID();
86  if (!iovID) {
87  // throw(std::runtime_error("DCULVRTempsDat::writeDB: IOV not in DB"));
88  return;
89  }
90 
91  try {
92 
93  m_readStmt->setSQL("SELECT cv.name, cv.logic_id, cv.id1, cv.id2, cv.id3, cv.maps_to, "
94  "d.t1, d.t2, d.t3 "
95  "FROM channelview cv JOIN dcu_lvr_temps_dat d "
96  "ON cv.logic_id = d.logic_id AND cv.name = cv.maps_to "
97  "WHERE d.iov_id = :iov_id");
98  m_readStmt->setInt(1, iovID);
99  ResultSet* rset = m_readStmt->executeQuery();
100 
101  std::pair< EcalLogicID, DCULVRTempsDat > p;
102  DCULVRTempsDat dat;
103  while(rset->next()) {
104  p.first = EcalLogicID( rset->getString(1), // name
105  rset->getInt(2), // logic_id
106  rset->getInt(3), // id1
107  rset->getInt(4), // id2
108  rset->getInt(5), // id3
109  rset->getString(6)); // maps_to
110 
111  dat.setT1( rset->getFloat(7) );
112  dat.setT2( rset->getFloat(8) );
113  dat.setT3( rset->getFloat(9) );
114 
115  p.second = dat;
116  fillMap->insert(p);
117  }
118  } catch (SQLException &e) {
119  throw(std::runtime_error("DCULVRTempsDat::fetchData(): "+e.getMessage()));
120  }
121 }
oracle::occi::Environment * m_env
Definition: IDBObject.h:38
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
oracle::occi::Statement * m_readStmt
Definition: IDataItem.h:29
void setT3(float temp)
int fetchID() noexcept(false) override
Definition: DCUIOV.cc:79
void setT1(float temp)
void setT2(float temp)
void setConnection(oracle::occi::Environment *env, oracle::occi::Connection *conn)
Definition: IDBObject.h:23
float DCULVRTempsDat::getT1 ( ) const
inline

Definition at line 22 of file DCULVRTempsDat.h.

References m_t1.

22 { return m_t1; }
float DCULVRTempsDat::getT2 ( ) const
inline

Definition at line 25 of file DCULVRTempsDat.h.

References m_t2.

25 { return m_t2; }
float DCULVRTempsDat::getT3 ( ) const
inline

Definition at line 28 of file DCULVRTempsDat.h.

References data, fetchData(), m_t3, noexcept, prepareWrite(), writeArrayDB(), and writeDB().

28 { return m_t3; }
std::string DCULVRTempsDat::getTable ( )
inlineoverridevirtual

Implements IDataItem.

Definition at line 19 of file DCULVRTempsDat.h.

19 { return "DCU_LVR_TEMPS_DAT"; }
void DCULVRTempsDat::prepareWrite ( )
overrideprivatevirtualnoexcept

Implements IDataItem.

Definition at line 32 of file DCULVRTempsDat.cc.

References MillePedeFileConverter_cfg::e.

Referenced by getT3().

34 {
35  this->checkConnection();
36 
37  try {
38  m_writeStmt = m_conn->createStatement();
39  m_writeStmt->setSQL("INSERT INTO dcu_lvr_temps_dat (iov_id, logic_id, "
40  "t1, t2, t3) "
41  "VALUES (:iov_id, :logic_id, "
42  ":3, :4, :5)");
43  } catch (SQLException &e) {
44  throw(std::runtime_error("DCULVRTempsDat::prepareWrite(): "+e.getMessage()));
45  }
46 }
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
void DCULVRTempsDat::setT1 ( float  temp)
inline

Definition at line 21 of file DCULVRTempsDat.h.

References m_t1, and groupFilesInBlocks::temp.

Referenced by fetchData().

void DCULVRTempsDat::setT2 ( float  temp)
inline

Definition at line 24 of file DCULVRTempsDat.h.

References m_t2, and groupFilesInBlocks::temp.

Referenced by fetchData().

void DCULVRTempsDat::setT3 ( float  temp)
inline

Definition at line 27 of file DCULVRTempsDat.h.

References m_t3, and groupFilesInBlocks::temp.

Referenced by fetchData().

void DCULVRTempsDat::writeArrayDB ( const std::map< EcalLogicID, DCULVRTempsDat > *  data,
DCUIOV iov 
)
privatenoexcept

Referenced by getT3().

void DCULVRTempsDat::writeDB ( const EcalLogicID ecid,
const DCULVRTempsDat item,
DCUIOV iov 
)
privatenoexcept

Definition at line 50 of file DCULVRTempsDat.cc.

References MillePedeFileConverter_cfg::e.

Referenced by getT3().

52 {
53  this->checkConnection();
54  this->checkPrepare();
55 
56  int iovID = iov->fetchID();
57  if (!iovID) { throw(std::runtime_error("DCULVRTempsDat::writeDB: IOV not in DB")); }
58 
59  int logicID = ecid->getLogicID();
60  if (!logicID) { throw(std::runtime_error("DCULVRTempsDat::writeDB: Bad EcalLogicID")); }
61 
62  try {
63  m_writeStmt->setInt(1, iovID);
64  m_writeStmt->setInt(2, logicID);
65 
66  m_writeStmt->setFloat(3, item->getT1() );
67  m_writeStmt->setFloat(4, item->getT2() );
68  m_writeStmt->setFloat(5, item->getT3() );
69 
70  m_writeStmt->executeUpdate();
71  } catch (SQLException &e) {
72  throw(std::runtime_error("DCULVRTempsDat::writeDB(): "+e.getMessage()));
73  }
74 }
float getT1() const
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
void checkPrepare() noexcept(false)
Definition: IDataItem.h:31
float getT2() const
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
int getLogicID() const
Definition: EcalLogicID.cc:41
float getT3() const
int fetchID() noexcept(false) override
Definition: DCUIOV.cc:79

Friends And Related Function Documentation

friend class EcalCondDBInterface
friend

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 getT1(), and setT1().

float DCULVRTempsDat::m_t2
private

Definition at line 46 of file DCULVRTempsDat.h.

Referenced by getT2(), and setT2().

float DCULVRTempsDat::m_t3
private

Definition at line 47 of file DCULVRTempsDat.h.

Referenced by getT3(), and setT3().