CMS 3D CMS Logo

DTGeometryBuilder.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_RECO_GEOMETRY_DT_GEOMETRY_BUILDER_H
2 #define GEOMETRY_RECO_GEOMETRY_DT_GEOMETRY_BUILDER_H
3 
8 
9 namespace dd4hep {
10  class Detector;
11 }
12 
13 class DTGeometry;
14 class DTChamber;
15 class DTSuperLayer;
16 class DTLayer;
17 
18 namespace cms {
19 
20  class DDDetector;
21  class DDFilteredView;
22  class MuonNumbering;
23  struct DDSpecPar;
24 
26  public:
29 
31  using DDSpecParRefs = std::vector<const DDSpecPar*>;
32 
33  void build(DTGeometry&, const DDDetector*, const MuonNumbering&, const DDSpecParRefs&);
34 
35  private:
36  void buildGeometry(DDFilteredView&, DTGeometry&, const MuonNumbering&) const;
37 
39  DTChamber* buildChamber(DDFilteredView&, const MuonNumbering&) const;
40 
42  DTSuperLayer* buildSuperLayer(DDFilteredView&, DTChamber*, const MuonNumbering&) const;
43 
45  DTLayer* buildLayer(DDFilteredView&, DTSuperLayer*, const MuonNumbering&) const;
46 
48 
49  RCPPlane plane(const DDFilteredView&, Bounds* bounds) const;
50 
51  std::unique_ptr<cms::DTNumberingScheme> dtnum_ = nullptr;
52  };
53 } // namespace cms
54 
55 #endif
dd4hep::Detector Detector
Namespace of DDCMS conversion namespace.
Definition: Bounds.h:20
std::vector< const DDSpecPar * > DDSpecParRefs