File indexing completed on 2023-01-21 00:19:33
0001 #ifndef Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
0002 #define Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
0003
0004 #include <string>
0005 #include <vector>
0006 #include <map>
0007 #include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h"
0008 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
0009 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
0010
0011 class TrackerGeometry;
0012 class TrackerTopology;
0013 class PixelGeomDetType;
0014 class StripGeomDetType;
0015 class PTrackerParameters;
0016
0017 class TrackerGeomBuilderFromGeometricDet {
0018 public:
0019 TrackerGeometry* build(const GeometricDet* gd, const PTrackerParameters& ptp, const TrackerTopology* tTopo);
0020
0021 private:
0022 void buildPixel(std::vector<const GeometricDet*> const&,
0023 TrackerGeometry*,
0024 GeomDetType::SubDetector det,
0025 bool upgradeGeometry,
0026 int BIG_PIX_PER_ROC_X,
0027 int BIG_PIX_PER_ROC_Y);
0028 void buildSilicon(std::vector<const GeometricDet*> const&,
0029 TrackerGeometry*,
0030 GeomDetType::SubDetector det,
0031 const std::string& part);
0032 void buildGeomDet(TrackerGeometry*);
0033
0034 PlaneBuilderFromGeometricDet::ResultType buildPlaneWithMaterial(const GeometricDet* gd,
0035 double scaleFactor = 1.) const;
0036
0037 std::map<std::string, const PixelGeomDetType*> thePixelDetTypeMap;
0038 std::map<std::string, const StripGeomDetType*> theStripDetTypeMap;
0039 const TrackerTopology* theTopo;
0040 };
0041
0042 #endif