File indexing completed on 2024-09-18 05:06: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 explicit ZdcHardcodeGeometryLoader(const ZdcTopology& ht);
0021 ~ZdcHardcodeGeometryLoader() {}
0022
0023 ReturnType load(DetId::Detector det, int subdet);
0024 ReturnType load();
0025 void setAddRPD(bool flag) { m_zdcAddRPD = flag; }
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
0033 const ZdcTopology* extTopology;
0034 bool m_zdcAddRPD;
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