00001 #ifndef ODLTSCONFIG_H 00002 #define ODLTSCONFIG_H 00003 00004 #include <map> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IODConfig.h" 00008 00009 class ODLTSConfig : public IODConfig { 00010 public: 00011 friend class EcalCondDBInterface; 00012 ODLTSConfig(); 00013 ~ODLTSConfig(); 00014 00015 // User data methods 00016 inline std::string getTable() { return "ECAL_LTS_CONFIGURATION"; } 00017 00018 inline void setId(int id) { m_ID = id; } 00019 inline int getId() const { return m_ID; } 00020 00021 inline void setTriggerType(std::string x) { m_trg_type = x; } 00022 inline std::string getTriggerType() const { return m_trg_type; } 00023 00024 inline void setNumberOfEvents(int x) { m_num = x; } 00025 inline int getNumberOfEvents() const { return m_num; } 00026 00027 inline void setRate(int x) { m_rate = x; } 00028 inline int getRate() const { return m_rate; } 00029 00030 inline void setTrigLocL1Delay(int x) { m_delay = x; } 00031 inline int getTrigLocL1Delay() const { return m_delay; } 00032 void setParameters(std::map<std::string,std::string> my_keys_map); 00033 00034 private: 00035 int fetchNextId() throw(std::runtime_error); 00036 void prepareWrite() throw(std::runtime_error); 00037 void writeDB() throw(std::runtime_error); 00038 void clear(); 00039 void fetchData(ODLTSConfig * result) throw(std::runtime_error); 00040 int fetchID() throw(std::runtime_error); 00041 00042 // User data 00043 int m_ID; 00044 std::string m_trg_type; 00045 int m_num; 00046 int m_rate; 00047 int m_delay; 00048 00049 }; 00050 00051 #endif