Back to home page

Project CMSSW displayed by LXR

 
 

    


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