9 DDGeoHistory::const_iterator lit = left.begin();
10 DDGeoHistory::const_iterator rit = right.begin();
12 while( lit != left.end() && rit != right.end())
14 if( lit->siblingno() != rit->siblingno())
25 if( lit == left.end()) {
53 scope_type::iterator it =
subtrees_.begin();
55 int supertreeCount = 0;
56 bool diffBranch =
false;
62 switch( classification )
76 if( supertreeCount == 1 )
87 if( subTree ==
false )
121 DDScope::scope_type::const_iterator it = scope.
subtrees_.begin();
122 for(; it != scope.
subtrees_.end(); ++ it )
124 os << *it << std::endl;
bool addScope(const DDGeoHistory &s)
Adds a scope. No new scope will be added if s is already contained in one of the subtrees.
DDScopeClassification classify_
std::vector< DDGeoHistory > scope_type
int depth(void) const
return the depth to wich the subtrees are restricted
std::vector< DDExpandedNode > DDGeoHistory
Geometrical 'path' of the current node up to the root-node.
defines subtrees in the expanded-view
friend std::ostream & operator<<(std::ostream &, const DDScope &)
void setDepth(int)
subtrees of the scope are only transversed down to the given level
dd_scope_class operator()(const DDGeoHistory &, const DDGeoHistory &) const
const scope_type & scope(void) const
returns the scope container