xarray.DataArray.kspace.hv_to_kz

DataArray.kspace.hv_to_kz(self, hv)[source]

Return \(k_z\) for a given photon energy.

Useful when creating overlays on \(hν\)-dependent data.

Parameters:

hv (float | Iterable[float]) – Photon energy in eV.

Note

This method returns an overlay curve \(k_z(hν)\) for converted momentum data. The returned values depend on the requested photon energies, binding energy, and in-plane momentum coordinates, but never on the converted data’s current kz grid.

If the carried in-plane momentum perpendicular to the slit is independent of the converted kz axis, \(k_z\) is evaluated directly from

\[k_z = \sqrt{\frac{2 m_e}{\hbar^2}(E_k + V_0) - k_x^2 - k_y^2}.\]

If that carried orthogonal momentum depends on the converted kz axis, the method solves the sampled fixed-point relation

\[k_z = \sqrt{\frac{2 m_e}{\hbar^2}(E_k + V_0) - k_{\mathrm{slit}}^2 - k_{\mathrm{other}}(k_z)^2}\]

on the stored kz grid. If several sampled roots are present, a continuous branch is selected across the momentum axis along the slit. Slices with no sampled solution are returned as NaN. The legacy angle-roundtrip path is only used when the orthogonal in-plane momentum coordinate is unavailable.