.. _physics-mergerTreeNodeMerger: Merger Tree Node Merger Processing ================================== Class providing models for processing merger tree nodes at the moment of merger---when a satellite halo's evolution time reaches that of its parent and the two are combined. The merger processor transfers mass, metals, angular momentum, and other properties between the merging components according to the chosen prescription, and decides how to restructure the tree (e.g. single-level vs.\ multi-level hierarchy). Different implementations correspond to different assumptions about satellite orbital decay and the timing of merger events. **Default implementation:** ``mergerTreeNodeMergerSingleLevelHierarchy`` Methods ------- ``process`` → ``void`` Process the merger between ``node`` and its parent node, then destroy it. * ``type(treeNode), intent(inout), target :: node`` .. _physics-mergerTreeNodeMergerMultiLevelHierarchy: ``mergerTreeNodeMergerMultiLevelHierarchy`` ------------------------------------------- A node merger class implementing a multi level hierarchy. .. _physics-mergerTreeNodeMergerSingleLevelHierarchy: ``mergerTreeNodeMergerSingleLevelHierarchy`` -------------------------------------------- A merger tree node merger class which maintains a single level hierarchy of substructure, i.e. it tracks only substructures, not sub-substructures or deeper levels. When a :term:`node` first becomes a satellite it is appended to the list of satellites associated with its host halo. If the :term:`node` contains its own satellites they will be detached from the :term:`node` and appended to the list of satellites of the new host (and assigned new merging times). **(Default implementation)**