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
DDGeoHistory
std::vector< DDExpandedNode > DDGeoHistory
Geometrical 'path' of the current node up to the root-node.
Definition: DDExpandedNode.h:82
supertree
Definition: DDScope.h:9
DDScope::~DDScope
~DDScope(void)
Definition: DDScope.cc:33
DDScope::setDepth
void setDepth(int)
subtrees of the scope are only transversed down to the given level
Definition: DDScope.cc:81
DDScopeClassification
Classification of scope describe by A towards B.
Definition: DDScope.h:19
delete_action
Definition: DDScope.h:9
DDScope::DDScope
DDScope(void)
empty scope
Definition: DDScope.cc:29
DDScope::scope_type
std::vector< DDGeoHistory > scope_type
Definition: DDScope.h:31
dd_scope_class
dd_scope_class
Definition: DDScope.h:9
alignCSCRings.s
s
Definition: alignCSCRings.py:92
DDScope::operator<<
friend std::ostream & operator<<(std::ostream &, const DDScope &)
Definition: DDScope.cc:87
DDScope::scope
const scope_type & scope(void) const
returns the scope container
Definition: DDScope.cc:85
DDScopeClassification::operator()
dd_scope_class operator()(const DDGeoHistory &, const DDGeoHistory &) const
Definition: DDScope.cc:5
DDScope::depth_
int depth_
Definition: DDScope.h:59
DDScope::addScope
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
DDScope::subtrees_
scope_type subtrees_
Definition: DDScope.h:57
different_branch
Definition: DDScope.h:9
DDScope::classify_
DDScopeClassification classify_
Definition: DDScope.h:58
DDScope
defines subtrees in the expanded-view
Definition: DDScope.h:27
operator<<
std::ostream & operator<<(std::ostream &, const DDScope &)
Definition: DDScope.cc:87
DDExpandedNode.h
subtree
Definition: DDScope.h:9
DDScope::depth
int depth(void) const
return the depth to wich the subtrees are restricted
Definition: DDScope.cc:83