Base class for querying for nodes in the DDExpandedView.
Definition at line 12 of file DDQuery.h.
Definition at line 33 of file DDQuery.cc.
References DDFilter::accept(), AND, begin, criteria_, DDScope::depth(), HLT_FULL_cff::depth, end, epv_, alcazmumu_cfi::filter, DDExpandedView::geoHistory(), logOps_, DDExpandedView::next(), DDExpandedView::reset(), mps_fire::result, result_, DTTTrigCorrFirst::run, DDScope::scope(), scope_, DDExpandedView::setScope(), and DDExpandedView::specifics().
44 DDScope::scope_type::const_iterator it = dummy.begin();
45 DDScope::scope_type::const_iterator it_end = dummy.end();
48 it = sc.
scope().begin();
50 scoped = bool(sc.
scope().end()-it);
53 bool runonce = scoped ?
false :
true;
55 while (runonce || (it != it_end) ) {
bool next()
set current node to the next node in the expanded tree
std::vector< const DDsvalues_type * > specifics() const
User specific data attached to the current node.
std::vector< DDExpandedNode > result_
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
std::vector< DDGeoHistory > scope_type
int depth(void) const
return the depth to wich the subtrees are restricted
bool setScope(const DDGeoHistory &hist, int depth=0)
sets the scope of the expanded view
defines subtrees in the expanded-view
void reset()
true, if a call to firstChild() would succeed (current node has at least one child) ...
A Filter accepts or rejects a DDExpandedNode based on a user-coded decision rule. ...
virtual bool accept(const DDExpandedView &) const =0
true, if the DDExpandedNode fulfills the filter criteria
std::vector< std::pair< bool, DDFilter * > > criteria_
const scope_type & scope(void) const
returns the scope container
std::vector< DDLogOp > logOps_