00001 #ifndef FECONFLINDAT_H 00002 #define FECONFLINDAT_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 FEConfigLinDat : public IDataItem { 00012 public: 00013 friend class EcalCondDBInterface; // XXX temp should not need 00014 FEConfigLinDat(); 00015 ~FEConfigLinDat(); 00016 00017 // User data methods 00018 inline std::string getTable() { return "FE_CONFIG_LIN_DAT"; } 00019 00020 inline void setMultX12(int x) { m_multx12 = x; } 00021 inline void setMultX6(int x) { m_multx6 = x; } 00022 inline void setMultX1(int x) { m_multx1 = x; } 00023 inline void setShift12(int x) { m_shift12 = x; } 00024 inline void setShift6(int x) { m_shift6 = x; } 00025 inline void setShift1(int x) { m_shift1 = x; } 00026 00027 00028 inline int getMultX12() const { return m_multx12; } 00029 inline int getMultX6() const { return m_multx6; } 00030 inline int getMultX1() const { return m_multx1; } 00031 inline int getShift12() const { return m_shift12; } 00032 inline int getShift6() const { return m_shift6; } 00033 inline int getShift1() const { return m_shift1; } 00034 00035 private: 00036 void prepareWrite() 00037 throw(std::runtime_error); 00038 00039 void writeDB(const EcalLogicID* ecid, const FEConfigLinDat* item, FEConfigLinInfo* iconf) 00040 throw(std::runtime_error); 00041 00042 00043 void writeArrayDB(const std::map< EcalLogicID, FEConfigLinDat>* data, FEConfigLinInfo* iconf) 00044 throw(std::runtime_error); 00045 00046 00047 void fetchData(std::map< EcalLogicID, FEConfigLinDat >* fillMap, FEConfigLinInfo* iconf) 00048 throw(std::runtime_error); 00049 00050 // User data 00051 int m_multx12; 00052 int m_multx6; 00053 int m_multx1; 00054 int m_shift12; 00055 int m_shift6; 00056 int m_shift1; 00057 00058 00059 }; 00060 00061 #endif