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 public: 00015 AxesNames(); 00016 ~AxesNames(); 00017 00018 const std::string name(const DDAxes& s) ; 00019 00020 const DDAxes index(const std::string & s); 00021 00022 private: 00023 std::map<std::string, DDAxes> axesmap_; 00024 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 const DDAxes index(const std::string & s); 00035 00036 }; 00037 00038 #endif