CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/Geometry/EcalTestBeam/plugins/EcalTBHodoscopeGeometryLoaderFromDDD.h

Go to the documentation of this file.
00001 #ifndef GEOMETRY_ECALTBHODOSCOPEGEOMETRYLOADERFROMDDD_H
00002 #define GEOMETRY_ECALTBHODOSCOPEGEOMETRYLOADERFROMDDD_H 1
00003 
00004 #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h"
00005 
00006 #include "Geometry/EcalTestBeam/interface/EcalHodoscopeNumberingScheme.h"
00007 
00008 
00017 class DDCompactView;
00018 class DDFilteredView;
00019 class DDFilter;
00020 class CaloSubdetectorGeometry;
00021 #include <memory>
00022 #include <string>
00023 
00024 class EcalTBHodoscopeGeometryLoaderFromDDD
00025 {
00026  public:
00027   EcalTBHodoscopeGeometryLoaderFromDDD();
00028 
00029   virtual ~EcalTBHodoscopeGeometryLoaderFromDDD() 
00030     {
00031       if (_scheme)
00032         delete _scheme;
00033     };
00034 
00035   std::auto_ptr<CaloSubdetectorGeometry> load(const DDCompactView* cpv);  
00036 
00037  private:
00038   void makeGeometry(const DDCompactView* cpv,CaloSubdetectorGeometry* ebg);
00039   unsigned int getDetIdForDDDNode(const DDFilteredView &fv);
00040   std::string getDDDString(std::string s,DDFilteredView* fv);
00041   DDFilter* getDDFilter();
00042   EcalHodoscopeNumberingScheme* _scheme;
00043 };
00044 
00045 #endif