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  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 std::vector<std::string> &partSelections,
68  const DDsvalues_type &svalues,
69  bool doRegex = true);
70 
72  const std::vector<DDPartSelection> &selection() const;
73 
75  const DDsvalues_type &specifics() const;
76 
78  std::pair<bool, DDExpandedView> node() const;
79 };
80 
81 #endif
Definition: DDBase.h:10
const std::vector< DDPartSelection > & selection() const
Gives a reference to the collection of part-selections.
Definition: DDSpecifics.cc:34
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
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:36
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
friend std::ostream & operator<<(std::ostream &, const DDSpecifics &)
Definition: DDSpecifics.cc:48
std::ostream & operator<<(std::ostream &, const std::vector< std::string > &)
Definition: DDSpecifics.cc:63
Definition: Assembly.h:7
DDSpecifics()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
Definition: DDSpecifics.cc:13
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
std::pair< bool, DDExpandedView > node() const
Calculates the geometrical history of a fully specified PartSelector.
Definition: DDSpecifics.cc:46