File indexing completed on 2023-03-17 13:02:58
0001 #ifndef Geometry_ForwardGeometry_ZdcHardcodeGeometryLoader_H
0002 #define Geometry_ForwardGeometry_ZdcHardcodeGeometryLoader_H 1
0003
0004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h"
0005 #include "Geometry/ForwardGeometry/interface/ZdcTopology.h"
0006
0007 class CaloCellGeometry;
0008 class CaloSubdetectorGeometry;
0009 class HcalZDCDetId;
0010
0011
0012
0013
0014
0015
0016 class ZdcHardcodeGeometryLoader {
0017 public:
0018 typedef CaloSubdetectorGeometry* ReturnType;
0019
0020 ZdcHardcodeGeometryLoader();
0021 explicit ZdcHardcodeGeometryLoader(const ZdcTopology& ht);
0022 virtual ~ZdcHardcodeGeometryLoader() { delete theTopology; }
0023
0024 virtual ReturnType load(DetId::Detector det, int subdet);
0025 ReturnType load();
0026
0027 private:
0028 void init();
0029 void fill(HcalZDCDetId::Section section, CaloSubdetectorGeometry* cg);
0030 void makeCell(const HcalZDCDetId& detId, CaloSubdetectorGeometry* geom) const;
0031
0032 ZdcTopology* theTopology;
0033 const ZdcTopology* extTopology;
0034
0035 float theEMSectiondX;
0036 float theEMSectiondY;
0037 float theEMSectiondZ;
0038 float theLUMSectiondX;
0039 float theLUMSectiondY;
0040 float theLUMSectiondZ;
0041 float theHADSectiondX;
0042 float theHADSectiondY;
0043 float theHADSectiondZ;
0044 float theRPDSectiondX;
0045 float theRPDSectiondY;
0046 float theRPDSectiondZ;
0047 };
0048
0049 #endif