File indexing completed on 2024-04-06 12:22:53
0001 #ifndef FECONFLINDAT_H
0002 #define FECONFLINDAT_H
0003
0004 #include <vector>
0005 #include <stdexcept>
0006
0007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
0008 #include "OnlineDB/EcalCondDB/interface/FEConfigLinInfo.h"
0009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
0010
0011 class FEConfigLinDat : public IDataItem {
0012 public:
0013 friend class EcalCondDBInterface;
0014 FEConfigLinDat();
0015 ~FEConfigLinDat() override;
0016
0017
0018 inline std::string getTable() override { return "FE_CONFIG_LIN_DAT"; }
0019
0020 inline void setMultX12(int x) { m_multx12 = x; }
0021 inline void setMultX6(int x) { m_multx6 = x; }
0022 inline void setMultX1(int x) { m_multx1 = x; }
0023 inline void setShift12(int x) { m_shift12 = x; }
0024 inline void setShift6(int x) { m_shift6 = x; }
0025 inline void setShift1(int x) { m_shift1 = x; }
0026
0027 inline int getMultX12() const { return m_multx12; }
0028 inline int getMultX6() const { return m_multx6; }
0029 inline int getMultX1() const { return m_multx1; }
0030 inline int getShift12() const { return m_shift12; }
0031 inline int getShift6() const { return m_shift6; }
0032 inline int getShift1() const { return m_shift1; }
0033
0034 private:
0035 void prepareWrite() noexcept(false) override;
0036
0037 void writeDB(const EcalLogicID* ecid, const FEConfigLinDat* item, FEConfigLinInfo* iconf) noexcept(false);
0038
0039 void writeArrayDB(const std::map<EcalLogicID, FEConfigLinDat>* data, FEConfigLinInfo* iconf) noexcept(false);
0040
0041 void fetchData(std::map<EcalLogicID, FEConfigLinDat>* fillMap, FEConfigLinInfo* iconf) noexcept(false);
0042
0043
0044 int m_multx12;
0045 int m_multx6;
0046 int m_multx1;
0047 int m_shift12;
0048 int m_shift6;
0049 int m_shift1;
0050 };
0051
0052 #endif