CMS 3D CMS Logo

DDLSolid Class Reference

DDLSolid processes Box elements. More...

#include <DetectorDescription/Parser/src/DDLSolid.h>

Inheritance diagram for DDLSolid:

DDXMLElement DDLBooleanSolid DDLBox DDLCone DDLPolyGenerator DDLPseudoTrap DDLReflectionSolid DDLShapelessSolid DDLTorus DDLTrapezoid DDLTubs

List of all members.

Public Member Functions

 DDLSolid ()
 Constructor.
void setReference (const std::string &nmspace)
 ~DDLSolid ()
 Destructor.


Detailed Description

DDLSolid processes Box elements.

Author:
Michael Case
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.


Constructor & Destructor Documentation

DDLSolid::DDLSolid (  ) 

Constructor.

Definition at line 34 of file DDLSolid.cc.

00035 {
00036 }

DDLSolid::~DDLSolid (  ) 

Destructor.

Definition at line 39 of file DDLSolid.cc.

00040 {
00041 }


Member Function Documentation

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 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:18:05 2009 for CMSSW by  doxygen 1.5.4