#include <OnlineDB/EcalCondDB/interface/ODPedestalOffsetsDat.h>
Definition at line 11 of file ODPedestalOffsetsDat.h.
ODPedestalOffsetsDat::ODPedestalOffsetsDat | ( | ) |
Definition at line 10 of file ODPedestalOffsetsDat.cc.
References IDBObject::m_conn, IDBObject::m_env, m_fed, m_high, m_low, m_mid, IODConfig::m_readStmt, m_sm, m_tt, IODConfig::m_writeStmt, m_xt, and NULL.
00011 { 00012 m_env = NULL; 00013 m_conn = NULL; 00014 m_writeStmt = NULL; 00015 m_readStmt = NULL; 00016 00017 m_sm = 0; 00018 m_fed = 0; 00019 m_tt = 0; 00020 m_xt = 0; 00021 m_low = 0; 00022 m_mid = 0; 00023 m_high = 0; 00024 }
ODPedestalOffsetsDat::~ODPedestalOffsetsDat | ( | ) |
void ODPedestalOffsetsDat::fetchData | ( | std::vector< ODPedestalOffsetsDat > * | fillMap, | |
ODFEPedestalOffsetInfo * | iov | |||
) | throw (std::runtime_error) [private] |
Definition at line 73 of file ODPedestalOffsetsDat.cc.
References IDBObject::checkConnection(), GenMuonPlsPt100GeV_cfg::cout, e, lat::endl(), getTable(), IDBObject::m_conn, IDBObject::m_env, IODConfig::m_readStmt, p, setCrystalId(), setFedId(), setHigh(), setLow(), setMid(), setSMId(), and setTTId().
00075 { 00076 this->checkConnection(); 00077 00078 iov->setConnection(m_env, m_conn); 00079 int iovID = iov->fetchID(); 00080 if (!iovID) { 00081 std::cout <<"ID not in the DB"<< endl; 00082 return; 00083 } 00084 00085 try { 00086 m_readStmt->setSQL("SELECT * FROM " + getTable() + " WHERE rec_id = :rec_id order by sm_id, fed_id, tt_id, cry_id"); 00087 m_readStmt->setInt(1, iovID); 00088 ResultSet* rset = m_readStmt->executeQuery(); 00089 00090 // std::vector< ODPedestalOffsetsDat > p; 00091 ODPedestalOffsetsDat dat; 00092 while(rset->next()) { 00093 // dat.setId( rset->getInt(1) ); 00094 dat.setSMId( rset->getInt(2) ); 00095 dat.setFedId( rset->getInt(3) ); 00096 dat.setTTId( rset->getInt(4) ); 00097 dat.setCrystalId( rset->getInt(5) ); 00098 dat.setLow( rset->getInt(6) ); 00099 dat.setMid( rset->getInt(7) ); 00100 dat.setHigh( rset->getInt(8) ); 00101 00102 p->push_back( dat); 00103 00104 } 00105 00106 00107 } catch (SQLException &e) { 00108 throw(runtime_error("ODPedestalOffsetsDat::fetchData(): "+e.getMessage())); 00109 } 00110 }
int ODPedestalOffsetsDat::getCrystalId | ( | ) | const [inline] |
Definition at line 33 of file ODPedestalOffsetsDat.h.
References m_xt.
Referenced by writeArrayDB().
00033 { return m_xt; }
int ODPedestalOffsetsDat::getFedId | ( | ) | const [inline] |
Definition at line 27 of file ODPedestalOffsetsDat.h.
References m_fed.
Referenced by writeArrayDB().
00027 { return m_fed; }
int ODPedestalOffsetsDat::getHigh | ( | ) | const [inline] |
Definition at line 42 of file ODPedestalOffsetsDat.h.
References m_high.
Referenced by writeArrayDB().
00042 { return m_high; }
int ODPedestalOffsetsDat::getId | ( | ) | const [inline] |
int ODPedestalOffsetsDat::getLow | ( | ) | const [inline] |
Definition at line 36 of file ODPedestalOffsetsDat.h.
References m_low.
Referenced by writeArrayDB().
00036 { return m_low; }
int ODPedestalOffsetsDat::getMid | ( | ) | const [inline] |
Definition at line 39 of file ODPedestalOffsetsDat.h.
References m_mid.
Referenced by writeArrayDB().
00039 { return m_mid; }
int ODPedestalOffsetsDat::getSMId | ( | ) | const [inline] |
Definition at line 24 of file ODPedestalOffsetsDat.h.
References m_sm.
Referenced by writeArrayDB().
00024 { return m_sm; }
std::string ODPedestalOffsetsDat::getTable | ( | ) | [inline, virtual] |
Implements IODConfig.
Definition at line 18 of file ODPedestalOffsetsDat.h.
Referenced by fetchData(), and prepareWrite().
int ODPedestalOffsetsDat::getTTId | ( | ) | const [inline] |
Definition at line 30 of file ODPedestalOffsetsDat.h.
References m_tt.
Referenced by writeArrayDB().
00030 { return m_tt; }
void ODPedestalOffsetsDat::prepareWrite | ( | ) | throw (std::runtime_error) [private, virtual] |
Implements IODConfig.
Definition at line 34 of file ODPedestalOffsetsDat.cc.
References IDBObject::checkConnection(), e, getTable(), IDBObject::m_conn, and IODConfig::m_writeStmt.
00036 { 00037 this->checkConnection(); 00038 00039 try { 00040 m_writeStmt = m_conn->createStatement(); 00041 m_writeStmt->setSQL("INSERT INTO "+getTable()+" (rec_id, sm_id, fed_id, tt_id, cry_id, low, mid, high) " 00042 "VALUES (:1, :2, :3, :4, :5, :6, :7, :8 )"); 00043 } catch (SQLException &e) { 00044 throw(runtime_error("ODPedestalOffsetsDat::prepareWrite(): "+e.getMessage())); 00045 } 00046 }
Definition at line 32 of file ODPedestalOffsetsDat.h.
References m_xt.
Referenced by fetchData().
00032 { m_xt = dac; }
Definition at line 26 of file ODPedestalOffsetsDat.h.
References m_fed.
Referenced by fetchData().
00026 { m_fed = dac; }
Definition at line 41 of file ODPedestalOffsetsDat.h.
References m_high.
Referenced by fetchData().
00041 { m_high = dac; }
Definition at line 35 of file ODPedestalOffsetsDat.h.
References m_low.
Referenced by fetchData().
00035 { m_low = dac; }
Definition at line 38 of file ODPedestalOffsetsDat.h.
References m_mid.
Referenced by fetchData().
00038 { m_mid = dac; }
Definition at line 23 of file ODPedestalOffsetsDat.h.
References m_sm.
Referenced by fetchData().
00023 { m_sm = dac; }
Definition at line 29 of file ODPedestalOffsetsDat.h.
References m_tt.
Referenced by fetchData().
00029 { m_tt = dac; }
void ODPedestalOffsetsDat::writeArrayDB | ( | const std::vector< ODPedestalOffsetsDat > | data, | |
ODFEPedestalOffsetInfo * | iov | |||
) | throw (std::runtime_error) [private] |
Definition at line 114 of file ODPedestalOffsetsDat.cc.
References IDBObject::checkConnection(), count, data, e, getCrystalId(), getFedId(), getHigh(), getLow(), getMid(), getSMId(), getTTId(), IODConfig::m_writeStmt, and st.
00116 { 00117 this->checkConnection(); 00118 00119 int iovID = iov->fetchID(); 00120 if (!iovID) { throw(runtime_error("ODDelays::writeArrayDB: ODFEDelaysInfo not in DB")); } 00121 00122 00123 int nrows=data.size(); 00124 int* ids= new int[nrows]; 00125 int* xx= new int[nrows]; 00126 int* yy= new int[nrows]; 00127 int* zz= new int[nrows]; 00128 int* st= new int[nrows]; 00129 int* xx1= new int[nrows]; 00130 int* yy1= new int[nrows]; 00131 int* zz1= new int[nrows]; 00132 00133 00134 ub2* ids_len= new ub2[nrows]; 00135 ub2* x_len= new ub2[nrows]; 00136 ub2* y_len= new ub2[nrows]; 00137 ub2* z_len= new ub2[nrows]; 00138 ub2* st_len= new ub2[nrows]; 00139 ub2* x1_len= new ub2[nrows]; 00140 ub2* y1_len= new ub2[nrows]; 00141 ub2* z1_len= new ub2[nrows]; 00142 00143 ODPedestalOffsetsDat dataitem; 00144 00145 00146 for (int count = 0; count != data.size(); count++) { 00147 dataitem=data[count]; 00148 ids[count]=iovID; 00149 xx[count]=dataitem.getSMId(); 00150 yy[count]=dataitem.getFedId(); 00151 zz[count]=dataitem.getTTId(); 00152 st[count]=dataitem.getCrystalId(); 00153 xx1[count]=dataitem.getLow(); 00154 yy1[count]=dataitem.getMid(); 00155 zz1[count]=dataitem.getHigh(); 00156 00157 00158 ids_len[count]=sizeof(ids[count]); 00159 x_len[count]=sizeof(xx[count]); 00160 y_len[count]=sizeof(yy[count]); 00161 z_len[count]=sizeof(zz[count]); 00162 st_len[count]=sizeof(st[count]); 00163 x1_len[count]=sizeof(xx1[count]); 00164 y1_len[count]=sizeof(yy1[count]); 00165 z1_len[count]=sizeof(zz1[count]); 00166 00167 00168 } 00169 00170 00171 try { 00172 m_writeStmt->setDataBuffer(1, (dvoid*)ids, OCCIINT, sizeof(ids[0]),ids_len); 00173 m_writeStmt->setDataBuffer(2, (dvoid*)xx, OCCIINT , sizeof(xx[0]), x_len ); 00174 m_writeStmt->setDataBuffer(3, (dvoid*)yy, OCCIINT , sizeof(yy[0]), y_len ); 00175 m_writeStmt->setDataBuffer(4, (dvoid*)zz, OCCIINT , sizeof(zz[0]), z_len ); 00176 m_writeStmt->setDataBuffer(5, (dvoid*)st, OCCIINT , sizeof(st[0]), st_len ); 00177 m_writeStmt->setDataBuffer(6, (dvoid*)xx1, OCCIINT , sizeof(xx1[0]), x1_len ); 00178 m_writeStmt->setDataBuffer(7, (dvoid*)yy1, OCCIINT , sizeof(yy1[0]), y1_len ); 00179 m_writeStmt->setDataBuffer(8, (dvoid*)zz1, OCCIINT , sizeof(zz1[0]), z1_len ); 00180 00181 00182 m_writeStmt->executeArrayUpdate(nrows); 00183 00184 delete [] ids; 00185 delete [] xx; 00186 delete [] yy; 00187 delete [] zz; 00188 delete [] st; 00189 delete [] xx1; 00190 delete [] yy1; 00191 delete [] zz1; 00192 00193 delete [] ids_len; 00194 delete [] x_len; 00195 delete [] y_len; 00196 delete [] z_len; 00197 delete [] st_len; 00198 delete [] x1_len; 00199 delete [] y1_len; 00200 delete [] z1_len; 00201 00202 } catch (SQLException &e) { 00203 throw(runtime_error("ODPedestalOffsetsDat::writeArrayDB(): "+e.getMessage())); 00204 } 00205 }
void ODPedestalOffsetsDat::writeDB | ( | const ODPedestalOffsetsDat * | item, | |
ODFEPedestalOffsetInfo * | iov | |||
) | throw (std::runtime_error) [private] |
Definition at line 50 of file ODPedestalOffsetsDat.cc.
References IDBObject::checkConnection(), e, and IODConfig::m_writeStmt.
00052 { 00053 this->checkConnection(); 00054 00055 try { 00056 m_writeStmt->setInt(1, item->getId()); 00057 m_writeStmt->setInt(2, item->getSMId()); 00058 m_writeStmt->setInt(3, item->getFedId() ); 00059 m_writeStmt->setInt(4, item->getTTId() ); 00060 m_writeStmt->setInt(5, item->getCrystalId() ); 00061 m_writeStmt->setInt(6, item->getLow() ); 00062 m_writeStmt->setInt(7, item->getMid() ); 00063 m_writeStmt->setInt(8, item->getHigh() ); 00064 00065 m_writeStmt->executeUpdate(); 00066 } catch (SQLException &e) { 00067 throw(runtime_error("ODPedestalOffsetsDat::writeDB(): "+e.getMessage())); 00068 } 00069 }
friend class EcalCondDBInterface [friend] |
int ODPedestalOffsetsDat::m_fed [private] |
Definition at line 61 of file ODPedestalOffsetsDat.h.
Referenced by getFedId(), ODPedestalOffsetsDat(), and setFedId().
int ODPedestalOffsetsDat::m_high [private] |
Definition at line 66 of file ODPedestalOffsetsDat.h.
Referenced by getHigh(), ODPedestalOffsetsDat(), and setHigh().
int ODPedestalOffsetsDat::m_ID [private] |
int ODPedestalOffsetsDat::m_low [private] |
Definition at line 64 of file ODPedestalOffsetsDat.h.
Referenced by getLow(), ODPedestalOffsetsDat(), and setLow().
int ODPedestalOffsetsDat::m_mid [private] |
Definition at line 65 of file ODPedestalOffsetsDat.h.
Referenced by getMid(), ODPedestalOffsetsDat(), and setMid().
int ODPedestalOffsetsDat::m_sm [private] |
Definition at line 60 of file ODPedestalOffsetsDat.h.
Referenced by getSMId(), ODPedestalOffsetsDat(), and setSMId().
int ODPedestalOffsetsDat::m_tt [private] |
Definition at line 62 of file ODPedestalOffsetsDat.h.
Referenced by getTTId(), ODPedestalOffsetsDat(), and setTTId().
int ODPedestalOffsetsDat::m_xt [private] |
Definition at line 63 of file ODPedestalOffsetsDat.h.
Referenced by getCrystalId(), ODPedestalOffsetsDat(), and setCrystalId().