hmfast.tracers.kSZTracer

class hmfast.tracers.kSZTracer(profile=None)[source]

Bases: Tracer

kinetic Sunyaev-Zeldovich effect tracer.

Attributes:
profileDensityProfile

Electron density profile used to model the kinetic Sunyaev-Zeldovich signal.

Methods

kernel(cosmology, z)

Compute the kSZ kernel \(W_{\mathrm{kSZ}}(z)\) at redshift \(z\).

update([profile])

Return a new kSZTracer instance with updated attributes using PyTree logic.

update(profile=None)[source]

Return a new kSZTracer instance with updated attributes using PyTree logic.

Parameters:
profileDensityProfile, optional

New density profile to use for the tracer. If None, the profile is unchanged.

Returns:
kSZTracer

New tracer instance with updated attributes.

kernel(cosmology, z)[source]

Compute the kSZ kernel \(W_{\mathrm{kSZ}}(z)\) at redshift \(z\).

The kernel is given by:

\[W_{\mathrm{kSZ}}(\chi) = \frac{\sigma_T}{m_p} \frac{v_{\mathrm{rms}}(z)}{1+z}\]

where \(\sigma_T\) is the Thomson cross-section, \(m_p\) is the proton mass, and \(z\) is the redshift. The velocity dispersion \(v_{\mathrm{rms}}(z)\) is computed from the given cosmology.

Parameters:
cosmologyCosmology

Cosmology object with required methods and parameters.

zfloat or array_like

Redshift(s) at which to compute the kernel.

Returns:
W_kszarray_like

kSZ kernel evaluated at redshift(s) \(z\).