CMS 3D CMS Logo

DDSpecifics.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DDSPECIFICS_H
2 #define DETECTOR_DESCRIPTION_CORE_DDSPECIFICS_H
3 
4 #include <iosfwd>
5 #include <map>
6 #include <memory>
7 #include <string>
8 #include <utility>
9 #include <vector>
10 
15 
16 class DDExpandedView;
17 class DDPartSelection;
18 class DDSpecifics;
19 
20 namespace DDI {
21  class Specific;
22 }
23 
24 std::ostream & operator<<( std::ostream &, const std::vector<std::string> & );
25 std::ostream & operator<<( std::ostream &, const DDSpecifics & );
26 
32 
41 class DDSpecifics : public DDBase< DDName, std::unique_ptr<DDI::Specific> >
42 {
43  friend std::ostream & operator<<( std::ostream &, const DDSpecifics &);
44 
45 public:
47  DDSpecifics();
48 
50 
56  DDSpecifics(const DDName & name);
57 
59 
67  DDSpecifics(const DDName & name,
68  const std::vector<std::string> & partSelections,
69  const DDsvalues_type & svalues,
70  bool doRegex=true);
71 
73  const std::vector<DDPartSelection> & selection() const;
74 
76  const DDsvalues_type & specifics() const;
77 
79  std::pair<bool,DDExpandedView> node() const;
80 };
81 
82 #endif
Definition: DDBase.h:10
selection
main part
Definition: corrVsCorr.py:100
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
std::ostream & operator<<(std::ostream &, const std::vector< std::string > &)
Definition: DDSpecifics.cc:87
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
Provides an exploded view of the detector (tree-view)
Interface to attach user specific data to nodes in the expanded-view.
Definition: DDSpecifics.h:41