24 typedef std::map<nav_type,int>::iterator m_it;
31 std::pair<m_it,bool>
res = path2id_.insert(std::make_pair(e.
navPos(),
count));
32 id2path_.push_back(res.first);
43 typedef std::map<nav_type,int>::iterator m_it;
50 std::pair<m_it,bool>
res = path2id_.insert(std::make_pair(f.
navPos(),
count));
51 id2path_.push_back(res.first);
76 std::map<nav_type,int>::const_iterator it = path2id_.find(n);
78 if (it != path2id_.end())
86 return view.
goTo(idToNavType(
id));
92 edm::LogError(
"DDNumberingScheme") <<
"DDDefaultNumberingScheme::node(int,DDFilteredView&) NOT IMPLEMENTED!" 94 return view.
goTo(idToNavType(
id));
102 if ( (
id>=(
int)id2path_.size()) || (
id < 0) )
106 std::map<nav_type,int>::iterator it = id2path_[pos];
bool next()
set current node to the next node in the expanded tree
DDNumberingScheme::nav_type idToNavType(int id) const
virtual int id(const DDExpandedView &) const =0
calculate the id of a given node
virtual bool node(int id, DDExpandedView &view) const
calculate the node given an id
virtual ~DDDefaultNumberingScheme()
virtual ~DDNumberingScheme()
nav_type navPos() const
return the stack of sibling numbers
std::vector< int > nav_type
nav_type navPos() const
return the stack of sibling numbers which indicates the current position in the DDExpandedView ...
bool goTo(const nav_type &)
virtual int id(const DDExpandedView &) const
calculate the id of a given node
bool next()
set current node to the next node in the filtered tree
DDNumberingScheme::nav_type nav_type
void reset()
true, if a call to firstChild() would succeed (current node has at least one child) ...
bool goTo(const nav_type &)
transversed the DDExpandedView according to the given stack of sibling numbers
void reset()
clears the scope and sets the filtered view to its root-node
Provides an exploded view of the detector (tree-view)
DDDefaultNumberingScheme(const DDExpandedView &e)