![]() |
![]() |
00001 #ifndef Geometry_HcalTowerAlgo_HcalDDDGeometryLoader_H 00002 #define Geometry_HcalTowerAlgo_HcalDDDGeometryLoader_H 1 00003 00004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h" 00005 #include "Geometry/HcalCommonData/interface/HcalNumberingFromDDD.h" 00006 #include "Geometry/HcalTowerAlgo/interface/HcalDDDGeometry.h" 00007 #include "Geometry/CaloTopology/interface/HcalTopology.h" 00008 00009 class DDCompactView; 00010 class CaloCellGeometry; 00011 class HcalDetId; 00012 00023 class HcalDDDGeometryLoader // : public CaloVGeometryLoader { 00024 { 00025 public: 00026 00027 explicit HcalDDDGeometryLoader(const DDCompactView & cpv); 00028 virtual ~HcalDDDGeometryLoader(); 00029 00030 typedef CaloSubdetectorGeometry* ReturnType ; 00031 ReturnType load(const HcalTopology& topo, DetId::Detector , int ); 00033 ReturnType load(const HcalTopology& topo); 00034 00035 private: 00036 00037 HcalDDDGeometryLoader(); 00038 00041 void fill(HcalSubdetector, HcalDDDGeometry*, CaloSubdetectorGeometry*); 00042 00043 void makeCell( const HcalDetId &, 00044 HcalCellType, double, 00045 double, CaloSubdetectorGeometry* geom) const; 00046 00047 HcalNumberingFromDDD* numberingFromDDD; 00048 00049 HcalTopology* dummyTopology_; 00050 00051 }; 00052 00053 #endif