CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/OnlineDB/EcalCondDB/interface/FEConfigFgrGroupDat.h

Go to the documentation of this file.
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