CMS 3D CMS Logo

CMSSW_4_4_3_patch1/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/EcalTestBeam/interface/EcalHodoscopeNumberingScheme.h"
00005 
00006 
00015 class DDCompactView;
00016 class DDFilteredView;
00017 class DDFilter;
00018 class CaloSubdetectorGeometry;
00019 class EcalTBHodoscopeGeometry;
00020 
00021 #include <memory>
00022 #include <string>
00023 
00024 class EcalTBHodoscopeGeometryLoaderFromDDD
00025 {
00026    public:
00027 
00028       EcalTBHodoscopeGeometryLoaderFromDDD() {} ;
00029 
00030       virtual ~EcalTBHodoscopeGeometryLoaderFromDDD() {} ;
00031 
00032       std::auto_ptr<CaloSubdetectorGeometry> load( const DDCompactView* cpv ) ;
00033 
00034    private:
00035 
00036       void makeGeometry( const DDCompactView*     cpv ,
00037                          CaloSubdetectorGeometry* ebg  ) ;
00038 
00039       unsigned int getDetIdForDDDNode( const DDFilteredView &fv ) ;
00040 
00041       std::string getDDDString( std::string s, DDFilteredView* fv ) ;
00042 
00043       DDFilter* getDDFilter();
00044 
00045       EcalHodoscopeNumberingScheme _scheme;
00046 };
00047 
00048 #endif