.. _physics-mergerTreeWalker: 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`` → ``logical`` Update 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`` → ``logical`` Returns true if more nodes remain to be walked to in the tree. .. _physics-mergerTreeWalkerAllAndFormationNodes: ``mergerTreeWalkerAllAndFormationNodes`` ---------------------------------------- Provides a merger tree walker which iterates depth-first over all nodes including formation nodes. .. _physics-mergerTreeWalkerAllNodes: ``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. .. _physics-mergerTreeWalkerAllNodesBranch: ``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. .. _physics-mergerTreeWalkerIsolatedNodes: ``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. .. _physics-mergerTreeWalkerIsolatedNodesBranch: ``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. .. _physics-mergerTreeWalkerTreeConstruction: ``mergerTreeWalkerTreeConstruction`` ------------------------------------ Provides a merger tree walker for trees under construction. **Methods** * ``setNode`` — Set the walker to the given node.