CMS 3D CMS Logo

CmsTrackerStringToEnum.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerNumberingBuilder_CmsTrackerStringToEnum_H
2 #define Geometry_TrackerNumberingBuilder_CmsTrackerStringToEnum_H
3 
5 #include <string>
6 #include <map>
11  public:
12  typedef std::map<std::string, GeometricDet::GeometricEnumType> MapEnumType;
13  typedef std::map<GeometricDet::GeometricEnumType, std::string> ReverseMapEnumType;
14 
17 
18  private:
19  static MapEnumType const & map() { return m_impl._map;}
20  static ReverseMapEnumType const & reverseMap() { return m_impl._reverseMap;}
21 
22  // a quick fix
23  struct Impl {
24  Impl();
25  MapEnumType _map;
26  ReverseMapEnumType _reverseMap;
27  };
28 
29  static const Impl m_impl;
30 
31 };
32 #endif
std::map< std::string, GeometricDet::GeometricEnumType > MapEnumType
std::map< GeometricDet::GeometricEnumType, std::string > ReverseMapEnumType
enum GeometricDet::GDEnumType GeometricEnumType
static MapEnumType const & map()
Definition: __init__.py:1
static ReverseMapEnumType const & reverseMap()
std::string const & name(GeometricDet::GeometricEnumType) const
GeometricDet::GeometricEnumType type(std::string const &) const