00001 #ifndef MONPEDESTALSDAT_H 00002 #define MONPEDESTALSDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h" 00009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00010 00011 class MonPedestalsDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; // XXX temp should not need 00014 MonPedestalsDat(); 00015 ~MonPedestalsDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "MON_PEDESTALS_DAT"; } 00019 00020 inline void setPedMeanG1(float mean) { m_pedMeanG1 = mean; } 00021 inline float getPedMeanG1() const { return m_pedMeanG1; } 00022 00023 inline void setPedMeanG6(float mean) { m_pedMeanG6 = mean; } 00024 inline float getPedMeanG6() const { return m_pedMeanG6; } 00025 00026 inline void setPedMeanG12(float mean) { m_pedMeanG12 = mean; } 00027 inline float getPedMeanG12() const { return m_pedMeanG12; } 00028 00029 inline void setPedRMSG1(float rms) { m_pedRMSG1 = rms; } 00030 inline float getPedRMSG1() const { return m_pedRMSG1; } 00031 00032 inline void setPedRMSG6(float rms) { m_pedRMSG6 = rms; } 00033 inline float getPedRMSG6() const { return m_pedRMSG6; } 00034 00035 inline void setPedRMSG12(float rms) { m_pedRMSG12 = rms; } 00036 inline float getPedRMSG12() const { return m_pedRMSG12; } 00037 00038 inline void setTaskStatus(bool status) { m_taskStatus = status; } 00039 inline bool getTaskStatus() const { return m_taskStatus; } 00040 00041 private: 00042 void prepareWrite() 00043 throw(std::runtime_error); 00044 00045 void writeDB(const EcalLogicID* ecid, const MonPedestalsDat* item, MonRunIOV* iov) 00046 throw(std::runtime_error); 00047 00048 00049 void writeArrayDB(const std::map< EcalLogicID, MonPedestalsDat>* data, MonRunIOV* iov) 00050 throw(std::runtime_error); 00051 00052 00053 void fetchData(std::map< EcalLogicID, MonPedestalsDat >* fillMap, MonRunIOV* iov) 00054 throw(std::runtime_error); 00055 00056 // User data 00057 float m_pedMeanG1; 00058 float m_pedMeanG6; 00059 float m_pedMeanG12; 00060 float m_pedRMSG1; 00061 float m_pedRMSG6; 00062 float m_pedRMSG12; 00063 bool m_taskStatus; 00064 }; 00065 00066 #endif