CMS 3D CMS Logo

DDScope.h
Go to the documentation of this file.
1 #ifndef DDCore_DDScope_h
2 #define DDCore_DDScope_h
3 
4 #include <iosfwd>
5 #include <vector>
6 
8 
10 
12 
20  dd_scope_class operator()(const DDGeoHistory &, const DDGeoHistory &) const;
21 };
22 
24 
27 class DDScope {
28  friend std::ostream &operator<<(std::ostream &, const DDScope &);
29 
30 public:
31  typedef std::vector<DDGeoHistory> scope_type;
32 
34  DDScope(void);
35 
37  DDScope(const DDGeoHistory &, int depth = 0);
38 
39  ~DDScope(void);
40 
42 
45  bool addScope(const DDGeoHistory &s);
46 
48  void setDepth(int);
49 
51  int depth(void) const;
52 
54  const scope_type &scope(void) const;
55 
56 protected:
59  int depth_;
60 };
61 
62 std::ostream &operator<<(std::ostream &, const DDScope &);
63 
64 #endif
dd_scope_class operator()(const DDGeoHistory &, const DDGeoHistory &) const
Definition: DDScope.cc:5
scope_type subtrees_
Definition: DDScope.h:57
bool addScope(const DDGeoHistory &s)
Adds a scope. No new scope will be added if s is already contained in one of the subtrees.
Definition: DDScope.cc:35
dd_scope_class
Definition: DDScope.h:9
int depth(void) const
return the depth to wich the subtrees are restricted
Definition: DDScope.cc:83
Classification of scope describe by A towards B.
Definition: DDScope.h:19
DDScopeClassification classify_
Definition: DDScope.h:58
std::vector< DDGeoHistory > scope_type
Definition: DDScope.h:31
const scope_type & scope(void) const
returns the scope container
Definition: DDScope.cc:85
std::ostream & operator<<(std::ostream &, const DDScope &)
Definition: DDScope.cc:87
std::vector< DDExpandedNode > DDGeoHistory
Geometrical &#39;path&#39; of the current node up to the root-node.
defines subtrees in the expanded-view
Definition: DDScope.h:27
friend std::ostream & operator<<(std::ostream &, const DDScope &)
Definition: DDScope.cc:87
void setDepth(int)
subtrees of the scope are only transversed down to the given level
Definition: DDScope.cc:81
Definition: DDScope.h:9
~DDScope(void)
Definition: DDScope.cc:33
DDScope(void)
empty scope
Definition: DDScope.cc:29
int depth_
Definition: DDScope.h:59