This class takes care of processing all BooleanSolid type elements. More...
#include <DDLBooleanSolid.h>
Public Member Functions | |
DDLBooleanSolid (DDLElementRegistry *myreg) | |
void | preProcessElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv) override |
Called by loadAttributes AFTER attributes are loaded. More... | |
void | processElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv) override |
Processing the element. More... | |
Public Member Functions inherited from DDLSolid | |
DDLSolid (DDLElementRegistry *myreg) | |
Constructor. More... | |
void | setReference (const std::string &nmspace, DDCompactView &cpv) |
Public Member Functions inherited from DDXMLElement | |
void | appendText (const std::string &inText) |
append to the current (i.e. most recently added) More... | |
virtual std::vector< DDXMLAttribute >::const_iterator | begin (void) |
virtual void | clear (void) |
clear this element's contents. More... | |
DDXMLElement (DDLElementRegistry *myreg) | |
Constructor. More... | |
DDXMLElement (DDLElementRegistry *myreg, const bool &clearme) | |
Constructor for autoClear element. More... | |
virtual std::vector< DDXMLAttribute >::const_iterator | end (void) |
virtual const std::string & | get (const std::string &name, size_t aIndex=0) const |
Returns a specific value from the aIndex set of attributes. More... | |
virtual const std::string & | getAttribute (const std::string &name) const |
Access to attributes by name. More... | |
virtual const DDXMLAttribute & | getAttributeSet (size_t aIndex=0) const |
Get a "row" of attributes, i.e. one attribute set. More... | |
virtual const DDName | getDDName (const std::string &defaultNS, const std::string &attname=std::string("name"), size_t aIndex=0) |
const std::string | getText (size_t tindex=0) const |
retrieve the text blob. More... | |
virtual std::vector< std::string > | getVectorAttribute (const std::string &name) |
Returns a set of values as a std::vector of strings, given the attribute name. More... | |
virtual bool | gotText (void) const |
gotText()? kind of like gotMilk? Yes = text has already been encountered. More... | |
virtual bool | isEmpty (void) const |
Have any elements of this type been encountered but not processed? More... | |
void | loadAttributes (const std::string &elemName, const std::vector< std::string > &names, const std::vector< std::string > &values, const std::string &nmspace, DDCompactView &cpv) |
Load the element attributes. More... | |
void | loadText (const std::string &inText) |
Used to load both text and XML comments into this object. More... | |
std::vector< DDXMLAttribute >::const_iterator & | operator++ (int inc) |
Allow the elements of this type to be iterated over using ++ operator. More... | |
const std::string & | parent (void) const |
access to parent element name More... | |
void | setParent (const std::string &pename) |
Set parent element name to central list of names. More... | |
void | setSelf (const std::string &sename) |
Set self element name to central list of names. More... | |
virtual size_t | size (void) const |
Number of elements accumulated. More... | |
virtual void | stream (std::ostream &os) const |
Allow for the elements to have their own streaming method, but also provide a default. More... | |
void | throwError (const std::string &keyMessage) const |
format std::string for throw an error. More... | |
virtual | ~DDXMLElement (void)=default |
Destructor. More... | |
Private Member Functions | |
std::string | dumpBooleanSolid (const std::string &name, const std::string &nmspace) |
Additional Inherited Members | |
Protected Attributes inherited from DDXMLElement | |
DDLElementRegistry * | myRegistry_ |
This class takes care of processing all BooleanSolid type elements.
begin: Wed Dec 12, 2001 email: case@ ucdh ep.uc davi s.edu
This is the Intersection, Subtraction and Union processor. A BooleanSolid handles all of these because as far as the DDL is concerned, they have the same basic form, including two solid references, and potentially one translation and one rotation.
Definition at line 27 of file DDLBooleanSolid.h.
DDLBooleanSolid::DDLBooleanSolid | ( | DDLElementRegistry * | myreg | ) |
Definition at line 14 of file DDLBooleanSolid.cc.
|
private |
Definition at line 125 of file DDLBooleanSolid.cc.
References DDXMLElement::getAttributeSet(), DDLElementRegistry::getElement(), i, DDXMLElement::myRegistry_, alignCSCRings::s, DDXMLElement::size(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by processElement().
|
overridevirtual |
Called by loadAttributes AFTER attributes are loaded.
The preProcessElement method can assume that the attributes are loaded and perform any code that is necessary at the start of an element.
This would allow users to call their own code to setup anything necessary for the continued processing of the child elements.
Reimplemented from DDXMLElement.
Definition at line 20 of file DDLBooleanSolid.cc.
References DDXMLElement::clear(), DDLElementRegistry::getElement(), and DDXMLElement::myRegistry_.
|
overridevirtual |
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 29 of file DDLBooleanSolid.cc.
References DDXMLElement::clear(), dumpBooleanSolid(), ev, ClhepEvaluator::eval(), DDLElementRegistry::evaluator(), Exception, DDXMLElement::getAttributeSet(), DDXMLElement::getDDName(), DDLElementRegistry::getElement(), DDSolidFactory::intersection(), DDXMLElement::myRegistry_, alignCSCRings::s, DDLSolid::setReference(), DDXMLElement::size(), AlCaHLTBitMon_QueryRunRegistry::string, DDSolidFactory::subtraction(), DDXMLElement::throwError(), DDSolidFactory::unionSolid(), x, y, and z.