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