![]() |
![]() |
00001 #ifndef GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H 00002 #define GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H 1 00003 00004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h" 00005 #include "Geometry/CaloTopology/interface/HcalTopology.h" 00006 00007 class CaloCellGeometry; 00008 class HcalDetId; 00009 00019 class HcalHardcodeGeometryLoader 00020 { 00021 public: 00022 00023 typedef CaloSubdetectorGeometry* ReturnType ; 00024 00025 explicit HcalHardcodeGeometryLoader(const HcalTopology& ht); 00026 virtual ~HcalHardcodeGeometryLoader() { delete theTopology ; } 00027 00028 ReturnType load(DetId::Detector det, int subdet); 00030 ReturnType load(); 00031 00032 private: 00033 void init(); 00036 00037 void fill( HcalSubdetector subdet, 00038 int firstEtaRing, 00039 int lastEtaRing, 00040 ReturnType cg ); 00041 00042 void makeCell( const HcalDetId& detId, 00043 ReturnType geom ) const; 00044 00045 HcalTopology* theTopology; 00046 const HcalTopology* extTopology; 00047 00048 double theBarrelRadius; 00049 double theOuterRadius; 00050 double theHEZPos[4]; 00051 double theHFZPos[2]; 00052 00053 double theHBThickness; 00054 double theHB15aThickness,theHB15bThickness; 00055 double theHB16aThickness,theHB16bThickness; 00056 double theHFThickness; 00057 double theHOThickness; 00058 }; 00059 00060 #endif