DDLSolid processes Box elements. More...
#include <DDLSolid.h>
Public Member Functions | |
DDLSolid (DDLElementRegistry *myreg) | |
Constructor. | |
void | setReference (const std::string &nmspace, DDCompactView &cpv) |
virtual | ~DDLSolid (void) |
Destructor. |
DDLSolid processes Box elements.
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 | ( | DDLElementRegistry * | myreg | ) |
DDLSolid::~DDLSolid | ( | void | ) | [virtual] |
void DDLSolid::setReference | ( | const std::string & | nmspace, |
DDCompactView & | cpv | ||
) |
Definition at line 26 of file DDLSolid.cc.
References DDXMLElement::clear(), DCOUT_V, spr::find(), DDXMLElement::getAttributeSet(), DDLElementRegistry::getElement(), DDXMLElement::loadAttributes(), DDXMLElement::myRegistry_, cscdqm::h::names, DDXMLElement::parent(), edm::second(), and makeHLTPrescaleTable::values.
Referenced by DDLTrapezoid::processElement(), DDLBooleanSolid::processElement(), DDLCone::processElement(), DDLShapelessSolid::processElement(), DDLEllipsoid::processElement(), DDLReflectionSolid::processElement(), DDLOrb::processElement(), DDLPseudoTrap::processElement(), DDLTubs::processElement(), DDLBox::processElement(), DDLPolyGenerator::processElement(), DDLParallelepiped::processElement(), DDLEllipticalTube::processElement(), DDLTorus::processElement(), and DDLSphere::processElement().
{ // in case it was a BooleanSolid or a ReflectionSolid, clear rSolid. DDXMLElement* myrSolid = myRegistry_->getElement("rSolid"); myrSolid->clear(); // Make sure Solid elements are in LogicalPart elements. if (parent() == "LogicalPart") { DDXMLElement* refsol = myRegistry_->getElement("rSolid"); std::vector<std::string> names; std::vector<std::string> values; names.push_back("name"); values.push_back(getAttributeSet().find("name")->second); refsol->loadAttributes("rSolid", names, values, nmspace, cpv); } // clear THIS solid's values. clear(); DCOUT_V('P', "DDLSolid::setReference completed"); }