Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:57:20

0001 #ifndef RUNSEQDEF_H
0002 #define RUNSEQDEF_H
0003 
0004 #include <string>
0005 #include <stdexcept>
0006 
0007 #include "OnlineDB/EcalCondDB/interface/IDef.h"
0008 #include "OnlineDB/EcalCondDB/interface/RunTypeDef.h"
0009 
0010 /**
0011  *   Def for Location information
0012  */
0013 class RunSeqDef : public IDef {
0014 public:
0015   friend class ODRunConfigSeqInfo;
0016   friend class EcalCondDBInterface;
0017 
0018   RunSeqDef();
0019   ~RunSeqDef() override;
0020 
0021   // Methods for user data
0022   std::string getRunSeq() const;
0023   void setRunSeq(std::string runseq);
0024 
0025   RunTypeDef getRunTypeDef() const;
0026   void setRunTypeDef(const RunTypeDef& runTypeDef);
0027 
0028   // Methods from IUniqueDBObject
0029   int fetchID() noexcept(false) override;
0030   void setByID(int id) noexcept(false) override;
0031 
0032   // Operators.  m_desc is not considered, it cannot be written to DB anyhow
0033   inline bool operator==(const RunSeqDef& t) const { return m_runSeq == t.m_runSeq; }
0034   inline bool operator!=(const RunSeqDef& t) const { return m_runSeq != t.m_runSeq; }
0035 
0036 protected:
0037   // User data for this def
0038   std::string m_runSeq;
0039   RunTypeDef m_runType;
0040 
0041   int writeDB() noexcept(false);
0042 
0043   void fetchAllDefs(std::vector<RunSeqDef>* fillVec) noexcept(false);
0044 };
0045 
0046 #endif