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