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/DDLParallelepiped.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 DDLParallelepiped::DDLParallelepiped( DDLElementRegistry* myreg )
00023 : DDLSolid( myreg )
00024 {}
00025
00026 DDLParallelepiped::~DDLParallelepiped( void )
00027 {}
00028
00029
00030 void
00031 DDLParallelepiped::processElement( const std::string& name, const std::string& nmspace, DDCompactView& cpv )
00032 {
00033 DCOUT_V('P', "DDLParallelepiped::processElement started");
00034 ExprEvalInterface & ev = ExprEvalSingleton::instance();
00035 DDXMLAttribute atts = getAttributeSet();
00036 DDSolid ddp = DDSolidFactory::parallelepiped( getDDName(nmspace),
00037 ev.eval(nmspace, atts.find("xHalf")->second),
00038 ev.eval(nmspace, atts.find("yHalf")->second),
00039 ev.eval(nmspace, atts.find("zHalf")->second),
00040 ev.eval(nmspace, atts.find("alpha")->second),
00041 ev.eval(nmspace, atts.find("theta")->second),
00042 ev.eval(nmspace, atts.find("phi")->second));
00043 DDLSolid::setReference(nmspace, cpv);
00044
00045 DCOUT_V('P', "DDLParallelepiped::processElement completed");
00046 }