Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RUNMODEDEF_H
0002 #define RUNMODEDEF_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 RunModeDef : public IDef {
0013 public:
0014   friend class EcalCondDBInterface;
0015 
0016   RunModeDef();
0017   ~RunModeDef() override;
0018 
0019   // Methods for user data
0020   std::string getRunMode() const;
0021   void setRunMode(std::string runmode);
0022 
0023   // Methods from IUniqueDBObject
0024   int fetchID() noexcept(false) override;
0025   void setByID(int id) noexcept(false) override;
0026 
0027   // Operators.  m_desc is not considered, it cannot be written to DB anyhow
0028   inline bool operator==(const RunModeDef &t) const { return m_runMode == t.m_runMode; }
0029   inline bool operator!=(const RunModeDef &t) const { return m_runMode != t.m_runMode; }
0030 
0031 protected:
0032   // User data for this def
0033   std::string m_runMode;
0034 
0035   void fetchAllDefs(std::vector<RunModeDef> *fillVec) noexcept(false);
0036 };
0037 
0038 #endif