CMS 3D CMS Logo

DDLElementRegistry.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_PARSER_DDL_ELEMENT_REGISTRY_H
2 #define DETECTOR_DESCRIPTION_PARSER_DDL_ELEMENT_REGISTRY_H
3 
5 
6 #include <CLHEP/Evaluator/Evaluator.h>
7 #include <string>
8 #include <map>
9 #include <memory>
10 
11 class DDXMLElement;
12 
14 
24 public:
25  typedef std::map<std::string, std::shared_ptr<DDXMLElement> > RegistryMap;
26 
28 
30 
33 
35 
40  std::shared_ptr<DDXMLElement> getElement(const std::string& name);
41 
43 
44 private:
45  RegistryMap registry_;
47 };
48 
49 #endif
ClhepEvaluator evaluator_
std::map< std::string, std::shared_ptr< DDXMLElement > > RegistryMap
ClhepEvaluator & evaluator()
std::shared_ptr< DDXMLElement > getElement(const std::string &name)
THE most important part. Getting the pointer to a given element type.
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
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.