CMS 3D CMS Logo

GEMGeometryBuilder.h
Go to the documentation of this file.
1 #ifndef Geometry_GEMGeometry_GEMGeometryBuilder_H
2 #define Geometry_GEMGeometry_GEMGeometryBuilder_H
3 
5 /*
6 //\class GEMGeometryBuilder
7 
8  Description: GEM Geometry builder from DD & DD4HEP
9  DD4hep part added to the original old file (DD version) made by M. Maggi (INFN Bari)
10 //
11 // Author: Sergio Lo Meo (sergio.lo.meo@cern.ch) following what Ianna Osburne made for DTs (DD4HEP migration)
12 // Created: 27 Jan 2020
13 */
14 #include <string>
15 #include <map>
16 #include <vector>
18 #include "DD4hep/DD4hepUnits.h"
19 
20 class DDCompactView;
21 class DDFilteredView;
22 namespace cms {
23  class DDFilteredView;
24  class DDCompactView;
25  class MuonNumbering;
26 } // namespace cms
27 class GEMGeometry;
28 class GEMSuperChamber;
29 class GEMChamber;
30 class GEMEtaPartition;
32 
34 public:
36 
38 
39  // for DDD
40  void build(GEMGeometry& theGeometry, const DDCompactView* cview, const MuonGeometryConstants& muonConstants);
41  // for DD4hep
42  void build(GEMGeometry& theGeometry, const cms::DDCompactView* cview, const MuonGeometryConstants& muonConstants);
43 
44 private:
45  std::map<GEMDetId, std::vector<GEMDetId>> chids;
46 
47  // for DDD
49 
50  RCPBoundPlane boundPlane(const DDFilteredView& fv, Bounds* bounds, bool isOddChamber) const;
51 
53 
55 
57 
58  // for DD4hep
59 
60  RCPBoundPlane boundPlane(const cms::DDFilteredView& fv, Bounds* bounds, bool isOddChamber) const;
61 
63 
65 
67 
68  // Common
69  void buildRegions(GEMGeometry&, const std::vector<GEMSuperChamber*>&);
70 
71  static constexpr double k_ScaleFromDD4Hep = (1.0 / dd4hep::cm);
72 };
73 
74 #endif
GEMGeometryBuilder::boundPlane
RCPBoundPlane boundPlane(const DDFilteredView &fv, Bounds *bounds, bool isOddChamber) const
Definition: GEMGeometryBuilder.cc:272
MuonGeometryConstants
Definition: MuonGeometryConstants.h:20
GEMGeometryBuilder::buildRegions
void buildRegions(GEMGeometry &, const std::vector< GEMSuperChamber * > &)
Definition: GEMGeometryBuilder.cc:499
GEMSuperChamber
Definition: GEMSuperChamber.h:19
GEMEtaPartition
Definition: GEMEtaPartition.h:12
Bounds
Definition: Bounds.h:18
GEMGeometryBuilder::chids
std::map< GEMDetId, std::vector< GEMDetId > > chids
Definition: GEMGeometryBuilder.h:45
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
cms::DDFilteredView
Definition: DDFilteredView.h:70
GEMGeometryBuilder::GEMGeometryBuilder
GEMGeometryBuilder()
Definition: GEMGeometryBuilder.cc:40
Plane.h
GEMGeometryBuilder::buildChamber
GEMChamber * buildChamber(DDFilteredView &fv, GEMDetId detId) const
Definition: GEMGeometryBuilder.cc:191
GEMGeometryBuilder::buildEtaPartition
GEMEtaPartition * buildEtaPartition(DDFilteredView &fv, GEMDetId detId) const
Definition: GEMGeometryBuilder.cc:220
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
GEMGeometryBuilder
Definition: GEMGeometryBuilder.h:33
GEMDetId
Definition: GEMDetId.h:18
GEMGeometryBuilder::RCPBoundPlane
ReferenceCountingPointer< BoundPlane > RCPBoundPlane
Definition: GEMGeometryBuilder.h:48
GEMGeometryBuilder::~GEMGeometryBuilder
~GEMGeometryBuilder()
Definition: GEMGeometryBuilder.cc:42
GEMGeometryBuilder::buildSuperChamber
GEMSuperChamber * buildSuperChamber(DDFilteredView &fv, GEMDetId detId) const
Definition: GEMGeometryBuilder.cc:157
GEMGeometryBuilder::build
void build(GEMGeometry &theGeometry, const DDCompactView *cview, const MuonGeometryConstants &muonConstants)
Definition: GEMGeometryBuilder.cc:45
GEMChamber
Definition: GEMChamber.h:19
GEMDetId.h
cms::DDCompactView
Definition: DDCompactView.h:31
GEMGeometryBuilder::k_ScaleFromDD4Hep
static constexpr double k_ScaleFromDD4Hep
Definition: GEMGeometryBuilder.h:71
DDFilteredView
Definition: DDFilteredView.h:20
MuonNumbering
GEMGeometry
Definition: GEMGeometry.h:24
cms
Namespace of DDCMS conversion namespace.
Definition: ProducerAnalyzer.cc:21