rustmatrix.scatter#
Angular-integrated scattering quantities.
Port of pytmatrix.scatter. These helpers operate on a
Scatterer (not the Rust core directly)
and are used by PSDIntegrator to tabulate
scattering / extinction cross-sections and asymmetry per diameter.
- rustmatrix.scatter.sca_intensity(scatterer, h_pol=True)[source]#
Differential scattering cross-section (value of the phase function).
- rustmatrix.scatter.ldr(scatterer, h_pol=True)[source]#
Linear depolarisation ratio (linear H/H or V/V ratio).
Convert to dB with
10 * log10(ldr(...)).
- rustmatrix.scatter.sca_xsect(scatterer, h_pol=True)[source]#
Polarised scattering cross-section σ_sca [mm²].
Integrates
sca_intensity · sin(θ)over the full scattering sphere usingscipy.integrate.dblquad(). When apsd_integratoris attached, the pre-tabulated value is returned instead (much faster).
- rustmatrix.scatter.ext_xsect(scatterer, h_pol=True)[source]#
Extinction cross-section σ_ext [mm²] from the optical theorem.
Temporarily rotates the scatterer into forward-scatter geometry, evaluates
S, and returns2 λ Im(S_ii). Restores the original geometry before returning.