halomod.halo_exclusion.Sphere

class halomod.halo_exclusion.Sphere(m: ndarray, density: ndarray, power_integrand: ndarray, bias: ndarray, r: ndarray, halo_density: float)[source]

Bases: Exclusion

Spherical halo exclusion model.

Only halo pairs where the virial radius of either halo is smaller than half of the seperation, i.e.:

\[R_{\rm vir} \le r/2\]

will be accounted for.

density_mod

The modified density after accounting for different integral mass limits.

Returns:

The modified density as a function of the scale, r.

Return type:

np.ndarray

classmethod get_models() Dict[str, Type]

Get a dictionary of all implemented models for this component.

integrate()[source]

Integrate the raw_integrand() over mass under new mass limits.

Returns:

An array of shape (r, k) that should be multiplied by P_m(k) to obtain the 2-halo power spectrum.

Return type:

np.ndarray

mask

Elements that should be set to zero. Shape (r, m).

property mlim

The mass threshold for the mask.

property r_halo

The virial radius of the halo.

raw_integrand() ndarray

Compute the full power spectrum integrand.

The output is always a 3D array, with shape (r, k, m).