CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h

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 <string>
00008 #include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h"
00009 #include "Geometry/TrackerGeometryBuilder/interface/GeomDetTypeIdToEnum.h"
00010 #include "Geometry/TrackerGeometryBuilder/interface/GeomTopologyBuilder.h"
00011 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00012 
00013 class TrackerGeometry;
00014 class PixelGeomDetType;
00015 class StripGeomDetType;
00016 
00017 class TrackerGeomBuilderFromGeometricDet {
00018 public:
00019 
00020   TrackerGeometry* build(const GeometricDet* gd);
00021 
00022 private:
00023 
00024   void buildPixel(std::vector<const GeometricDet*> const &,
00025                   TrackerGeometry*,GeomDetType::SubDetector det, const std::string& part);
00026   void buildSilicon(std::vector<const GeometricDet*> const &,
00027                     TrackerGeometry*,GeomDetType::SubDetector det, const std::string& part);
00028   void buildGeomDet(TrackerGeometry*);
00029 
00030 /*   std::string getString(std::string const &, DDExpandedView*) const; */
00031 /*   double getDouble(std::string const &, DDExpandedView*) const; */
00032 
00033   PlaneBuilderFromGeometricDet::ResultType
00034   buildPlaneWithMaterial(const GeometricDet* gd,double scaleFactor=1.) const;
00035 
00036   GeomDetTypeIdToEnum theDetIdToEnum;
00037   GeomTopologyBuilder* theTopologyBuilder;
00038 
00039   std::map<std::string,PixelGeomDetType*> thePixelDetTypeMap;
00040   std::map<std::string,StripGeomDetType*> theStripDetTypeMap;
00041 };
00042 
00043 #endif