CMS 3D CMS Logo

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 std::vector<int> 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   unsigned int id(const DDExpandedView &) const;
00025 
00027   unsigned int id(const DDFilteredView &) const;
00028   
00030   unsigned int id(const nav_type &) const;
00031 
00032   nav_type navType(uint32_t) const;
00033 
00034   std::vector<nav_type> allNavTypes() const;
00035   void clear();
00036  private:
00037   void buildAll(const GeometricDet*);
00038   void buildAllStep2(const GeometricDet*);
00039 
00040   std::vector<nav_type> navVec;
00041   MapType path2id_;
00042   RevMapType revpath2id_;
00043 };
00044 
00045 //typedef Singleton<TrackerMapDDDtoID> TkMapDDDtoID;
00046 
00047 #endif

Generated on Tue Jun 9 17:37:34 2009 for CMSSW by  doxygen 1.5.4