CMS 3D CMS Logo

ETLDetLayerGeometryBuilder.h
Go to the documentation of this file.
1 #ifndef ETLDetLayerGeometryBuilder_h
2 #define ETLDetLayerGeometryBuilder_h
3 
13 #include <vector>
14 
15 class DetLayer;
17 class MTDDetRing;
19 class MTDDetSector;
20 
22 public:
25  static std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > buildLayers(const MTDGeometry& geo,
26  const MTDTopology& topo);
27 
28 private:
29  // Disable constructor - only static access is allowed.
31 
33  int layer,
34  std::vector<unsigned>& rings,
35  const MTDGeometry& geo);
36 
38  int endcap, int layer, std::vector<unsigned>& sectors, const MTDGeometry& geo, const MTDTopology& topo);
39 
40  static MTDDetRing* makeDetRing(std::vector<const GeomDet*>& geomDets);
41  static bool isFront(int layer, int ring, int module);
42  static MTDDetSector* makeDetSector(std::vector<const GeomDet*>& geomDets, const MTDTopology& topo);
43 };
44 #endif
static MTDDetSector * makeDetSector(std::vector< const GeomDet *> &geomDets, const MTDTopology &topo)
static bool isFront(int layer, int ring, int module)
constexpr std::array< uint8_t, layerIndexSize > layer
static MTDDetRing * makeDetRing(std::vector< const GeomDet *> &geomDets)
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildLayers(const MTDGeometry &geo, const MTDTopology &topo)
static MTDRingForwardDoubleLayer * buildLayer(int endcap, int layer, std::vector< unsigned > &rings, const MTDGeometry &geo)
static MTDSectorForwardDoubleLayer * buildLayerNew(int endcap, int layer, std::vector< unsigned > &sectors, const MTDGeometry &geo, const MTDTopology &topo)