Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:48:53

0001 #ifndef Geometry_MTDGeometryBuilder_MTDGeomBuilderFromGeometricTimingDet_H
0002 #define Geometry_MTDGeometryBuilder_MTDGeomBuilderFromGeometricTimingDet_H
0003 
0004 #include <string>
0005 #include <vector>
0006 #include <map>
0007 #include "Geometry/MTDGeometryBuilder/interface/PlaneBuilderFromGeometricTimingDet.h"
0008 #include "Geometry/MTDNumberingBuilder/interface/GeometricTimingDet.h"
0009 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
0010 
0011 class MTDGeometry;
0012 class MTDTopology;
0013 class MTDGeomDetType;
0014 class PMTDParameters;
0015 
0016 class MTDGeomBuilderFromGeometricTimingDet {
0017 public:
0018   MTDGeometry* build(const GeometricTimingDet* gd, const PMTDParameters& ptp, const MTDTopology* tTopo);
0019 
0020 private:
0021   void buildPixel(std::vector<const GeometricTimingDet*> const&,
0022                   MTDGeometry*,
0023                   GeomDetType::SubDetector det,
0024                   const PMTDParameters& ptp);
0025   void buildGeomDet(MTDGeometry*);
0026 
0027   PlaneBuilderFromGeometricTimingDet::ResultType buildPlaneWithMaterial(const GeometricTimingDet* gd,
0028                                                                         double scaleFactor = 1.) const;
0029 
0030   std::map<std::string, const MTDGeomDetType*> theMTDDetTypeMap;
0031   const MTDTopology* theTopo;
0032 };
0033 
0034 #endif