00001 #ifndef MONTESTPULSEDAT_H 00002 #define MONTESTPULSEDAT_H 00003 00004 #include <map> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/MonRunTag.h" 00009 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h" 00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00011 00012 class MonTestPulseDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 MonTestPulseDat(); 00016 ~MonTestPulseDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "MON_TEST_PULSE_DAT"; } 00020 00021 inline void setADCMeanG1(float mean) { m_adcMeanG1 = mean; } 00022 inline float getADCMeanG1() const { return m_adcMeanG1; } 00023 00024 inline void setADCRMSG1(float rms) { m_adcRMSG1 = rms; } 00025 inline float getADCRMSG1() const { return m_adcRMSG1; } 00026 00027 inline void setADCMeanG6(float mean) { m_adcMeanG6 = mean; } 00028 inline float getADCMeanG6() const { return m_adcMeanG6; } 00029 00030 inline void setADCRMSG6(float rms) { m_adcRMSG6 = rms; } 00031 inline float getADCRMSG6() const { return m_adcRMSG6; } 00032 00033 inline void setADCMeanG12(float mean) { m_adcMeanG12 = mean; } 00034 inline float getADCMeanG12() const { return m_adcMeanG12; } 00035 00036 inline void setADCRMSG12(float rms) { m_adcRMSG12 = rms; } 00037 inline float getADCRMSG12() const { return m_adcRMSG12; } 00038 00039 inline void setTaskStatus(bool status) { m_taskStatus = status; } 00040 inline bool getTaskStatus() const { return m_taskStatus; } 00041 00042 private: 00043 void prepareWrite() 00044 throw(std::runtime_error); 00045 00046 void writeDB(const EcalLogicID* ecid, const MonTestPulseDat* item, MonRunIOV* iov ) 00047 throw(std::runtime_error); 00048 00049 void writeArrayDB(const std::map< EcalLogicID, MonTestPulseDat >* data, MonRunIOV* iov) 00050 throw(std::runtime_error); 00051 00052 00053 void fetchData(std::map< EcalLogicID, MonTestPulseDat >* fillMap, MonRunIOV* iov) 00054 throw(std::runtime_error); 00055 00056 // User data 00057 float m_adcMeanG1; 00058 float m_adcRMSG1; 00059 float m_adcMeanG6; 00060 float m_adcRMSG6; 00061 float m_adcMeanG12; 00062 float m_adcRMSG12; 00063 bool m_taskStatus; 00064 }; 00065 00066 #endif