CMS 3D CMS Logo

DDLBox Class Reference

DDLBox processes Box elements. More...

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

Inheritance diagram for DDLBox:

DDLSolid DDXMLElement

List of all members.

Public Member Functions

 DDLBox ()
 Constructor.
void processElement (const std::string &name, const std::string &nmspace)
 Processing the element.
 ~DDLBox ()
 Destructor.


Detailed Description

DDLBox processes Box elements.

Author:
Michael Case
DDLBox.h - description ------------------- begin: Wed Oct 24 2001 email: case@ucdhep.ucdavis.edu

This is the Box element processor.

Definition at line 24 of file DDLBox.h.


Constructor & Destructor Documentation

DDLBox::DDLBox (  ) 

Constructor.

Definition at line 34 of file DDLBox.cc.

00035 {
00036 }

DDLBox::~DDLBox (  ) 

Destructor.

Definition at line 39 of file DDLBox.cc.

00040 {
00041 }


Member Function Documentation

void DDLBox::processElement ( const std::string &  name,
const std::string &  nmspace 
) [virtual]

Processing the element.

The processElement method completes any necessary work to process the XML element.

For example, this can be used to call the DDCore to make the geometry in memory. There is a default for this so that if not declared in the inheriting class, no processing is done.

Reimplemented from DDXMLElement.

Definition at line 44 of file DDLBox.cc.

References DDSolidFactory::box(), DCOUT_V, ddbox, ExprEvalInterface::eval(), DDXMLElement::getAttributeSet(), DDXMLElement::getDDName(), DDI::Singleton< I >::instance(), and DDLSolid::setReference().

00045 {
00046   DCOUT_V('P', "DDLBox::processElement started");
00047   
00048   ExprEvalInterface & ev = ExprEvalSingleton::instance();
00049   DDXMLAttribute atts = getAttributeSet();
00050   
00051   DDName ddname = getDDName(nmspace);
00052   DDSolid ddbox = DDSolidFactory::box(ddname
00053                                       , ev.eval(nmspace, atts.find("dx")->second)
00054                                       , ev.eval(nmspace, atts.find("dy")->second)
00055                                       , ev.eval(nmspace, atts.find("dz")->second));
00056   // Attempt to make sure Solid elements can be in LogicalPart elements.
00057   DDLSolid::setReference(nmspace);
00058 
00059   DCOUT_V('P', "DDLBox::processElement completed");
00060 }


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