Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-07-29 01:21:31

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                   bool upgradeGeometry,
0031                   int BIG_PIX_PER_ROC_X,
0032                   int BIG_PIX_PER_ROC_Y);
0033   void buildSilicon(std::vector<const GeometricDet*> const&,
0034                     TrackerGeometry*,
0035                     GeomDetType::SubDetector det,
0036                     const std::string& part);
0037   void buildGeomDet(TrackerGeometry*);
0038 
0039   PlaneBuilderFromGeometricDet::ResultType buildPlaneWithMaterial(const GeometricDet* gd,
0040                                                                   double scaleFactor = 1.) const;
0041 
0042   std::map<std::string, const PixelGeomDetType*> thePixelDetTypeMap;
0043   std::map<std::string, const StripGeomDetType*> theStripDetTypeMap;
0044   const TrackerTopology* theTopo;
0045 };
0046 
0047 #endif