00001 #ifndef FECONFFGRGROUPDAT_H 00002 #define FECONFFGRGROUPDAT_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 FEConfigFgrGroupDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; // XXX temp should not need 00014 FEConfigFgrGroupDat(); 00015 ~FEConfigFgrGroupDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "FE_CONFIG_FGR_PER_GROUP_DAT"; } 00019 00020 inline void setFgrGroupId(int x) { m_group_id = x; } 00021 inline int getFgrGroupId() const { return m_group_id; } 00022 00023 inline void setThreshLow(float x) { m_thresh_low = x; } 00024 inline float getThreshLow() const { return m_thresh_low; } 00025 inline void setThreshHigh(float x) { m_thresh_high = x; } 00026 inline float getThreshHigh() const { return m_thresh_high; } 00027 inline void setRatioLow(float x) { m_ratio_low = x; } 00028 inline float getRatioLow() const { return m_ratio_low; } 00029 inline void setRatioHigh(float x) { m_ratio_high = x; } 00030 inline float getRatioHigh() const { return m_ratio_high; } 00031 inline void setLUTValue(int x) { m_lut = x; } 00032 inline int getLUTValue() const { return m_lut; } 00033 00034 private: 00035 void prepareWrite() 00036 throw(std::runtime_error); 00037 00038 void writeDB(const EcalLogicID* ecid, const FEConfigFgrGroupDat* item, FEConfigFgrInfo* iconf) 00039 throw(std::runtime_error); 00040 00041 00042 void writeArrayDB(const std::map< EcalLogicID, FEConfigFgrGroupDat>* data, FEConfigFgrInfo* iconf) 00043 throw(std::runtime_error); 00044 00045 00046 void fetchData(std::map< EcalLogicID, FEConfigFgrGroupDat >* fillMap, FEConfigFgrInfo* iconf) 00047 throw(std::runtime_error); 00048 00049 // User data 00050 int m_group_id; 00051 float m_thresh_low; 00052 float m_thresh_high; 00053 float m_ratio_low; 00054 float m_ratio_high; 00055 int m_lut; 00056 00057 }; 00058 00059 #endif