DDLLogicalPart processes LogicalPart elements. More...
#include <DDLLogicalPart.h>
Public Member Functions | |
DDLLogicalPart (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 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 Attributes | |
std::map< std::string, DDEnums::Category > | catMap_ |
Additional Inherited Members | |
Protected Attributes inherited from DDXMLElement | |
DDLElementRegistry * | myRegistry_ |
DDLLogicalPart processes LogicalPart elements.
begin: Tue Oct 31 2001 email: case@ ucdh ep.uc davi s.edu
LogicalPart elements simply have the name attribute. However, they also contain elements rSolid and rMaterial. These come together in implementation, but as an XML element the only relevant information to the DDCore is the name attribute. Optionally, they can have instead any Solid or Material elements. To handle the fact that those elements must "stand alone" and also work within LogicalParts, each of those must create a reference (rMaterial or rSolid) to the most recently processed such element.
Definition at line 34 of file DDLLogicalPart.h.
DDLLogicalPart::DDLLogicalPart | ( | DDLElementRegistry * | myreg | ) |
Definition at line 13 of file DDLLogicalPart.cc.
References DDEnums::cable, catMap_, DDEnums::cooling, DDEnums::envelope, DDEnums::sensitive, DDEnums::support, and DDEnums::unspecified.
|
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 27 of file DDLLogicalPart.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 46 of file DDLLogicalPart.cc.
References eostools::cat(), catMap_, DDXMLElement::clear(), DDXMLElement::getAttributeSet(), DDXMLElement::getDDName(), DDLElementRegistry::getElement(), and DDXMLElement::myRegistry_.
|
private |
Definition at line 44 of file DDLLogicalPart.h.
Referenced by DDLLogicalPart(), and processElement().