00001 #ifndef MONDELAYSTTDAT_H 00002 #define MONDELAYSTTDAT_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 MonDelaysTTDat : public IDataItem { 00013 public: 00014 friend class EcalCondDBInterface; 00015 MonDelaysTTDat(); 00016 ~MonDelaysTTDat(); 00017 00018 // User data methods 00019 inline std::string getTable() { return "MON_DELAYS_TT_DAT"; } 00020 00021 inline void setDelayMean(float mean) { m_delayMean = mean; } 00022 inline float getDelayMean() const { return m_delayMean; } 00023 00024 inline void setDelayRMS(float rms) { m_delayRMS = rms; } 00025 inline float getDelayRMS() const { return m_delayRMS; } 00026 00027 inline void setTaskStatus(bool status) { m_taskStatus = status; } 00028 inline bool getTaskStatus() const { return m_taskStatus; } 00029 00030 00031 private: 00032 void prepareWrite() 00033 throw(std::runtime_error); 00034 00035 void writeDB(const EcalLogicID* ecid, const MonDelaysTTDat* item, MonRunIOV* iov) 00036 throw(std::runtime_error); 00037 00038 void fetchData(std::map< EcalLogicID, MonDelaysTTDat >* fillVec, MonRunIOV* iov) 00039 throw(std::runtime_error); 00040 00041 void writeArrayDB(const std::map< EcalLogicID, MonDelaysTTDat >* data, MonRunIOV* iov) 00042 throw(std::runtime_error); 00043 00044 00045 // User data 00046 float m_delayMean; 00047 float m_delayRMS; 00048 bool m_taskStatus; 00049 00050 }; 00051 00052 #endif