CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDSpecifics.h
Go to the documentation of this file.
1 #ifndef DDSpecifics_h
2 #define DDSpecifics_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
7 
12 
13 class DDSpecifics;
14 class DDPartSelection;
15 class DDNodes;
16 namespace DDI { class Specific; }
17 
18 typedef std::vector<std::string> selectors_type;
19 
20 std::ostream & operator<<(std::ostream &, const std::vector<std::string> &);
21 std::ostream & operator<<(std::ostream &, const DDSpecifics &);
22 
28 
37 class DDSpecifics : public DDBase<DDName,DDI::Specific*>
38 {
39  friend std::ostream & operator<<( std::ostream &, const DDSpecifics &);
40 
41 public:
43  DDSpecifics();
44 
46 
52  DDSpecifics(const DDName & name);
53 
55 
63  DDSpecifics(const DDName & name,
64  const std::vector<std::string> & partSelections,
65  const DDsvalues_type & svalues,
66  bool doRegex=true);
67 
68  ~DDSpecifics();
69 
71  const std::vector<DDPartSelection> & selection() const;
72 
74  const DDsvalues_type & specifics() const;
75 
77  std::pair<bool,DDExpandedView> node() const;
78 };
79 
80 #endif
Definition: DDBase.h:10
std::vector< std::string > selectors_type
Definition: DDSpecifics.h:18
const DDName & name() const
Definition: DDBase.h:78
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:14
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:188
Definition: DDNodes.h:7
std::pair< bool, DDExpandedView > node() const
Calculates the geometrical history of a fully specified PartSelector.
Definition: DDSpecifics.cc:61
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
Definition: DDsvalues.h:19
friend std::ostream & operator<<(std::ostream &, const DDSpecifics &)
Definition: DDSpecifics.cc:66
const DDsvalues_type & specifics() const
Reference to the user-data attached to all nodes selected by the selections-strings given through sel...
Definition: DDSpecifics.cc:43
DDSpecifics()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
Definition: DDSpecifics.cc:7
Interface to attach user specific data to nodes in the expanded-view.
Definition: DDSpecifics.h:37
const std::vector< DDPartSelection > & selection() const
Gives a reference to the collection of part-selections.
Definition: DDSpecifics.cc:38