Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef MONRUNOUTCOMEDEF_H
0002 #define MONRUNOUTCOMEDEF_H
0003 
0004 #include <string>
0005 #include <stdexcept>
0006 
0007 #include "OnlineDB/EcalCondDB/interface/IDef.h"
0008 
0009 /**
0010  *   Def for monitoring run outcomes
0011  */
0012 class MonRunOutcomeDef : public IDef {
0013 public:
0014   friend class EcalCondDBInterface;
0015 
0016   MonRunOutcomeDef();
0017   ~MonRunOutcomeDef() override;
0018 
0019   // Methods for user data
0020   std::string getShortDesc() const;
0021   void setShortDesc(std::string desc);
0022 
0023   std::string getLongDesc() const;
0024 
0025   // Methods from IUniqueDBObject
0026   int fetchID() noexcept(false) override;
0027   void setByID(int id) noexcept(false) override;
0028 
0029   // Operators
0030   inline bool operator==(const MonRunOutcomeDef &d) const { return m_shortDesc == d.m_shortDesc; }
0031   inline bool operator!=(const MonRunOutcomeDef &d) const { return m_shortDesc != d.m_shortDesc; }
0032 
0033 protected:
0034   // User data for this def
0035   std::string m_shortDesc;
0036   std::string m_longDesc;
0037 
0038   void fetchAllDefs(std::vector<MonRunOutcomeDef> *fillVec) noexcept(false);
0039 };
0040 
0041 #endif