CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/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 #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