00001 #ifndef DDAxes_h 00002 #define DDAxes_h 00003 00004 #include "DetectorDescription/Base/interface/Singleton.h" 00005 00006 #include <string> 00007 #include <map> 00008 00010 enum DDAxes {x, y, z, rho, radial3D, phi, undefined}; 00011 00012 class AxesNames 00013 { 00014 00015 public: 00016 AxesNames(); 00017 ~AxesNames(); 00018 00019 const std::string name(const DDAxes& s) ; 00020 00021 DDAxes index(const std::string & s); 00022 00023 private: 00024 std::map<std::string, DDAxes> axesmap_; 00025 }; 00026 00027 00028 class DDAxesNames : public DDI::Singleton<AxesNames> 00029 { 00030 public: 00031 00032 static const std::string name(const DDAxes& s); 00033 00034 static DDAxes index(const std::string & s); 00035 }; 00036 00037 #endif // DDAxes_h