Merger Tree Walkers¶
Class providing walkers for merger trees—iterator objects that traverse the nodes of a merger tree in a defined order. A walker maintains a current node pointer and advances it to the next node in the traversal sequence. Different implementations visit different subsets of nodes (all nodes, isolated halos only, branch-by-branch, construction-order) and are used by the evolver, outputter, and operator classes to apply operations over the correct set of nodes.
Default implementation: mergerTreeWalkerIsolatedNodes
Methods¶
next→logicalUpdate the pointer to the next node to visit. Returns true if such a node exists, returns false if no such node exists (i.e. if all nodes have been visited already).
type(treeNode), intent(inout), pointer :: node
nodesRemain→logicalReturns true if more nodes remain to be walked to in the tree.
mergerTreeWalkerAllAndFormationNodes¶
Provides a merger tree walker which iterates depth-first over all nodes including formation nodes.
mergerTreeWalkerAllNodes¶
Provides a merger tree walker which iterates depth-first over all all nodes.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
mergerTreeWalkerAllNodesBranch¶
Provides a merger tree walker which iterates depth-first over all all nodes in a given branch.
Methods
descend— Descend through the hierarchy to the deepest node along the current branch.
mergerTreeWalkerIsolatedNodes¶
Provides a merger tree walker which iterates depth-first over all isolated nodes.
(Default implementation)
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
mergerTreeWalkerIsolatedNodesBranch¶
Provides a merger tree walker which iterates depth-first over all isolated nodes in a given branch.
Methods
descend— Descend through the hierarchy to the deepest node along the current branch.
mergerTreeWalkerTreeConstruction¶
Provides a merger tree walker for trees under construction.
Methods
setNode— Set the walker to the given node.