File indexing completed on 2024-04-06 12:26:49
0001 #ifndef ETLDetLayerGeometryBuilder_h
0002 #define ETLDetLayerGeometryBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <Geometry/MTDGeometryBuilder/interface/MTDGeometry.h>
0012 #include <Geometry/MTDNumberingBuilder/interface/MTDTopology.h>
0013 #include <vector>
0014
0015 class DetLayer;
0016 class MTDSectorForwardDoubleLayer;
0017 class MTDDetSector;
0018
0019 class ETLDetLayerGeometryBuilder {
0020 public:
0021
0022
0023 static std::pair<std::vector<DetLayer*>, std::vector<DetLayer*> > buildLayers(const MTDGeometry& geo,
0024 const MTDTopology& topo);
0025
0026 private:
0027
0028 ETLDetLayerGeometryBuilder() {}
0029
0030 static MTDSectorForwardDoubleLayer* buildLayer(
0031 int endcap, int layer, std::vector<unsigned>& sectors, const MTDGeometry& geo, const MTDTopology& topo);
0032
0033 static bool isFront(int layer, int ring, int module);
0034 static MTDDetSector* makeDetSector(std::vector<const GeomDet*>& geomDets, const MTDTopology& topo);
0035 };
0036 #endif