![]() |
![]() |
#include <DetectorDescription/Parser/src/DDLSolid.h>
Public Member Functions | |
DDLSolid () | |
Constructor. | |
void | setReference (const std::string &nmspace) |
~DDLSolid () | |
Destructor. |
DDLSolid.h - description ------------------- begin: Thu Oct 03, 2002 email: case@ucdhep.ucdavis.edu
This class currently serves one purpose only. That is to create a reference to the most recently processed DDLSolid, no matter whether it is an Box, Boolean, Cone, Cons, Polyhedra, Polycone, Reflection, Shapeless, Trapezoid, Trd1, Tube or Tubs!
Definition at line 27 of file DDLSolid.h.
DDLSolid::DDLSolid | ( | ) |
DDLSolid::~DDLSolid | ( | ) |
void DDLSolid::setReference | ( | const std::string & | nmspace | ) |
Definition at line 43 of file DDLSolid.cc.
References DDXMLElement::clear(), DCOUT_V, find(), DDXMLElement::getAttributeSet(), DDLElementRegistry::getElement(), DDXMLElement::loadAttributes(), names, DDXMLElement::parent(), edm::second(), and values.
Referenced by DDLTrapezoid::processElement(), DDLBooleanSolid::processElement(), DDLCone::processElement(), DDLShapelessSolid::processElement(), DDLReflectionSolid::processElement(), DDLPseudoTrap::processElement(), DDLTubs::processElement(), DDLBox::processElement(), DDLPolyGenerator::processElement(), and DDLTorus::processElement().
00044 { 00045 // in case it was a BooleanSolid or a ReflectionSolid, clear rSolid. 00046 DDXMLElement* myrSolid = DDLElementRegistry::getElement("rSolid"); 00047 myrSolid->clear(); 00048 00049 // Make sure Solid elements are in LogicalPart elements. 00050 if (parent() == "LogicalPart") 00051 { 00052 DDXMLElement* refsol = DDLElementRegistry::getElement("rSolid"); 00053 std::vector<std::string> names; 00054 std::vector<std::string> values; 00055 names.push_back("name"); 00056 values.push_back(getAttributeSet().find("name")->second); 00057 refsol->loadAttributes("rSolid", names, values, nmspace); 00058 } 00059 00060 // clear THIS solid's values. 00061 clear(); 00062 00063 DCOUT_V('P', "DDLSolid::setReference completed"); 00064 }