File indexing completed on 2024-04-06 12:15:09
0001 #ifndef GeometryHGCalGeometryHGCalGeometryLoader_h
0002 #define GeometryHGCalGeometryHGCalGeometryLoader_h
0003 #include "Geometry/HGCalGeometry/interface/HGCalGeometry.h"
0004 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
0005 #include "Geometry/CaloGeometry/interface/FlatHexagon.h"
0006
0007 class HGCalTopology;
0008 class HGCalGeometry;
0009
0010 class HGCalGeometryLoader {
0011 public:
0012 typedef CaloCellGeometry::CCGFloat CCGFloat;
0013 typedef std::vector<float> ParmVec;
0014
0015 HGCalGeometryLoader();
0016 ~HGCalGeometryLoader() = default;
0017
0018 HGCalGeometry* build(const HGCalTopology&);
0019
0020 private:
0021 void buildGeom(const ParmVec&, const HepGeom::Transform3D&, const DetId&, HGCalGeometry*, int mode);
0022
0023 const double twoBysqrt3_;
0024 int parametersPerShape_;
0025 };
0026
0027 #endif