00001 #ifndef ODDELAYSDAT_H 00002 #define ODDELAYSDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IODConfig.h" 00008 #include "OnlineDB/EcalCondDB/interface/ODFEDelaysInfo.h" 00009 00010 class ODDelaysDat : public IODConfig { 00011 public: 00012 friend class EcalCondDBInterface; 00013 ODDelaysDat(); 00014 ~ODDelaysDat(); 00015 00016 // User data methods 00017 inline std::string getTable() { return "DELAYS_DAT"; } 00018 00019 inline void setId(int dac) { m_ID = dac; } 00020 inline int getId() const { return m_ID; } 00021 00022 inline void setSMId(int dac) { m_sm = dac; } 00023 inline int getSMId() const { return m_sm; } 00024 00025 inline void setFedId(int dac) { m_fed = dac; } 00026 inline int getFedId() const { return m_fed; } 00027 00028 inline void setTTId(int dac) { m_tt = dac; } 00029 inline int getTTId() const { return m_tt; } 00030 00031 00032 inline void setTimeOffset(int dac) { m_t1 = dac; } 00033 inline int getTimeOffset() const { return m_t1; } 00034 00035 private: 00036 void prepareWrite() 00037 throw(std::runtime_error); 00038 00039 void writeDB(const ODDelaysDat* item, ODFEDelaysInfo* iov ) 00040 throw(std::runtime_error); 00041 00042 void writeArrayDB(const std::vector< ODDelaysDat > data, ODFEDelaysInfo* iov) 00043 throw(std::runtime_error); 00044 00045 00046 void fetchData(std::vector< ODDelaysDat >* fillMap, int id) 00047 throw(std::runtime_error); 00048 void fetchData(std::vector< ODDelaysDat >* fillMap, ODFEDelaysInfo* iov) 00049 throw(std::runtime_error); 00050 00051 // User data 00052 int m_sm; 00053 int m_fed; 00054 int m_tt; 00055 int m_t1; 00056 int m_ID; 00057 00058 }; 00059 00060 #endif