CMS 3D CMS Logo

TrackingGeometry.h
Go to the documentation of this file.
1 #ifndef TrackingGeometry_h
2 #define TrackingGeometry_h
3 
23 #include <vector>
24 #include <unordered_map>
25 
27 {
28 public:
29  using DetTypeContainer = std::vector< const GeomDetType* >;
30  using DetContainer = std::vector< const GeomDet* >;
31  using DetIdContainer = std::vector< DetId >;
32  using mapIdToDetUnit = std::unordered_map< unsigned int, const GeomDet* >;
33  using mapIdToDet = std::unordered_map< unsigned int, const GeomDet* >;
34 
36  virtual ~TrackingGeometry() {}
37 
39  virtual const DetTypeContainer& detTypes() const = 0;
40 
42  virtual const DetContainer& detUnits() const = 0;
43 
45  virtual const DetContainer& dets() const = 0;
46 
48  virtual const DetIdContainer& detUnitIds() const = 0;
49 
51  virtual const DetIdContainer& detIds() const = 0;
52 
54  virtual const GeomDet* idToDetUnit(DetId) const = 0;
55 
58  virtual const GeomDet* idToDet(DetId) const = 0;
59 };
60 
61 #endif
virtual const DetIdContainer & detIds() const =0
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
virtual const GeomDet * idToDet(DetId) const =0
virtual const DetContainer & detUnits() const =0
Returm a vector of all GeomDet.
virtual ~TrackingGeometry()
Destructor.
virtual const DetContainer & dets() const =0
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: DetId.h:18
std::vector< DetId > DetIdContainer
std::vector< const GeomDet * > DetContainer
std::unordered_map< unsigned int, const GeomDet * > mapIdToDet
virtual const DetIdContainer & detUnitIds() const =0
Returm a vector of all GeomDetUnit DetIds.
virtual const GeomDet * idToDetUnit(DetId) const =0
Return the pointer to the GeomDetUnit corresponding to a given DetId.
std::vector< const GeomDetType * > DetTypeContainer
virtual const DetTypeContainer & detTypes() const =0
Return a vector of all det types.
std::unordered_map< unsigned int, const GeomDet * > mapIdToDetUnit