CMS 3D CMS Logo

CmsTrackerDetIdBuilder.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerNumberingBuilder_CmsTrackerDetIdBuilder_H
2 #define Geometry_TrackerNumberingBuilder_CmsTrackerDetIdBuilder_H
3 
5 #include <ostream>
6 #include <vector>
7 #include <array>
8 
9 class GeometricDet;
10 
16 public:
17  CmsTrackerDetIdBuilder(const std::vector<int> &detidShifts);
18  void buildId(GeometricDet &det);
19 
20 private:
21  void iterate(GeometricDet &det, int level, unsigned int ID);
22  static const unsigned int nSubDet = 6;
23  static const int maxLevels = 6;
24 
25  // This is the map between detid and navtype to restore backward compatibility between 12* and 13* series
26  std::map<std::string, uint32_t> m_mapNavTypeToDetId;
27  std::array<int, nSubDet * maxLevels> m_detidshifts;
28 };
29 
30 #endif
CmsTrackerDetIdBuilder(const std::vector< int > &detidShifts)
static const unsigned int nSubDet
uint32_t ID
Definition: Definitions.h:24
void iterate(GeometricDet &det, int level, unsigned int ID)
void buildId(GeometricDet &det)
std::map< std::string, uint32_t > m_mapNavTypeToDetId
std::array< int, nSubDet *maxLevels > m_detidshifts