CMS 3D CMS Logo

CmsMTDStringToEnum.h
Go to the documentation of this file.
1 #ifndef Geometry_MTDNumberingBuilder_CmsMTDStringToEnum_H
2 #define Geometry_MTDNumberingBuilder_CmsMTDStringToEnum_H
3 
5 #include <string>
6 #include <map>
11 public:
12  static constexpr size_t kModStrLen = 7;
13 
14  using MapEnumType = std::map<std::string, GeometricTimingDet::GeometricTimingEnumType>;
15 
17 
18 private:
19  static MapEnumType const& map() { return m_impl.map_; }
20 
21  // a quick fix
22  struct Impl {
23  Impl();
25  };
26 
27  static const Impl m_impl;
28 };
29 #endif
CmsMTDStringToEnum::kModStrLen
static constexpr size_t kModStrLen
Definition: CmsMTDStringToEnum.h:12
GeometricTimingDet::GeometricTimingEnumType
enum GTDEnumType { unknown=100, MTD=0, BTL=1, BTLLayer=2, BTLTray=3, BTLModule=4, BTLSensor=5, BTLCrystal=6, ETL=7, ETLDisc=8, ETLRing=9, ETLModule=10, ETLSensor=11 } GeometricTimingEnumType
Definition: GeometricTimingDet.h:63
CmsMTDStringToEnum::m_impl
static const Impl m_impl
Definition: CmsMTDStringToEnum.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CmsMTDStringToEnum::MapEnumType
std::map< std::string, GeometricTimingDet::GeometricTimingEnumType > MapEnumType
Definition: CmsMTDStringToEnum.h:14
CmsMTDStringToEnum::type
GeometricTimingDet::GeometricTimingEnumType type(std::string const &) const
Definition: CmsMTDStringToEnum.cc:18
CmsMTDStringToEnum::map
static MapEnumType const & map()
Definition: CmsMTDStringToEnum.h:19
CmsMTDStringToEnum
Definition: CmsMTDStringToEnum.h:10
GeometricTimingDet.h
CmsMTDStringToEnum::Impl::map_
MapEnumType map_
Definition: CmsMTDStringToEnum.h:24
Impl
Definition: __init__.py:1
CmsMTDStringToEnum::Impl::Impl
Impl()
Definition: CmsMTDStringToEnum.cc:5