10 DDGeoHistory::const_iterator lit = left.begin();
11 DDGeoHistory::const_iterator rit = right.begin();
13 while( lit != left.end() && rit != right.end())
15 if( lit->siblingno() != rit->siblingno())
26 if( lit == left.end()) {
54 scope_type::iterator it =
subtrees_.begin();
56 int supertreeCount = 0;
57 bool diffBranch =
false;
63 switch( classification )
66 buf.emplace_back( *it );
71 buf.emplace_back( *it );
77 if( supertreeCount == 1 )
88 if( subTree ==
false )
122 DDScope::scope_type::const_iterator it = scope.
subtrees_.begin();
123 for(; it != scope.
subtrees_.end(); ++ it )
125 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