CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/OnlineDB/EcalCondDB/interface/DCUCCSDat.h

Go to the documentation of this file.
00001 #ifndef DCUCCSDAT_H
00002 #define DCUCCSDAT_H
00003 
00004 #include <map>
00005 #include <stdexcept>
00006 
00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
00008 #include "OnlineDB/EcalCondDB/interface/DCUTag.h"
00009 #include "OnlineDB/EcalCondDB/interface/DCUIOV.h"
00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
00011 
00012 class DCUCCSDat : public IDataItem {
00013  public:
00014   friend class EcalCondDBInterface;
00015   DCUCCSDat();
00016   ~DCUCCSDat();
00017 
00018   // User data methods
00019   inline std::string getTable() { return "DCU_CCS_DAT"; }
00020 
00021   inline void setM1VDD1(float temp) { m_m1_vdd1 = temp; }
00022   inline void setM2VDD1(float temp) { m_m2_vdd1 = temp; }
00023   inline void setM1VDD2(float temp) { m_m1_vdd2 = temp; }
00024   inline void setM2VDD2(float temp) { m_m2_vdd2 = temp; }
00025   inline void setVDD(float m1vdd1, float m1vdd2, float m2vdd1, float m2vdd2) {
00026     setM1VDD1(m1vdd1);
00027     setM1VDD2(m1vdd2);
00028     setM2VDD1(m2vdd1);
00029     setM2VDD2(m2vdd2);
00030   }
00031   inline void setM1Vinj(float temp) { m_m1_vinj = temp; }
00032   inline void setM2Vinj(float temp) { m_m2_vinj = temp; }
00033   inline void setVinj(float v1, float v2) {
00034     setM1Vinj(v1);
00035     setM2Vinj(v2);
00036   }
00037   inline void setM1Vcc(float temp) { m_m1_vcc = temp; }
00038   inline void setM2Vcc(float temp) { m_m2_vcc = temp; }
00039   inline void setVcc(float v1, float v2) {
00040     setM1Vcc(v1);
00041     setM2Vcc(v2);
00042   }
00043   inline void setM1DCUTemp(float temp) { m_m1_dcutemp = temp; }
00044   inline void setM2DCUTemp(float temp) { m_m2_dcutemp = temp; }
00045   inline void setDCUTemp(float t1, float t2) {
00046     setM1DCUTemp(t1);
00047     setM2DCUTemp(t2);
00048   }
00049   inline void setCCSTempLow(float temp) { m_ccstemplow = temp; }
00050   inline void setCCSTempHigh(float temp) { m_ccstemphigh = temp; }
00051   inline void setCCSTemp(float low, float high) {
00052     setCCSTempLow(low);
00053     setCCSTempHigh(high);
00054   }
00055   inline void setM1(float vdd1, float vdd2, float vinj, float vcc, 
00056                     float dcutemp) {
00057     setM1VDD1(vdd1);
00058     setM1VDD2(vdd2);
00059     setM1Vinj(vinj);
00060     setM1Vcc(vcc);
00061     setM1DCUTemp(dcutemp);
00062   }
00063   inline void setM2(float vdd1, float vdd2, float vinj, float vcc, 
00064                     float dcutemp) {
00065     setM2VDD1(vdd1);
00066     setM2VDD2(vdd2);
00067     setM2Vinj(vinj);
00068     setM2Vcc(vcc);
00069     setM2DCUTemp(dcutemp);
00070   }
00071   inline float getM1VDD1() const { return m_m1_vdd1; }
00072   inline float getM1VDD2() const { return m_m1_vdd2; }
00073   inline float getM2VDD1() const { return m_m2_vdd1; }
00074   inline float getM2VDD2() const { return m_m2_vdd2; }
00075   inline float getM1Vinj() const { return m_m1_vinj; }
00076   inline float getM2Vinj() const { return m_m2_vinj; }
00077   inline float getM1Vcc()  const { return m_m1_vcc; }
00078   inline float getM2Vcc()  const { return m_m2_vcc; }
00079   inline float getM1DCUTemp()  const { return m_m1_dcutemp; }
00080   inline float getM2DCUTemp()  const { return m_m2_dcutemp; }
00081   inline float getCCSTempLow() const { return m_ccstemplow; }
00082   inline float getCCSTempHigh() const { return m_ccstemphigh; }
00083 
00084  private:
00085   void prepareWrite() 
00086     throw(std::runtime_error);
00087 
00088   void writeDB(const EcalLogicID* ecid, const DCUCCSDat* item, DCUIOV* iov)
00089     throw(std::runtime_error);
00090 
00091   void writeArrayDB(const std::map< EcalLogicID, DCUCCSDat>* data, DCUIOV* iov)
00092     throw(std::runtime_error);
00093 
00094   void fetchData(std::map< EcalLogicID, DCUCCSDat >* fillVec, DCUIOV* iov)
00095      throw(std::runtime_error);
00096 
00097   // User data
00098   float m_m1_vdd1;
00099   float m_m2_vdd1;
00100   float m_m1_vdd2;
00101   float m_m2_vdd2;
00102   float m_m1_vinj;
00103   float m_m2_vinj;
00104   float m_m1_vcc;
00105   float m_m2_vcc;
00106   float m_m1_dcutemp;
00107   float m_m2_dcutemp;
00108   float m_ccstemplow;
00109   float m_ccstemphigh;
00110 };
00111 
00112 #endif