Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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