The main class for processing parsed elements. More...
#include <DDLElementRegistry.h>
Public Types | |
typedef std::map< std::string, DDXMLElement * > | RegistryMap |
Public Member Functions | |
DDLElementRegistry () | |
ClhepEvaluator & | evaluator () |
DDXMLElement * | getElement (const std::string &name) |
THE most important part. Getting the pointer to a given element type. More... | |
const std::string & | getElementName (DDXMLElement *theElement) const |
Get the name given a pointer. This may not be needed... More... | |
void | registerElement (const std::string &name, DDXMLElement *) |
This allows other Elements to register themselves with the static registry. More... | |
~DDLElementRegistry () | |
Private Attributes | |
RegistryMap | registry_ |
The main class for processing parsed elements.
begin : Wed Oct 24 2001 email : case@ ucdh ep.uc davi s.edu
This class is designed to serve as a registry of all DDL XML elements. It inherits from DDXMLElementRegistry.
This class is responsible for constructing and destructing any necessary DDL element.
Definition at line 32 of file DDLElementRegistry.h.
typedef std::map<std::string, DDXMLElement*> DDLElementRegistry::RegistryMap |
Definition at line 36 of file DDLElementRegistry.h.
DDLElementRegistry::DDLElementRegistry | ( | void | ) |
Definition at line 51 of file DDLElementRegistry.cc.
DDLElementRegistry::~DDLElementRegistry | ( | void | ) |
Definition at line 54 of file DDLElementRegistry.cc.
References end, spr::find(), and registry_.
|
inline |
Definition at line 55 of file DDLElementRegistry.h.
References DDI::Singleton< I >::instance().
Referenced by DDLVector::do_makeDouble(), DDLMap::do_makeDouble(), DDLRotationAndReflection::isLeftHanded(), DDLRotationAndReflection::makeX(), DDLRotationAndReflection::makeY(), DDLRotationAndReflection::makeZ(), DDLTubs::processElement(), DDLPseudoTrap::processElement(), DDLTorus::processElement(), DDLTrapezoid::processElement(), DDLSpecPar::processElement(), DDLEllipsoid::processElement(), DDLAlgorithm::processElement(), DDLEllipticalTube::processElement(), DDLBox::processElement(), DDLCone::processElement(), DDLOrb::processElement(), DDLSphere::processElement(), DDLParallelepiped::processElement(), DDLDivision::processElement(), DDLElementaryMaterial::processElement(), DDLPolyGenerator::processElement(), DDLPosPart::processElement(), DDLNumeric::processElement(), DDLBooleanSolid::processElement(), DDLRotationAndReflection::processElement(), DDLCompositeMaterial::processElement(), DDLVector::processElement(), DDLMap::processElement(), and DDLRotationByAxis::processOne().
DDXMLElement * DDLElementRegistry::getElement | ( | const std::string & | name | ) |
THE most important part. Getting the pointer to a given element type.
If this is called with a DDXMLElementRegistry pointer, it will simply return a pointer if already registered or NULL, no instantiating.
Definition at line 74 of file DDLElementRegistry.cc.
References DCOUT_V, mergeVDriftHistosByStation::name, NULL, and registry_.
Referenced by DDLBooleanSolid::dumpBooleanSolid(), DDLAlgorithm::preProcessElement(), DDLReflectionSolid::preProcessElement(), DDLRotationSequence::preProcessElement(), DDLPosPart::preProcessElement(), DDLBooleanSolid::preProcessElement(), DDLShapelessSolid::preProcessElement(), DDLPolyGenerator::preProcessElement(), DDLCompositeMaterial::preProcessElement(), DDLLogicalPart::preProcessElement(), DDLSpecPar::processElement(), DDLReflectionSolid::processElement(), DDLAlgorithm::processElement(), DDLPolyGenerator::processElement(), DDLBooleanSolid::processElement(), DDLPosPart::processElement(), DDLRotationSequence::processElement(), DDLRotationByAxis::processElement(), DDLCompositeMaterial::processElement(), DDLLogicalPart::processElement(), DDLMaterial::setReference(), and DDLSolid::setReference().
const std::string & DDLElementRegistry::getElementName | ( | DDXMLElement * | theElement | ) | const |
void DDLElementRegistry::registerElement | ( | const std::string & | name, |
DDXMLElement * | |||
) |
This allows other Elements to register themselves with the static registry.
|
private |
Definition at line 58 of file DDLElementRegistry.h.
Referenced by getElement(), getElementName(), and ~DDLElementRegistry().