CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
28  using DetTypeContainer = std::vector<const GeomDetType*>;
29  using DetContainer = std::vector<const GeomDet*>;
30  using DetIdContainer = std::vector<DetId>;
31  using mapIdToDetUnit = std::unordered_map<unsigned int, const GeomDet*>;
32  using mapIdToDet = std::unordered_map<unsigned int, const GeomDet*>;
33 
35  virtual ~TrackingGeometry() {}
36 
38  virtual const DetTypeContainer& detTypes() const = 0;
39 
41  virtual const DetContainer& detUnits() const = 0;
42 
44  virtual const DetContainer& dets() const = 0;
45 
47  virtual const DetIdContainer& detUnitIds() const = 0;
48 
50  virtual const DetIdContainer& detIds() const = 0;
51 
53  virtual const GeomDet* idToDetUnit(DetId) const = 0;
54 
57  virtual const GeomDet* idToDet(DetId) const = 0;
58 };
59 
60 #endif
virtual const DetIdContainer & detUnitIds() const =0
Returm a vector of all GeomDetUnit DetIds.
virtual ~TrackingGeometry()
Destructor.
virtual const DetTypeContainer & detTypes() const =0
Return a vector of all det types.
std::vector< const GeomDet * > DetContainer
virtual const GeomDet * idToDetUnit(DetId) const =0
Return the pointer to the GeomDetUnit corresponding to a given DetId.
std::unordered_map< unsigned int, const GeomDet * > mapIdToDet
virtual const DetContainer & dets() const =0
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: DetId.h:17
virtual const GeomDet * idToDet(DetId) const =0
virtual const DetContainer & detUnits() const =0
Returm a vector of all GeomDet.
std::unordered_map< unsigned int, const GeomDet * > mapIdToDetUnit
std::vector< DetId > DetIdContainer
std::vector< const GeomDetType * > DetTypeContainer
virtual const DetIdContainer & detIds() const =0
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)