CMS 3D CMS Logo

MonPedestalsDat Class Reference

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

Inheritance diagram for MonPedestalsDat:

IDataItem IDBObject

List of all members.

Public Member Functions

float getPedMeanG1 () const
float getPedMeanG12 () const
float getPedMeanG6 () const
float getPedRMSG1 () const
float getPedRMSG12 () const
float getPedRMSG6 () const
std::string getTable ()
bool getTaskStatus () const
 MonPedestalsDat ()
void setPedMeanG1 (float mean)
void setPedMeanG12 (float mean)
void setPedMeanG6 (float mean)
void setPedRMSG1 (float rms)
void setPedRMSG12 (float rms)
void setPedRMSG6 (float rms)
void setTaskStatus (bool status)
 ~MonPedestalsDat ()

Private Member Functions

void fetchData (std::map< EcalLogicID, MonPedestalsDat > *fillMap, MonRunIOV *iov) throw (std::runtime_error)
void prepareWrite () throw (std::runtime_error)
void writeArrayDB (const std::map< EcalLogicID, MonPedestalsDat > *data, MonRunIOV *iov) throw (std::runtime_error)
void writeDB (const EcalLogicID *ecid, const MonPedestalsDat *item, MonRunIOV *iov) throw (std::runtime_error)

Private Attributes

float m_pedMeanG1
float m_pedMeanG12
float m_pedMeanG6
float m_pedRMSG1
float m_pedRMSG12
float m_pedRMSG6
bool m_taskStatus

Friends

class EcalCondDBInterface


Detailed Description

Definition at line 11 of file MonPedestalsDat.h.


Constructor & Destructor Documentation

MonPedestalsDat::MonPedestalsDat (  ) 

Definition at line 11 of file MonPedestalsDat.cc.

References IDBObject::m_conn, IDBObject::m_env, m_pedMeanG1, m_pedMeanG12, m_pedMeanG6, m_pedRMSG1, m_pedRMSG12, m_pedRMSG6, IDataItem::m_readStmt, m_taskStatus, IDataItem::m_writeStmt, and NULL.

00012 {
00013   m_env = NULL;
00014   m_conn = NULL;
00015   m_writeStmt = NULL;
00016   m_readStmt = NULL;
00017 
00018   m_pedMeanG1 = 0;
00019   m_pedMeanG6 = 0;
00020   m_pedMeanG12 = 0;
00021   m_pedRMSG1 = 0;
00022   m_pedRMSG6 = 0;
00023   m_pedRMSG12 = 0;
00024   m_taskStatus = 0;
00025 }

MonPedestalsDat::~MonPedestalsDat (  ) 

Definition at line 29 of file MonPedestalsDat.cc.

00030 {
00031 }


Member Function Documentation

void MonPedestalsDat::fetchData ( std::map< EcalLogicID, MonPedestalsDat > *  fillMap,
MonRunIOV iov 
) throw (std::runtime_error) [private]

float MonPedestalsDat::getPedMeanG1 (  )  const [inline]

Definition at line 21 of file MonPedestalsDat.h.

References m_pedMeanG1.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00021 { return m_pedMeanG1; }

float MonPedestalsDat::getPedMeanG12 (  )  const [inline]

Definition at line 27 of file MonPedestalsDat.h.

References m_pedMeanG12.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00027 { return m_pedMeanG12; }

float MonPedestalsDat::getPedMeanG6 (  )  const [inline]

Definition at line 24 of file MonPedestalsDat.h.

References m_pedMeanG6.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00024 { return m_pedMeanG6; }

float MonPedestalsDat::getPedRMSG1 (  )  const [inline]

Definition at line 30 of file MonPedestalsDat.h.

References m_pedRMSG1.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00030 { return m_pedRMSG1; }

float MonPedestalsDat::getPedRMSG12 (  )  const [inline]

Definition at line 36 of file MonPedestalsDat.h.

References m_pedRMSG12.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00036 { return m_pedRMSG12; }

float MonPedestalsDat::getPedRMSG6 (  )  const [inline]

Definition at line 33 of file MonPedestalsDat.h.

References m_pedRMSG6.

Referenced by EcalTPGParamBuilder::analyze(), popcon::EcalPedestalsHandler::getNewObjectsH2(), popcon::EcalPedestalsHandler::getNewObjectsP5(), and writeArrayDB().

00033 { return m_pedRMSG6; }

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

Implements IDataItem.

Definition at line 18 of file MonPedestalsDat.h.

00018 { return "MON_PEDESTALS_DAT"; }

bool MonPedestalsDat::getTaskStatus (  )  const [inline]

Definition at line 39 of file MonPedestalsDat.h.

References m_taskStatus.

Referenced by writeArrayDB().

00039 { return m_taskStatus; }

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

Implements IDataItem.

Definition at line 35 of file MonPedestalsDat.cc.

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

00037 {
00038   this->checkConnection();
00039 
00040   try {
00041     m_writeStmt = m_conn->createStatement();
00042     m_writeStmt->setSQL("INSERT INTO mon_pedestals_dat (iov_id, logic_id, "
00043                       "ped_mean_g1, ped_mean_g6, ped_mean_g12, "
00044                       "ped_rms_g1, ped_rms_g6, ped_rms_g12, task_status) "
00045                       "VALUES (:iov_id, :logic_id, "
00046                       ":ped_mean_g1, :ped_mean_g6, :ped_mean_g12, "
00047                       ":ped_rms_g1, :ped_rms_g6, :ped_rms_g12, :task_status)");
00048   } catch (SQLException &e) {
00049     throw(runtime_error("MonPedestalsDat::prepareWrite():  "+e.getMessage()));
00050   }
00051 }

void MonPedestalsDat::setPedMeanG1 ( float  mean  )  [inline]

Definition at line 20 of file MonPedestalsDat.h.

References m_pedMeanG1.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00020 { m_pedMeanG1 = mean; }

void MonPedestalsDat::setPedMeanG12 ( float  mean  )  [inline]

Definition at line 26 of file MonPedestalsDat.h.

References m_pedMeanG12.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00026 { m_pedMeanG12 = mean; }

void MonPedestalsDat::setPedMeanG6 ( float  mean  )  [inline]

Definition at line 23 of file MonPedestalsDat.h.

References m_pedMeanG6.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00023 { m_pedMeanG6 = mean; }

void MonPedestalsDat::setPedRMSG1 ( float  rms  )  [inline]

Definition at line 29 of file MonPedestalsDat.h.

References m_pedRMSG1.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00029 { m_pedRMSG1 = rms; }

void MonPedestalsDat::setPedRMSG12 ( float  rms  )  [inline]

Definition at line 35 of file MonPedestalsDat.h.

References m_pedRMSG12.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00035 { m_pedRMSG12 = rms; }

void MonPedestalsDat::setPedRMSG6 ( float  rms  )  [inline]

Definition at line 32 of file MonPedestalsDat.h.

References m_pedRMSG6.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00032 { m_pedRMSG6 = rms; }

void MonPedestalsDat::setTaskStatus ( bool  status  )  [inline]

Definition at line 38 of file MonPedestalsDat.h.

References m_taskStatus.

Referenced by EBPedestalClient::writeDb(), and EEPedestalClient::writeDb().

00038 { m_taskStatus = status; }

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

Definition at line 136 of file MonPedestalsDat.cc.

References IDBObject::checkConnection(), IDataItem::checkPrepare(), count, data, EcalLogicID::getLogicID(), getPedMeanG1(), getPedMeanG12(), getPedMeanG6(), getPedRMSG1(), getPedRMSG12(), getPedRMSG6(), getTaskStatus(), IDataItem::m_writeStmt, st, t, tt, w, ww, x, y, and z.

00138 {
00139   this->checkConnection();
00140   this->checkPrepare();
00141 
00142   int iovID = iov->fetchID();
00143   if (!iovID) { throw(runtime_error("MonPedestalsDat::writeArrayDB:  IOV not in DB")); }
00144 
00145 
00146   int nrows=data->size(); 
00147   int* ids= new int[nrows];
00148   int* iovid_vec= new int[nrows];
00149   float* xx= new float[nrows];
00150   float* yy= new float[nrows];
00151   float* zz= new float[nrows];
00152   float* ww= new float[nrows];
00153   float* uu= new float[nrows];
00154   float* tt= new float[nrows];
00155   int* st= new int[nrows];
00156 
00157   ub2* ids_len= new ub2[nrows];
00158   ub2* iov_len= new ub2[nrows];
00159   ub2* x_len= new ub2[nrows];
00160   ub2* y_len= new ub2[nrows];
00161   ub2* z_len= new ub2[nrows];
00162   ub2* w_len= new ub2[nrows];
00163   ub2* u_len= new ub2[nrows];
00164   ub2* t_len= new ub2[nrows];
00165   ub2* st_len= new ub2[nrows];
00166 
00167   const EcalLogicID* channel;
00168   const MonPedestalsDat* dataitem;
00169   int count=0;
00170   typedef map< EcalLogicID, MonPedestalsDat >::const_iterator CI;
00171   for (CI p = data->begin(); p != data->end(); ++p) {
00172         channel = &(p->first);
00173         int logicID = channel->getLogicID();
00174         if (!logicID) { throw(runtime_error("MonPedestalsDat::writeArrayDB:  Bad EcalLogicID")); }
00175         ids[count]=logicID;
00176         iovid_vec[count]=iovID;
00177 
00178         dataitem = &(p->second);
00179         // dataIface.writeDB( channel, dataitem, iov);
00180         float x=dataitem->getPedMeanG1();
00181         float y=dataitem->getPedMeanG6();
00182         float z=dataitem->getPedMeanG12();
00183         float w=dataitem->getPedRMSG1();
00184         float u=dataitem->getPedRMSG6();
00185         float t=dataitem->getPedRMSG12();
00186         int statu=dataitem->getTaskStatus();
00187 
00188 
00189 
00190         xx[count]=x;
00191         yy[count]=y;
00192         zz[count]=z;
00193         ww[count]=w;
00194         uu[count]=u;
00195         tt[count]=t;
00196         st[count]=statu;
00197 
00198 
00199         ids_len[count]=sizeof(ids[count]);
00200         iov_len[count]=sizeof(iovid_vec[count]);
00201         
00202         x_len[count]=sizeof(xx[count]);
00203         y_len[count]=sizeof(yy[count]);
00204         z_len[count]=sizeof(zz[count]);
00205         w_len[count]=sizeof(ww[count]);
00206         u_len[count]=sizeof(uu[count]);
00207         t_len[count]=sizeof(tt[count]);
00208         st_len[count]=sizeof(st[count]);
00209 
00210         count++;
00211      }
00212 
00213 
00214   try {
00215     m_writeStmt->setDataBuffer(1, (dvoid*)iovid_vec, OCCIINT, sizeof(iovid_vec[0]),iov_len);
00216     m_writeStmt->setDataBuffer(2, (dvoid*)ids, OCCIINT, sizeof(ids[0]), ids_len );
00217     m_writeStmt->setDataBuffer(3, (dvoid*)xx, OCCIFLOAT , sizeof(xx[0]), x_len );
00218     m_writeStmt->setDataBuffer(4, (dvoid*)yy, OCCIFLOAT , sizeof(yy[0]), y_len );
00219     m_writeStmt->setDataBuffer(5, (dvoid*)zz, OCCIFLOAT , sizeof(zz[0]), z_len );
00220     m_writeStmt->setDataBuffer(6, (dvoid*)ww, OCCIFLOAT , sizeof(ww[0]), w_len );
00221     m_writeStmt->setDataBuffer(7, (dvoid*)uu, OCCIFLOAT , sizeof(uu[0]), u_len );
00222     m_writeStmt->setDataBuffer(8, (dvoid*)tt, OCCIFLOAT , sizeof(tt[0]), t_len );
00223     m_writeStmt->setDataBuffer(9, (dvoid*)st, OCCIINT , sizeof(st[0]), st_len );
00224    
00225 
00226     m_writeStmt->executeArrayUpdate(nrows);
00227 
00228     delete [] ids;
00229     delete [] iovid_vec;
00230     delete [] xx;
00231     delete [] yy;
00232     delete [] zz;
00233     delete [] ww;
00234     delete [] uu;
00235     delete [] tt;
00236     delete [] st;
00237 
00238     delete [] ids_len;
00239     delete [] iov_len;
00240     delete [] x_len;
00241     delete [] y_len;
00242     delete [] z_len;
00243     delete [] w_len;
00244     delete [] u_len;
00245     delete [] t_len;
00246     delete [] st_len;
00247 
00248 
00249 
00250   } catch (SQLException &e) {
00251     throw(runtime_error("MonPedestalsDat::writeArrayDB():  "+e.getMessage()));
00252   }
00253 }

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

Definition at line 55 of file MonPedestalsDat.cc.

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

00057 {
00058   this->checkConnection();
00059   this->checkPrepare();
00060 
00061   int iovID = iov->fetchID();
00062   if (!iovID) { throw(runtime_error("MonPedestalsDat::writeDB:  IOV not in DB")); }
00063 
00064   int logicID = ecid->getLogicID();
00065   if (!logicID) { throw(runtime_error("MonPedestalsDat::writeDB:  Bad EcalLogicID")); }
00066  
00067   try {
00068     m_writeStmt->setInt(1, iovID);
00069     m_writeStmt->setInt(2, logicID);
00070     m_writeStmt->setFloat(3, item->getPedMeanG1());
00071     m_writeStmt->setFloat(4, item->getPedMeanG6());
00072     m_writeStmt->setFloat(5, item->getPedMeanG12());
00073     m_writeStmt->setFloat(6, item->getPedRMSG1());
00074     m_writeStmt->setFloat(7, item->getPedRMSG6());
00075     m_writeStmt->setFloat(8, item->getPedRMSG12());
00076     m_writeStmt->setInt(9, item->getTaskStatus());
00077 
00078     m_writeStmt->executeUpdate();
00079   } catch (SQLException &e) {
00080     throw(runtime_error("MonPedestalsDat::writeDB():  "+e.getMessage()));
00081   }
00082 }


Friends And Related Function Documentation

friend class EcalCondDBInterface [friend]

Reimplemented from IDBObject.

Definition at line 13 of file MonPedestalsDat.h.


Member Data Documentation

float MonPedestalsDat::m_pedMeanG1 [private]

Definition at line 57 of file MonPedestalsDat.h.

Referenced by getPedMeanG1(), MonPedestalsDat(), and setPedMeanG1().

float MonPedestalsDat::m_pedMeanG12 [private]

Definition at line 59 of file MonPedestalsDat.h.

Referenced by getPedMeanG12(), MonPedestalsDat(), and setPedMeanG12().

float MonPedestalsDat::m_pedMeanG6 [private]

Definition at line 58 of file MonPedestalsDat.h.

Referenced by getPedMeanG6(), MonPedestalsDat(), and setPedMeanG6().

float MonPedestalsDat::m_pedRMSG1 [private]

Definition at line 60 of file MonPedestalsDat.h.

Referenced by getPedRMSG1(), MonPedestalsDat(), and setPedRMSG1().

float MonPedestalsDat::m_pedRMSG12 [private]

Definition at line 62 of file MonPedestalsDat.h.

Referenced by getPedRMSG12(), MonPedestalsDat(), and setPedRMSG12().

float MonPedestalsDat::m_pedRMSG6 [private]

Definition at line 61 of file MonPedestalsDat.h.

Referenced by getPedRMSG6(), MonPedestalsDat(), and setPedRMSG6().

bool MonPedestalsDat::m_taskStatus [private]

Definition at line 63 of file MonPedestalsDat.h.

Referenced by getTaskStatus(), MonPedestalsDat(), and setTaskStatus().


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