File indexing completed on 2024-04-06 12:05:32
0001 #include "DetectorDescription/Parser/src/DDLCone.h"
0002 #include "DetectorDescription/Core/interface/DDSolid.h"
0003 #include "DetectorDescription/Core/interface/ClhepEvaluator.h"
0004 #include "DetectorDescription/Parser/interface/DDLElementRegistry.h"
0005 #include "DetectorDescription/Parser/src/DDLSolid.h"
0006 #include "DetectorDescription/Parser/src/DDXMLElement.h"
0007
0008 class DDCompactView;
0009
0010 DDLCone::DDLCone(DDLElementRegistry* myreg) : DDLSolid(myreg) {}
0011
0012 void DDLCone::processElement(const std::string& name, const std::string& nmspace, DDCompactView& cpv) {
0013 ClhepEvaluator& ev = myRegistry_->evaluator();
0014 DDXMLAttribute atts = getAttributeSet();
0015
0016 DDSolid ddcone = DDSolidFactory::cons(getDDName(nmspace),
0017 ev.eval(nmspace, atts.find("dz")->second),
0018 ev.eval(nmspace, atts.find("rMin1")->second),
0019 ev.eval(nmspace, atts.find("rMax1")->second),
0020 ev.eval(nmspace, atts.find("rMin2")->second),
0021 ev.eval(nmspace, atts.find("rMax2")->second),
0022 ev.eval(nmspace, atts.find("startPhi")->second),
0023 ev.eval(nmspace, atts.find("deltaPhi")->second));
0024
0025 DDLSolid::setReference(nmspace, cpv);
0026 }