File indexing completed on 2024-04-06 12:22:54
0001 #ifndef MODDCCDETAILSDAT_H
0002 #define MODDCCDETAILSDAT_H
0003
0004 #include <map>
0005 #include <stdexcept>
0006
0007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
0008 #include "OnlineDB/EcalCondDB/interface/MODRunIOV.h"
0009 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
0010
0011 class MODDCCDetailsDat : public IDataItem {
0012 public:
0013 friend class EcalCondDBInterface;
0014 MODDCCDetailsDat();
0015 ~MODDCCDetailsDat() override;
0016
0017
0018 inline std::string getTable() override { return "OD_DCC_DETAILS_DAT"; }
0019
0020 inline void setQPLL(int x) { m_qpll = x; }
0021 inline int getQPLL() const { return m_qpll; }
0022
0023 inline void setOpticalLink(int x) { m_opto = x; }
0024 inline int getOpticalLink() const { return m_opto; }
0025
0026 inline void setDataTimeout(int x) { m_tout = x; }
0027 inline int getDataTimeout() const { return m_tout; }
0028
0029 inline void setHeader(int x) { m_head = x; }
0030 inline int getHeader() const { return m_head; }
0031
0032 inline void setEventNumber(int x) { m_evnu = x; }
0033 inline int getEventNumber() const { return m_evnu; }
0034
0035 inline void setBXNumber(int x) { m_bxnu = x; }
0036 inline int getBXNumber() const { return m_bxnu; }
0037
0038 inline void setEvenParity(int x) { m_evpa = x; }
0039 inline int getEvenParity() const { return m_evpa; }
0040
0041 inline void setOddParity(int x) { m_odpa = x; }
0042 inline int getOddParity() const { return m_odpa; }
0043
0044 inline void setBlockSize(int x) { m_blsi = x; }
0045 inline int getBlockSize() const { return m_blsi; }
0046
0047 inline void setAlmostFullFIFO(int x) { m_alff = x; }
0048 inline int getAlmostFullFIFO() const { return m_alff; }
0049
0050 inline void setFullFIFO(int x) { m_fuff = x; }
0051 inline int getFullFIFO() const { return m_fuff; }
0052
0053 inline void setForcedFullSupp(int x) { m_fusu = x; }
0054 inline int getForcedFullSupp() const { return m_fusu; }
0055
0056 private:
0057 void prepareWrite() noexcept(false) override;
0058
0059 void writeDB(const EcalLogicID* ecid, const MODDCCDetailsDat* item, MODRunIOV* iov) noexcept(false);
0060
0061 void writeArrayDB(const std::map<EcalLogicID, MODDCCDetailsDat>* data, MODRunIOV* iov) noexcept(false);
0062
0063 void fetchData(std::map<EcalLogicID, MODDCCDetailsDat>* fillMap, MODRunIOV* iov) noexcept(false);
0064
0065
0066 int m_qpll;
0067 int m_opto;
0068 int m_tout;
0069 int m_head;
0070 int m_evnu;
0071 int m_bxnu;
0072 int m_evpa;
0073 int m_odpa;
0074 int m_blsi;
0075 int m_alff;
0076 int m_fuff;
0077 int m_fusu;
0078 };
0079
0080 #endif