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