:orphan:
# PetscSFGetLeafRanks
Get leaf ranks referencing roots on this process
## Synopsis
```
#include "petscsf.h"
PetscErrorCode PetscSFGetLeafRanks(PetscSF sf, PetscInt *niranks, const PetscMPIInt **iranks, const PetscInt **ioffset, const PetscInt **irootloc)
```
Not Collective
## Input Parameter
- ***sf -*** star forest
## Output Parameters
- ***niranks -*** number of leaf ranks referencing roots on this process
- ***iranks -*** [`niranks`] array of ranks
- ***ioffset -*** [`niranks`+1] offset in `irootloc` for each rank
- ***irootloc -*** [`ioffset`[`niranks`]] concatenated array holding local indices of roots referenced by each leaf rank
## See Also
`PetscSF`, `PetscSFGetRootRanks()`
## Level
developer
## Location
src/vec/is/sf/interface/sf.c
## Examples
src/vec/is/sf/tutorials/ex1f.F90
## Implementations
PetscSFGetLeafRanks_Allgatherv in src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.c
PetscSFGetLeafRanks_Basic in src/vec/is/sf/impls/basic/sfbasic.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/sf/interface/sf.c)
[Index of all PetscSF routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)