00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "DDLCone.h"
00020 #include "DDLElementRegistry.h"
00021
00022
00023 #include "DetectorDescription/Core/interface/DDName.h"
00024 #include "DetectorDescription/Core/interface/DDSolid.h"
00025 #include "DetectorDescription/Base/interface/DDdebug.h"
00026
00027 #include "DetectorDescription/ExprAlgo/interface/ExprEvalSingleton.h"
00028
00029
00030 #include <string>
00031
00032
00033 DDLCone::DDLCone()
00034 {
00035 }
00036
00037
00038 DDLCone::~DDLCone()
00039 {
00040 }
00041
00042
00043 void DDLCone::processElement (const std::string& type, const std::string& nmspace)
00044 {
00045 DCOUT_V('P', "DDLCone::processElement started");
00046 ExprEvalInterface & ev = ExprEvalSingleton::instance();
00047 DDXMLAttribute atts = getAttributeSet();
00048
00049 DDSolid ddcone = DDSolidFactory::cons(getDDName(nmspace)
00050 , ev.eval(nmspace, atts.find("dz")->second)
00051 , ev.eval(nmspace, atts.find("rMin1")->second)
00052 , ev.eval(nmspace, atts.find("rMax1")->second)
00053 , ev.eval(nmspace, atts.find("rMin2")->second)
00054 , ev.eval(nmspace, atts.find("rMax2")->second)
00055 , ev.eval(nmspace, atts.find("startPhi")->second)
00056 , ev.eval(nmspace, atts.find("deltaPhi")->second));
00057
00058 DDLSolid::setReference(nmspace);
00059
00060 DCOUT_V('P', "DDLCone::processElement completed");
00061
00062 }