Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-22 04:03:04

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 #include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h"
0011 
0012 class TrackerGeometry;
0013 class TrackerTopology;
0014 class PixelGeomDetType;
0015 class StripGeomDetType;
0016 class PTrackerParameters;
0017 
0018 class TrackerGeomBuilderFromGeometricDet {
0019 public:
0020   TrackerGeometry* build(const GeometricDet* gd,
0021                          const PTrackerAdditionalParametersPerDet* ptitp,
0022                          const PTrackerParameters& ptp,
0023                          const TrackerTopology* tTopo);
0024 
0025 private:
0026   void buildPixel(std::vector<const GeometricDet*> const&,
0027                   const PTrackerAdditionalParametersPerDet* const&,
0028                   TrackerGeometry*,
0029                   GeomDetType::SubDetector det,
0030                   int BIG_PIX_PER_ROC_X,
0031                   int BIG_PIX_PER_ROC_Y);
0032   void buildPixelPhase2(std::vector<const GeometricDet*> const&,
0033                         const PTrackerAdditionalParametersPerDet* const&,
0034                         TrackerGeometry*,
0035                         GeomDetType::SubDetector det);
0036   void buildSilicon(std::vector<const GeometricDet*> const&,
0037                     TrackerGeometry*,
0038                     GeomDetType::SubDetector det,
0039                     const std::string& part);
0040   void buildGeomDet(TrackerGeometry*);
0041 
0042   PlaneBuilderFromGeometricDet::ResultType buildPlaneWithMaterial(const GeometricDet* gd,
0043                                                                   double scaleFactor = 1.) const;
0044 
0045   std::map<std::string, const PixelGeomDetType*> thePixelDetTypeMap;
0046   std::map<std::string, const StripGeomDetType*> theStripDetTypeMap;
0047   const TrackerTopology* theTopo;
0048 };
0049 
0050 #endif