Back to home page

Project CMSSW displayed by LXR

 
 

    


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