CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Geometry/TrackerNumberingBuilder/interface/TrackerMapDDDtoID.h

Go to the documentation of this file.
00001 #ifndef TrackerMapDDDtoID_H
00002 #define TrackerMapDDDtoID_H
00003 
00004 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00005 
00006 #include <map>
00007 #include <vector>
00008 #include <string>
00009 
00010 
00011 class DDExpandedView;
00012 class DDFilteredView;
00013 
00014 class TrackerMapDDDtoID {
00015  public:
00016 
00017   typedef GeometricDet::nav_type nav_type;
00018   typedef std::map<nav_type,uint32_t> MapType;
00019   typedef std::map<uint32_t,nav_type> RevMapType;
00020 
00021   TrackerMapDDDtoID(const GeometricDet* iDet);
00022   ~TrackerMapDDDtoID(){clear();}
00023 
00024   /*
00025   unsigned int id(const DDExpandedView &) const;
00027   unsigned int id(const DDFilteredView &) const;
00028   */
00029 
00031   unsigned int id(const nav_type &) const;
00032 
00033   nav_type const & navType(uint32_t) const;
00034 
00035   std::vector<nav_type> const & allNavTypes() const;
00036   void clear();
00037  private:
00038   void buildAll(const GeometricDet*);
00039   void buildAllStep2(const GeometricDet*);
00040 
00041   std::vector<nav_type> navVec;
00042   MapType path2id_;
00043   RevMapType revpath2id_;
00044 };
00045 
00046 //typedef Singleton<TrackerMapDDDtoID> TkMapDDDtoID;
00047 
00048 #endif