Go to the documentation of this file.00001 #ifndef Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
00002 #define Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
00003
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h"
00008 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00009 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00010
00011 class TrackerGeometry;
00012 class PixelGeomDetType;
00013 class StripGeomDetType;
00014
00015 class TrackerGeomBuilderFromGeometricDet {
00016 public:
00017
00018 TrackerGeometry* build(const GeometricDet* gd, const edm::ParameterSet& pSet );
00019
00020 private:
00021
00022 void buildPixel(std::vector<const GeometricDet*> const &,
00023 TrackerGeometry*,GeomDetType::SubDetector det,
00024 bool upgradeGeometry,
00025 int BIG_PIX_PER_ROC_X,
00026 int BIG_PIX_PER_ROC_Y);
00027 void buildSilicon(std::vector<const GeometricDet*> const &,
00028 TrackerGeometry*,GeomDetType::SubDetector det, const std::string& part);
00029 void buildGeomDet(TrackerGeometry*);
00030
00031 PlaneBuilderFromGeometricDet::ResultType
00032 buildPlaneWithMaterial(const GeometricDet* gd,double scaleFactor=1.) const;
00033
00034 std::map<std::string,PixelGeomDetType*> thePixelDetTypeMap;
00035 std::map<std::string,StripGeomDetType*> theStripDetTypeMap;
00036 };
00037
00038 #endif