Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "DetectorDescription/Parser/src/DDLEllipticalTube.h"
00015
00016 #include "DetectorDescription/Core/interface/DDName.h"
00017 #include "DetectorDescription/Core/interface/DDSolid.h"
00018 #include "DetectorDescription/Base/interface/DDdebug.h"
00019
00020 #include "DetectorDescription/ExprAlgo/interface/ExprEvalSingleton.h"
00021
00022 DDLEllipticalTube::DDLEllipticalTube( DDLElementRegistry* myreg )
00023 : DDLSolid( myreg )
00024 {}
00025
00026 DDLEllipticalTube::~DDLEllipticalTube( void )
00027 {}
00028
00029
00030 void
00031 DDLEllipticalTube::processElement( const std::string& name, const std::string& nmspace, DDCompactView& cpv )
00032 {
00033 DCOUT_V( 'P', "DDLEllipticalTube::processElement started" );
00034 ExprEvalInterface & ev = ExprEvalSingleton::instance();
00035 DDXMLAttribute atts = getAttributeSet();
00036
00037 DDSolid ddet = DDSolidFactory::ellipticalTube( getDDName( nmspace ),
00038 ev.eval( nmspace, atts.find( "xSemiAxis" )->second ),
00039 ev.eval( nmspace, atts.find( "ySemiAxis" )->second ),
00040 ev.eval( nmspace, atts.find( "zHeight" )->second ));
00041 DDLSolid::setReference( nmspace, cpv );
00042
00043 DCOUT_V( 'P', "DDLEllipticalTube::processElement completed" );
00044 }