#include <ODWeightsSamplesDat.h>
Public Member Functions | |
int | getFedId () const |
int | getId () const |
int | getSampleId () const |
std::string | getTable () |
int | getWeightNumber () const |
ODWeightsSamplesDat () | |
void | setFedId (int dac) |
void | setId (int dac) |
void | setSampleId (int dac) |
void | setWeightNumber (int dac) |
~ODWeightsSamplesDat () | |
Private Member Functions | |
void | clear () |
void | fetchData (std::vector< ODWeightsSamplesDat > *fillMap, ODFEWeightsInfo *iov) throw (std::runtime_error) |
void | fetchData (ODWeightsSamplesDat *p) throw (std::runtime_error) |
void | prepareWrite () throw (std::runtime_error) |
void | writeArrayDB (const std::vector< ODWeightsSamplesDat > data, ODFEWeightsInfo *iov) throw (std::runtime_error) |
void | writeDB (const ODWeightsSamplesDat *item, ODFEWeightsInfo *iov) throw (std::runtime_error) |
Private Attributes | |
int | m_fed |
int | m_ID |
int | m_sn |
int | m_ss |
Friends | |
class | EcalCondDBInterface |
Definition at line 12 of file ODWeightsSamplesDat.h.
ODWeightsSamplesDat::ODWeightsSamplesDat | ( | ) |
Definition at line 10 of file ODWeightsSamplesDat.cc.
References NULL.
{ m_env = NULL; m_conn = NULL; m_writeStmt = NULL; m_readStmt = NULL; m_fed = 0; }
ODWeightsSamplesDat::~ODWeightsSamplesDat | ( | ) |
Definition at line 23 of file ODWeightsSamplesDat.cc.
{ }
void ODWeightsSamplesDat::clear | ( | void | ) | [private] |
Definition at line 27 of file ODWeightsSamplesDat.cc.
void ODWeightsSamplesDat::fetchData | ( | std::vector< ODWeightsSamplesDat > * | fillMap, |
ODFEWeightsInfo * | iov | ||
) | throw (std::runtime_error) [private] |
Definition at line 68 of file ODWeightsSamplesDat.cc.
References gather_cfg::cout, o2o::iov, AlCaHLTBitMon_ParallelJobs::p, setFedId(), setSampleId(), and setWeightNumber().
{ this->checkConnection(); iov->setConnection(m_env, m_conn); int iovID = iov->fetchID(); if (!iovID) { std::cout <<"ID not in the DB"<< endl; return; } try { m_readStmt->setSQL("SELECT * FROM " + getTable() + " WHERE rec_id = :rec_id order by fed_id, sample_id"); m_readStmt->setInt(1, iovID); ResultSet* rset = m_readStmt->executeQuery(); // std::vector< ODWeightsSamplesDat > p; ODWeightsSamplesDat dat; while(rset->next()) { // dat.setId( rset->getInt(1) ); dat.setFedId( rset->getInt(2) ); dat.setSampleId( rset->getInt(3) ); dat.setWeightNumber( rset->getInt(4) ); p->push_back( dat); } } catch (SQLException &e) { throw(std::runtime_error("ODWeightsSamplesDat::fetchData(): "+e.getMessage())); } }
void ODWeightsSamplesDat::fetchData | ( | ODWeightsSamplesDat * | p | ) | throw (std::runtime_error) [private] |
Definition at line 103 of file ODWeightsSamplesDat.cc.
References AlCaHLTBitMon_ParallelJobs::p.
{ this->checkConnection(); try { m_readStmt->setSQL("SELECT * FROM " + getTable() + " WHERE rec_id = :1 order by fed_id, sample_id"); m_readStmt->setInt(1, p->getId()); ResultSet* rset = m_readStmt->executeQuery(); while(rset->next()) { p->setFedId( rset->getInt(2) ); p->setSampleId( rset->getInt(3) ); p->setWeightNumber( rset->getInt(4) ); } } catch (SQLException &e) { throw(std::runtime_error("ODWeightsSamplesDat::fetchData(): "+e.getMessage())); } }
int ODWeightsSamplesDat::getFedId | ( | ) | const [inline] |
Definition at line 25 of file ODWeightsSamplesDat.h.
References m_fed.
Referenced by writeArrayDB().
{ return m_fed; }
int ODWeightsSamplesDat::getId | ( | ) | const [inline] |
int ODWeightsSamplesDat::getSampleId | ( | ) | const [inline] |
Definition at line 28 of file ODWeightsSamplesDat.h.
References m_ss.
Referenced by popcon::EcalSRPHandler::getNewObjects(), and writeArrayDB().
{ return m_ss; }
std::string ODWeightsSamplesDat::getTable | ( | ) | [inline, virtual] |
Implements IODConfig.
Definition at line 19 of file ODWeightsSamplesDat.h.
{ return "DCC_WEIGHTSAMPLE_DAT"; }
int ODWeightsSamplesDat::getWeightNumber | ( | ) | const [inline] |
Definition at line 31 of file ODWeightsSamplesDat.h.
References m_sn.
Referenced by writeArrayDB().
{ return m_sn; }
void ODWeightsSamplesDat::prepareWrite | ( | ) | throw (std::runtime_error) [private, virtual] |
Implements IODConfig.
Definition at line 33 of file ODWeightsSamplesDat.cc.
{ this->checkConnection(); try { m_writeStmt = m_conn->createStatement(); m_writeStmt->setSQL("INSERT INTO "+getTable()+" (rec_id, fed_id, sample_id, weight_number ) " "VALUES (:1, :2, :3, :4 )"); } catch (SQLException &e) { throw(std::runtime_error("ODWeightsSamplesDat::prepareWrite(): "+e.getMessage())); } }
void ODWeightsSamplesDat::setFedId | ( | int | dac | ) | [inline] |
Definition at line 24 of file ODWeightsSamplesDat.h.
References m_fed.
Referenced by fetchData().
{ m_fed = dac; }
void ODWeightsSamplesDat::setId | ( | int | dac | ) | [inline] |
Definition at line 21 of file ODWeightsSamplesDat.h.
References m_ID.
Referenced by popcon::EcalSRPHandler::getNewObjects().
{ m_ID = dac; }
void ODWeightsSamplesDat::setSampleId | ( | int | dac | ) | [inline] |
Definition at line 27 of file ODWeightsSamplesDat.h.
References m_ss.
Referenced by fetchData().
{ m_ss = dac; }
void ODWeightsSamplesDat::setWeightNumber | ( | int | dac | ) | [inline] |
Definition at line 30 of file ODWeightsSamplesDat.h.
References m_sn.
Referenced by fetchData().
{ m_sn = dac; }
void ODWeightsSamplesDat::writeArrayDB | ( | const std::vector< ODWeightsSamplesDat > | data, |
ODFEWeightsInfo * | iov | ||
) | throw (std::runtime_error) [private] |
Definition at line 126 of file ODWeightsSamplesDat.cc.
References prof2calltree::count, AlCaHLTBitMon_QueryRunRegistry::data, getFedId(), getSampleId(), getWeightNumber(), and o2o::iov.
{ this->checkConnection(); int iovID = iov->fetchID(); if (!iovID) { throw(std::runtime_error("ODDelays::writeArrayDB: ODFEDelaysInfo not in DB")); } int nrows=data.size(); int* ids= new int[nrows]; int* xx= new int[nrows]; int* yy= new int[nrows]; int* zz= new int[nrows]; ub2* ids_len= new ub2[nrows]; ub2* x_len= new ub2[nrows]; ub2* y_len= new ub2[nrows]; ub2* z_len= new ub2[nrows]; ODWeightsSamplesDat dataitem; int n_data= (int) data.size(); for (int count = 0; count <n_data ; count++) { dataitem=data[count]; ids[count]=iovID; xx[count]=dataitem.getFedId(); yy[count]=dataitem.getSampleId(); zz[count]=dataitem.getWeightNumber(); ids_len[count]=sizeof(ids[count]); x_len[count]=sizeof(xx[count]); y_len[count]=sizeof(yy[count]); z_len[count]=sizeof(zz[count]); } try { m_writeStmt->setDataBuffer(1, (dvoid*)ids, OCCIINT, sizeof(ids[0]),ids_len); m_writeStmt->setDataBuffer(2, (dvoid*)xx, OCCIINT , sizeof(xx[0]), x_len ); m_writeStmt->setDataBuffer(3, (dvoid*)yy, OCCIINT , sizeof(yy[0]), y_len ); m_writeStmt->setDataBuffer(4, (dvoid*)zz, OCCIINT , sizeof(zz[0]), z_len ); m_writeStmt->executeArrayUpdate(nrows); delete [] ids; delete [] xx; delete [] yy; delete [] zz; delete [] ids_len; delete [] x_len; delete [] y_len; delete [] z_len; } catch (SQLException &e) { throw(std::runtime_error("ODWeightsSamplesDat::writeArrayDB(): "+e.getMessage())); } }
void ODWeightsSamplesDat::writeDB | ( | const ODWeightsSamplesDat * | item, |
ODFEWeightsInfo * | iov | ||
) | throw (std::runtime_error) [private] |
Definition at line 49 of file ODWeightsSamplesDat.cc.
{ this->checkConnection(); try { m_writeStmt->setInt(1, item->getId()); m_writeStmt->setInt(2, item->getFedId() ); m_writeStmt->setInt(3, item->getSampleId() ); m_writeStmt->setInt(4, item->getWeightNumber() ); m_writeStmt->executeUpdate(); } catch (SQLException &e) { throw(std::runtime_error("ODWeightsSamplesDat::writeDB(): "+e.getMessage())); } }
friend class EcalCondDBInterface [friend] |
Reimplemented from IDBObject.
Definition at line 14 of file ODWeightsSamplesDat.h.
int ODWeightsSamplesDat::m_fed [private] |
Definition at line 54 of file ODWeightsSamplesDat.h.
Referenced by getFedId(), and setFedId().
int ODWeightsSamplesDat::m_ID [private] |
Definition at line 57 of file ODWeightsSamplesDat.h.
int ODWeightsSamplesDat::m_sn [private] |
Definition at line 56 of file ODWeightsSamplesDat.h.
Referenced by getWeightNumber(), and setWeightNumber().
int ODWeightsSamplesDat::m_ss [private] |
Definition at line 55 of file ODWeightsSamplesDat.h.
Referenced by getSampleId(), and setSampleId().