CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/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 public:
00015   AxesNames();
00016   ~AxesNames();
00017   
00018   const std::string name(const DDAxes& s) ;
00019   
00020   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 DDAxes index(const std::string & s);
00035 
00036 };         
00037 
00038 #endif