Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:56

0001 #ifndef ODRUNCONFIGSEQINFO_H
0002 #define ODRUNCONFIGSEQINFO_H
0003 
0004 #include <stdexcept>
0005 #include <iostream>
0006 
0007 #include "OnlineDB/EcalCondDB/interface/IODConfig.h"
0008 #include "OnlineDB/EcalCondDB/interface/Tm.h"
0009 #include "OnlineDB/EcalCondDB/interface/RunModeDef.h"
0010 #include "OnlineDB/EcalCondDB/interface/RunTypeDef.h"
0011 #include "OnlineDB/EcalCondDB/interface/RunSeqDef.h"
0012 
0013 typedef int run_t;
0014 
0015 class ODRunConfigSeqInfo : public IODConfig {
0016 public:
0017   friend class EcalCondDBInterface;
0018 
0019   ODRunConfigSeqInfo();
0020   ~ODRunConfigSeqInfo() override;
0021 
0022   inline std::string getTable() override { return "ECAL_SEQUENCE_DAT"; }
0023 
0024   // Methods for user data

0025 
0026   inline void setId(int id) { m_ID = id; }
0027   inline int getId() const { return m_ID; }
0028 
0029   inline void setDescription(std::string x) { m_description = x; }
0030   inline std::string getDescription() const { return m_description; }
0031   inline void setEcalConfigId(int x) { m_ecal_config_id = x; }
0032   inline int getEcalConfigId() const { return m_ecal_config_id; }
0033   inline void setNumberOfCycles(int x) { m_cycles = x; }
0034   inline void setSequenceId(int x) { m_ID = x; }
0035   inline int getSequenceId() const { return m_ID; }
0036   inline int getNumberOfCycles() const { return m_cycles; }
0037   inline void setSequenceNumber(int x) { m_seq_num = x; }
0038   inline int getSequenceNumber() const { return m_seq_num; }
0039   //

0040   RunSeqDef getRunSeqDef() const;
0041   void setRunSeqDef(const RunSeqDef &runSeqDef);
0042 
0043   // operators

0044   inline bool operator==(const ODRunConfigSeqInfo &r) const { return (m_ID == r.m_ID); }
0045   inline bool operator!=(const ODRunConfigSeqInfo &r) const { return !(*this == r); }
0046 
0047 private:
0048   int m_ID;
0049   int m_ecal_config_id;
0050   int m_seq_num;
0051   int m_sequence_id;
0052   int m_cycles;
0053   RunSeqDef m_run_seq;
0054   std::string m_description;
0055 
0056   // Methods from IUniqueDBObject

0057   int fetchID() noexcept(false);      // fetches the sequence by the ecal_config_id and seq_num

0058   int fetchIDLast() noexcept(false);  // fetches the sequence by the ecal_config_id and seq_num

0059   void setByID(int id) noexcept(false);
0060 
0061   void writeDB() noexcept(false);
0062 
0063   void prepareWrite() noexcept(false) override;
0064 
0065   void fetchData(ODRunConfigSeqInfo *result) noexcept(false);
0066   void clear();
0067 };
0068 
0069 #endif