00001 #ifndef FECONFTimingDAT_H 00002 #define FECONFTimingDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/FEConfigTimingInfo.h" 00009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00010 00011 class FEConfigTimingDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; // XXX temp should not need 00014 FEConfigTimingDat(); 00015 ~FEConfigTimingDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "FE_CONFIG_Time_DAT"; } 00019 00020 inline void setTimingPar1(int x) { m_par1 = x; } 00021 inline int getTimingPar1() const { return m_par1; } 00022 inline void setTimingPar2(int x) { m_par2 = x; } 00023 inline int getTimingPar2() const { return m_par2; } 00024 00025 private: 00026 void prepareWrite() 00027 throw(std::runtime_error); 00028 00029 void writeDB(const EcalLogicID* ecid, const FEConfigTimingDat* item, FEConfigTimingInfo* iconf) 00030 throw(std::runtime_error); 00031 00032 void writeArrayDB(const std::map< EcalLogicID, FEConfigTimingDat>* data, FEConfigTimingInfo* iconf) 00033 throw(std::runtime_error); 00034 00035 void fetchData(std::map< EcalLogicID, FEConfigTimingDat >* fillMap, FEConfigTimingInfo* iconf) 00036 throw(std::runtime_error); 00037 00038 // User data 00039 int m_par1; 00040 int m_par2; 00041 00042 }; 00043 00044 #endif