File indexing completed on 2024-04-06 12:14:50
0001 #ifndef Geometry_HcalTowerAlgo_HcalDDDGeometryLoader_H
0002 #define Geometry_HcalTowerAlgo_HcalDDDGeometryLoader_H
0003
0004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h"
0005 #include "Geometry/HcalCommonData/interface/HcalDDDRecConstants.h"
0006 #include "Geometry/HcalTowerAlgo/interface/HcalDDDGeometry.h"
0007 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0008
0009 class CaloCellGeometry;
0010 class HcalDetId;
0011 class HcalDDDGeometry;
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 class HcalDDDGeometryLoader {
0022 public:
0023 explicit HcalDDDGeometryLoader(const HcalDDDRecConstants* hcons);
0024 virtual ~HcalDDDGeometryLoader();
0025
0026 typedef CaloSubdetectorGeometry* ReturnType;
0027 ReturnType load(const HcalTopology& topo, DetId::Detector, int);
0028
0029 ReturnType load(const HcalTopology& topo);
0030
0031 HcalDDDGeometryLoader() = delete;
0032
0033 private:
0034
0035
0036 void fill(HcalSubdetector, HcalDDDGeometry*);
0037
0038 void makeCell(const HcalDetId&, const HcalCellType&, double, double, HcalDDDGeometry* geom) const;
0039
0040 const HcalDDDRecConstants* hcalConstants_;
0041
0042 bool isBH_;
0043 };
0044
0045 #endif