CMS 3D CMS Logo

DDSpecifics.h
Go to the documentation of this file.
1 #ifndef DDSpecifics_h
2 #define DDSpecifics_h
3 
4 #include <iosfwd>
5 #include <map>
6 #include <string>
7 #include <utility>
8 #include <vector>
9 
14 
15 class DDExpandedView;
16 class DDNodes;
17 class DDPartSelection;
18 class DDSpecifics;
19 namespace DDI {
20 class Specific;
21 } // namespace DDI
22 
23 typedef std::vector<std::string> selectors_type;
24 
25 std::ostream & operator<<(std::ostream &, const std::vector<std::string> &);
26 std::ostream & operator<<(std::ostream &, const DDSpecifics &);
27 
33 
42 class DDSpecifics : public DDBase<DDName,DDI::Specific*>
43 {
44  friend std::ostream & operator<<( std::ostream &, const DDSpecifics &);
45 
46 public:
48  DDSpecifics();
49 
51 
57  DDSpecifics(const DDName & name);
58 
60 
68  DDSpecifics(const DDName & name,
69  const std::vector<std::string> & partSelections,
70  const DDsvalues_type & svalues,
71  bool doRegex=true);
72 
73  ~DDSpecifics();
74 
76  const std::vector<DDPartSelection> & selection() const;
77 
79  const DDsvalues_type & specifics() const;
80 
82  std::pair<bool,DDExpandedView> node() const;
83 };
84 
85 #endif
Definition: DDBase.h:10
std::vector< std::string > selectors_type
Definition: DDSpecifics.h:23
selection
main part
Definition: corrVsCorr.py:98
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
Definition: DDNodes.h:7
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:20
std::ostream & operator<<(std::ostream &, const std::vector< std::string > &)
Definition: DDSpecifics.cc:90
Provides an exploded view of the detector (tree-view)
Interface to attach user specific data to nodes in the expanded-view.
Definition: DDSpecifics.h:42