File indexing completed on 2024-04-06 12:15:15
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