CMS 3D CMS Logo

ODPedestalOffsetsDat Class Reference

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

Inheritance diagram for ODPedestalOffsetsDat:

IODConfig IDBObject

List of all members.

Public Member Functions

int getCrystalId () const
int getFedId () const
int getHigh () const
int getId () const
int getLow () const
int getMid () const
int getSMId () const
std::string getTable ()
int getTTId () const
 ODPedestalOffsetsDat ()
void setCrystalId (int dac)
void setFedId (int dac)
void setHigh (int dac)
void setId (int dac)
void setLow (int dac)
void setMid (int dac)
void setSMId (int dac)
void setTTId (int dac)
 ~ODPedestalOffsetsDat ()

Private Member Functions

void fetchData (std::vector< ODPedestalOffsetsDat > *fillMap, ODFEPedestalOffsetInfo *iov) throw (std::runtime_error)
void prepareWrite () throw (std::runtime_error)
void writeArrayDB (const std::vector< ODPedestalOffsetsDat > data, ODFEPedestalOffsetInfo *iov) throw (std::runtime_error)
void writeDB (const ODPedestalOffsetsDat *item, ODFEPedestalOffsetInfo *iov) throw (std::runtime_error)

Private Attributes

int m_fed
int m_high
int m_ID
int m_low
int m_mid
int m_sm
int m_tt
int m_xt

Friends

class EcalCondDBInterface


Detailed Description

Definition at line 11 of file ODPedestalOffsetsDat.h.


Constructor & Destructor Documentation

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 (  ) 

Definition at line 28 of file ODPedestalOffsetsDat.cc.

00029 {
00030 }


Member Function Documentation

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]

Definition at line 21 of file ODPedestalOffsetsDat.h.

References m_ID.

00021 { return m_ID; }

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().

00018 { return "PEDESTAL_OFFSETS_DAT"; }

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 }

void ODPedestalOffsetsDat::setCrystalId ( int  dac  )  [inline]

Definition at line 32 of file ODPedestalOffsetsDat.h.

References m_xt.

Referenced by fetchData().

00032 { m_xt = dac; }

void ODPedestalOffsetsDat::setFedId ( int  dac  )  [inline]

Definition at line 26 of file ODPedestalOffsetsDat.h.

References m_fed.

Referenced by fetchData().

00026 { m_fed = dac; }

void ODPedestalOffsetsDat::setHigh ( int  dac  )  [inline]

Definition at line 41 of file ODPedestalOffsetsDat.h.

References m_high.

Referenced by fetchData().

00041 { m_high = dac; }

void ODPedestalOffsetsDat::setId ( int  dac  )  [inline]

Definition at line 20 of file ODPedestalOffsetsDat.h.

References m_ID.

00020 { m_ID = dac; }

void ODPedestalOffsetsDat::setLow ( int  dac  )  [inline]

Definition at line 35 of file ODPedestalOffsetsDat.h.

References m_low.

Referenced by fetchData().

00035 { m_low = dac; }

void ODPedestalOffsetsDat::setMid ( int  dac  )  [inline]

Definition at line 38 of file ODPedestalOffsetsDat.h.

References m_mid.

Referenced by fetchData().

00038 { m_mid = dac; }

void ODPedestalOffsetsDat::setSMId ( int  dac  )  [inline]

Definition at line 23 of file ODPedestalOffsetsDat.h.

References m_sm.

Referenced by fetchData().

00023 { m_sm = dac; }

void ODPedestalOffsetsDat::setTTId ( int  dac  )  [inline]

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 }


Friends And Related Function Documentation

friend class EcalCondDBInterface [friend]

Reimplemented from IDBObject.

Definition at line 13 of file ODPedestalOffsetsDat.h.


Member Data Documentation

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]

Definition at line 67 of file ODPedestalOffsetsDat.h.

Referenced by getId(), and setId().

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().


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