Back to home page

Project CMSSW displayed by LXR

 
 

    


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;  // XXX temp should not need
0014   FEConfigLinDat();
0015   ~FEConfigLinDat() override;
0016 
0017   // User data methods
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   // User data
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