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 
5 #include <map>
6 #include <string>
7 #include <vector>
8 
13 
14 //#include "DetectorDescription/Core/interface/DDExpandedView.h"
15 
16 class DDSpecifics;
17 class DDPartSelection;
18 class DDNodes;
19 namespace DDI { class Specific; }
20 
21 typedef std::vector<std::string> selectors_type;
22 
23 std::ostream & operator<<(std::ostream &, const std::vector<std::string> &);
24 std::ostream & operator<<(std::ostream &, const DDSpecifics &);
25 
31 
40 class DDSpecifics : public DDBase<DDName,DDI::Specific*>
41 {
42  friend std::ostream & operator<<( std::ostream &, const DDSpecifics &);
43 
44 public:
46  DDSpecifics();
47 
49 
55  DDSpecifics(const DDName & name);
56 
58 
66  DDSpecifics(const DDName & name,
67  const selectors_type & partSelections,
68  const DDsvalues_type & svalues,
69  bool doRegex=true);
70 
71  ~DDSpecifics();
72 
74  const std::vector<DDPartSelection> & selection() const;
75 
77  const DDsvalues_type & specifics() const;
78 
80  bool nodes(DDNodes & nds) const;
81 
83  std::pair<bool,DDExpandedView> node() const;
84 
85 /* static void clear(); */
86 };
87 
88 #endif
Definition: DDBase.h:14
std::vector< std::string > selectors_type
Definition: DDSpecifics.h:21
const DDName & name() const
Definition: DDBase.h:82
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
Definition: DDNodes.h:7
std::pair< bool, DDExpandedView > node() const
Calculates the geometrical history of a fully specified PartSelector.
Definition: DDSpecifics.cc:77
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:88
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:59
bool nodes(DDNodes &nds) const
Calculates all expanded-nodes which are selected by the selection-strings.
Definition: DDSpecifics.cc:64
DDSpecifics()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
Definition: DDSpecifics.cc:15
Interface to attach user specific data to nodes in the expanded-view.
Definition: DDSpecifics.h:40
const std::vector< DDPartSelection > & selection() const
Gives a reference to the collection of part-selections.
Definition: DDSpecifics.cc:53