CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
 Constructor. More...
 
virtual void setReference (const std::string &nmspace, DDCompactView &cpv)
 
virtual ~DDLMaterial (void)
 Destructor. 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 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)
 Destructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DDXMLElement
static std::string itostr (int i)
 WARNING: abused by other classes in this system: yet another conversion from int to std::string... More...
 
- 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 26 of file DDLMaterial.h.

Constructor & Destructor Documentation

DDLMaterial::DDLMaterial ( DDLElementRegistry myreg)

Constructor.

Definition at line 18 of file DDLMaterial.cc.

19  : DDXMLElement( myreg )
20 {}
DDXMLElement(DDLElementRegistry *myreg)
Constructor.
Definition: DDXMLElement.cc:15
DDLMaterial::~DDLMaterial ( void  )
virtual

Destructor.

Definition at line 22 of file DDLMaterial.cc.

23 {}

Member Function Documentation

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

Definition at line 26 of file DDLMaterial.cc.

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

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

27 {
28  // in case it there were any rMaterials
29  myRegistry_->getElement("rMaterial")->clear();
30 
31  // Attempt to make sure Material elements can be in LogicalPart elements.
32  if (myRegistry_->getElement("LogicalPart")->size() > 0)
33  {
34  DDXMLElement* refmat = myRegistry_->getElement("rMaterial");
35  std::vector<std::string> names;
36  std::vector<std::string> values;
37  names.push_back("name");
39  values.push_back(atts.find("name")->second);
40  refmat->loadAttributes("rMaterial", names, values, nmspace, cpv);
41  }
42  // clear THIS material's values.
43  clear();
44 
45  DCOUT_V('P', "DDLMaterial::setReference completed");
46 }
DDLElementRegistry * myRegistry_
Definition: DDXMLElement.h:186
virtual const DDXMLAttribute & getAttributeSet(size_t aIndex=0) const
Get a &quot;row&quot; of attributes, i.e. one attribute set.
Definition: DDXMLElement.cc:79
std::map< std::string, std::string > DDXMLAttribute
Definition: DDXMLElement.h:55
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:41
virtual size_t size(void) const
Number of elements accumulated.
#define DCOUT_V(M_v_Y, M_v_S)
Definition: DDdebug.h:54
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:58
virtual void clear(void)
clear this element&#39;s contents.
Definition: DDXMLElement.cc:61
static const HistoName names[]