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&,
34  const DDDetector*,
35  const MuonNumbering&,
36  const DDSpecParRefs&);
37  private:
38  void buildGeometry(DDFilteredView&,
39  DTGeometry&, const MuonNumbering&) const;
40 
42  DTChamber* buildChamber(const DDFilteredView&,
43  const MuonNumbering&) const;
44 
46  DTSuperLayer* buildSuperLayer(const DDFilteredView&,
47  DTChamber*,
48  const MuonNumbering&) const;
49 
51  DTLayer* buildLayer(DDFilteredView&,
52  DTSuperLayer*,
53  const MuonNumbering&) const;
54 
56 
57  RCPPlane plane(const DDFilteredView&,
58  Bounds* bounds) const;
59 
60  std::unique_ptr<cms::DTNumberingScheme> dtnum_ = nullptr;
61  };
62 }
63 
64 #endif
dd4hep::Detector Detector
Namespace of DDCMS conversion namespace.
Definition: Bounds.h:22
std::vector< const DDSpecPar * > DDSpecParRefs