Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef LOCATIONDEF_H
0002 #define LOCATIONDEF_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 LocationDef : public IDef {
0013 public:
0014   friend class EcalCondDBInterface;
0015 
0016   LocationDef();
0017   ~LocationDef() override;
0018 
0019   // Methods for user data
0020   std::string getLocation() const;
0021   void setLocation(std::string loc);
0022 
0023   // Methods from IUniqueDBObject
0024   int fetchID() noexcept(false) override;
0025   void setByID(int id) noexcept(false) override;
0026 
0027   inline bool operator==(const LocationDef& l) const { return m_loc == l.m_loc; }
0028   inline bool operator!=(const LocationDef& l) const { return m_loc != l.m_loc; }
0029 
0030 protected:
0031   // User data for this def
0032   std::string m_loc;
0033 
0034   void fetchAllDefs(std::vector<LocationDef>* fillVec) noexcept(false);
0035 };
0036 
0037 #endif