CMS 3D CMS Logo

List of all members | Public Member Functions
DDLMaterial Class Reference

DDLMaterial processes Box elements. More...

#include <DDLMaterial.h>

Inheritance diagram for DDLMaterial:
DDXMLElement DDLCompositeMaterial DDLElementaryMaterial

Public Member Functions

 DDLMaterial (DDLElementRegistry *myreg)
 
virtual 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 DDXMLAttributegetAttributeSet (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...
 
virtual void preProcessElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv)
 Called by loadAttributes AFTER attributes are loaded. More...
 
virtual void processElement (const std::string &name, const std::string &nmspace, DDCompactView &cpv)
 Processing the element. 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...
 

Additional Inherited Members

- Protected Attributes inherited from DDXMLElement
DDLElementRegistrymyRegistry_
 

Detailed Description

DDLMaterial processes Box elements.

Author
Michael Case

DDLMaterial.h - description

begin: Fri Oct 04 2002 email: case@.nosp@m.ucdh.nosp@m.ep.uc.nosp@m.davi.nosp@m.s.edu

This class currently serves one purpose only. That is to create a reference to the most recently created Material, no matter whether it is an ElementaryMaterial or CompositeMaterial.

Definition at line 29 of file DDLMaterial.h.

Constructor & Destructor Documentation

DDLMaterial::DDLMaterial ( DDLElementRegistry myreg)

Definition at line 12 of file DDLMaterial.cc.

13  : DDXMLElement( myreg )
14 {}
DDXMLElement(DDLElementRegistry *myreg)
Constructor.
Definition: DDXMLElement.cc:15

Member Function Documentation

void DDLMaterial::setReference ( const std::string &  nmspace,
DDCompactView cpv 
)
virtual

Definition at line 17 of file DDLMaterial.cc.

References DDXMLElement::clear(), DDXMLElement::getAttributeSet(), DDLElementRegistry::getElement(), DDXMLElement::loadAttributes(), DDXMLElement::myRegistry_, cscdqm::h::names, DDXMLElement::size(), and MuonErrorMatrixValues_cff::values.

Referenced by DDLElementaryMaterial::processElement(), and DDLCompositeMaterial::processElement().

18 {
19  // in case it there were any rMaterials
20  myRegistry_->getElement("rMaterial")->clear();
21 
22  // Attempt to make sure Material elements can be in LogicalPart elements.
23  if (myRegistry_->getElement("LogicalPart")->size() > 0)
24  {
25  DDXMLElement* refmat = myRegistry_->getElement("rMaterial");
26  std::vector<std::string> names;
27  std::vector<std::string> values;
28  names.push_back("name");
30  values.push_back(atts.find("name")->second);
31  refmat->loadAttributes("rMaterial", names, values, nmspace, cpv);
32  }
33  // clear THIS material's values.
34  clear();
35 }
DDLElementRegistry * myRegistry_
Definition: DDXMLElement.h:172
static const HistoName names[]
virtual const DDXMLAttribute & getAttributeSet(size_t aIndex=0) const
Get a "row" of attributes, i.e. one attribute set.
Definition: DDXMLElement.cc:73
std::map< std::string, std::string > DDXMLAttribute
Definition: DDXMLElement.h:45
DDXMLElement * getElement(const std::string &name)
THE most important part. Getting the pointer to a given element type.
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.
Definition: DDXMLElement.cc:36
virtual size_t size(void) const
Number of elements accumulated.
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
virtual void clear(void)
clear this element&#39;s contents.
Definition: DDXMLElement.cc:55