CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Geometry/ForwardGeometry/interface/ZdcHardcodeGeometryLoader.h

Go to the documentation of this file.
00001 #ifndef Geometry_ForwardGeometry_ZdcHardcodeGeometryLoader_H
00002 #define Geometry_ForwardGeometry_ZdcHardcodeGeometryLoader_H 1
00003 
00004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h"
00005 #include "Geometry/ForwardGeometry/interface/ZdcTopology.h"
00006 #include <boost/shared_ptr.hpp>
00007 
00008 class CaloCellGeometry;
00009 class CaloSubdetectorGeometry;
00010 class HcalZDCDetId;
00011 
00019 class ZdcHardcodeGeometryLoader {
00020 public:
00021 
00022   typedef CaloSubdetectorGeometry* ReturnType ;
00023 
00024   ZdcHardcodeGeometryLoader();
00025   explicit ZdcHardcodeGeometryLoader(const ZdcTopology& ht);
00026   virtual ~ZdcHardcodeGeometryLoader() { delete theTopology ; }
00027   
00028   virtual ReturnType load(DetId::Detector det, int subdet);
00029   ReturnType load();
00030   
00031 private:
00032   void init();
00033   void fill(HcalZDCDetId::Section section,CaloSubdetectorGeometry* cg);
00034   void makeCell(const HcalZDCDetId & detId,
00035                 CaloSubdetectorGeometry* geom) const;
00036 
00037   ZdcTopology*       theTopology;
00038   const ZdcTopology* extTopology;
00039       
00040   float theEMSectiondX;
00041   float theEMSectiondY;
00042   float theEMSectiondZ;
00043   float theLUMSectiondX;
00044   float theLUMSectiondY;
00045   float theLUMSectiondZ;
00046   float theHADSectiondX;
00047   float theHADSectiondY;
00048   float theHADSectiondZ;
00049   
00050 };
00051 
00052 #endif