Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:38

0001 #ifndef Geometry_ForwardGeometry_CastorHardcodeGeometryLoader_H
0002 #define Geometry_ForwardGeometry_CastorHardcodeGeometryLoader_H 1
0003 
0004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h"
0005 #include "Geometry/ForwardGeometry/interface/CastorTopology.h"
0006 
0007 class CaloCellGeometry;
0008 class CaloSubdetectorGeometry;
0009 class HcalCastorDetId;
0010 
0011 class CastorHardcodeGeometryLoader {
0012 public:
0013   CastorHardcodeGeometryLoader();
0014   explicit CastorHardcodeGeometryLoader(const CastorTopology& ht);
0015   virtual ~CastorHardcodeGeometryLoader() { delete theTopology; };
0016 
0017   virtual std::unique_ptr<CaloSubdetectorGeometry> load(DetId::Detector det, int subdet);
0018   std::unique_ptr<CaloSubdetectorGeometry> load();
0019 
0020 private:
0021   void init();
0022   void fill(HcalCastorDetId::Section section, CaloSubdetectorGeometry* cg);
0023   void makeCell(const HcalCastorDetId& detId, CaloSubdetectorGeometry* geom) const;
0024 
0025   CastorTopology* theTopology;
0026   const CastorTopology* extTopology;
0027 
0028   float theEMSectiondX;
0029   float theEMSectiondY;
0030   float theEMSectiondZ;
0031   float theHADSectiondX;
0032   float theHADSectiondY;
0033   float theHADSectiondZ;
0034 };
0035 
0036 #endif