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 00008 class DDCompactView; 00009 class CaloCellGeometry; 00010 class HcalDetId; 00011 00022 class HcalDDDGeometryLoader // : public CaloVGeometryLoader { 00023 { 00024 public: 00025 00026 explicit HcalDDDGeometryLoader(const DDCompactView & cpv); 00027 virtual ~HcalDDDGeometryLoader(); 00028 00029 typedef CaloSubdetectorGeometry* ReturnType ; 00030 ReturnType load(DetId::Detector , int ); 00032 ReturnType load(); 00033 00034 private: 00035 00036 HcalDDDGeometryLoader(); 00037 00040 void fill(HcalSubdetector, HcalDDDGeometry*, CaloSubdetectorGeometry*); 00041 00042 void makeCell( const HcalDetId &, 00043 HcalCellType, double, 00044 double, CaloSubdetectorGeometry* geom) const; 00045 00046 HcalNumberingFromDDD* numberingFromDDD; 00047 00048 }; 00049 00050 #endif