00001 #ifndef MONLED2DAT_H 00002 #define MONLED2DAT_H 00003 00004 #include <vector> 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 MonLed2Dat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 MonLed2Dat(); 00016 ~MonLed2Dat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "MON_LED2_DAT"; } 00020 00021 inline void setVPTMean(float mean) { m_vptMean = mean; } 00022 inline float getVPTMean() const { return m_vptMean; } 00023 00024 inline void setVPTRMS(float rms) { m_vptRMS = rms; } 00025 inline float getVPTRMS() const { return m_vptRMS; } 00026 00027 inline void setVPTOverPNMean(float mean) { m_vptOverPNMean = mean; } 00028 inline float getVPTOverPNMean() const { return m_vptOverPNMean; } 00029 00030 inline void setVPTOverPNRMS(float rms) { m_vptOverPNRMS = rms; } 00031 inline float getVPTOverPNRMS() const { return m_vptOverPNRMS; } 00032 00033 inline void setTaskStatus(bool status) { m_taskStatus = status; } 00034 inline bool getTaskStatus() const { return m_taskStatus; } 00035 00036 00037 private: 00038 void prepareWrite() 00039 throw(std::runtime_error); 00040 00041 void writeDB(const EcalLogicID* ecid, const MonLed2Dat* item, MonRunIOV* iov) 00042 throw(std::runtime_error); 00043 00044 void writeArrayDB(const std::map< EcalLogicID, MonLed2Dat>* data, MonRunIOV* iov) 00045 throw(std::runtime_error); 00046 00047 void fetchData(std::map< EcalLogicID, MonLed2Dat >* fillMap, MonRunIOV* iov) 00048 throw(std::runtime_error); 00049 00050 // User data 00051 float m_vptMean; 00052 float m_vptRMS; 00053 float m_vptOverPNMean; 00054 float m_vptOverPNRMS; 00055 bool m_taskStatus; 00056 00057 }; 00058 00059 #endif