00001 #ifndef FECONFFGRPARAMDAT_H 00002 #define FECONFFGRPARAMDAT_H 00003 00004 #include <vector> 00005 #include <stdexcept> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h" 00008 #include "OnlineDB/EcalCondDB/interface/FEConfigFgrInfo.h" 00009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h" 00010 00011 class FEConfigFgrParamDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; // XXX temp should not need 00014 FEConfigFgrParamDat(); 00015 ~FEConfigFgrParamDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "FE_CONFIG_FGRPARAM_DAT"; } 00019 00020 00021 inline void setFGlowthresh(float x) { m_fglowthresh = x; } 00022 inline void setFGhighthresh(float x) { m_fghighthresh = x; } 00023 inline void setFGlowratio(float x) { m_lowratio = x; } 00024 inline void setFGhighratio(float x) { m_highratio = x; } 00025 00026 inline float getFGlowthresh() const { return m_fglowthresh; } 00027 inline float getFGhighthresh() const{ return m_fghighthresh; } 00028 inline float getFGlowratio() const { return m_lowratio ; } 00029 inline float getFGhighratio() const { return m_highratio; } 00030 00031 private: 00032 void prepareWrite() 00033 throw(std::runtime_error); 00034 00035 void writeDB(const EcalLogicID* ecid, const FEConfigFgrParamDat* item, FEConfigFgrInfo* iconf) 00036 throw(std::runtime_error); 00037 00038 00039 void writeArrayDB(const std::map< EcalLogicID, FEConfigFgrParamDat>* data, FEConfigFgrInfo* iconf) 00040 throw(std::runtime_error); 00041 00042 00043 void fetchData(std::map< EcalLogicID, FEConfigFgrParamDat >* fillMap, FEConfigFgrInfo* iconf) 00044 throw(std::runtime_error); 00045 00046 // User data 00047 float m_fglowthresh ; 00048 float m_fghighthresh ; 00049 float m_lowratio ; 00050 float m_highratio ; 00051 00052 }; 00053 00054 #endif