CMS 3D CMS Logo

DDLElementRegistry.h
Go to the documentation of this file.
1 #ifndef DDL_ElementRegistry_H
2 #define DDL_ElementRegistry_H
3 
4 #include <string>
5 #include <map>
6 
8 #include "DetectorDescription/Base/interface/Singleton.icc"
9 
10 class DDXMLElement;
11 
12 #include <CLHEP/Evaluator/Evaluator.h>
14 
16 
33 {
34 
35  public:
36  typedef std::map <std::string, DDXMLElement*> RegistryMap;
37 
39 
41 
44 
46 
52 
54  const std::string& getElementName(DDXMLElement* theElement) const;
56 
57  private:
58  RegistryMap registry_;
59 };
60 
63 
64 #endif
DDXMLElement * getElement(const std::string &name)
THE most important part. Getting the pointer to a given element type.
static value_type & instance()
ClhepEvaluator & evaluator()
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
const std::string & getElementName(DDXMLElement *theElement) const
Get the name given a pointer. This may not be needed...
DDI::Singleton< DDLElementRegistry > DDLGlobalRegistry
This is only here because of the boost::spirit::parser stuff of DDLMap needing to be re-designed...
std::map< std::string, DDXMLElement * > RegistryMap
The main class for processing parsed elements.
void registerElement(const std::string &name, DDXMLElement *)
This allows other Elements to register themselves with the static registry.