CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Geometry/HcalTowerAlgo/interface/HcalDDDGeometryLoader.h

Go to the documentation of this file.
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