CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/DetectorDescription/Core/interface/DDAxes.h

Go to the documentation of this file.
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