py21cmsense.sensitivity.PowerSpectrum

class py21cmsense.sensitivity.PowerSpectrum(*, observation, no_ns_baselines=False, horizon_buffer=0.1, foreground_model='moderate', k_21=array([0.01971193, 0.03311571, 0.0467414, 0.06765439, 0.1014223, 0.1529223, 0.2292262, 0.3439838, 0.5162958, 0.7745761, 1.161992, 1.677987, 2.192064 ]), delta_21=array([ 1.526598, 3.329262, 8.039253, 15.49796, 24.64819, 26.97915, 27.5496, 26.8237, 25.01379, 24.44274, 28.71085, 45.85679, 73.33217 ]))[source]

A Power Spectrum sensitivity calculator.

Parameters
  • horizon_buffer (float or Quantity) – A buffer to add to the horizon line in order to excise foreground-contaminated modes.

  • foreground_model (str, {moderate, optimistic}) – Which approach to take for foreground excision. Moderate uses a defined horizon buffer, while optimistic excludes all k modes inside the primary field of view.

  • k_21 (array or Quantity, optional) – An array of wavenumbers used to define a cosmological power spectrum, in order to get sample variance. If not a Quantity, will assume k has units of 1/Mpc, though it will convert these units to h/Mpc throughout the class. Default is to use built-in data file from 21cmFAST.

  • delta_21 (array or Quantity, optional) – An array of Delta^2 power spectrum values used for sample variance. If not a Quantity, will assume units of mK^2.

Methods

__init__([delta_21])

Initialize self.

from_yaml(yaml_file)

Construct a PowerSpectrum sensitivity from yaml.

horizon_limit(self, umag)

Calculate a horizon limit, with included buffer, if appropriate.

power_normalisation(self, k)

Normalisation constant for power spectrum.

sample_noise(self, k_par, k_perp)

Sample variance contribution at a particular k mode

thermal_noise(self, k_par, k_perp, trms)

Thermal noise contribution at particular k mode

Attributes

X2Y

Cosmological scaling factor X^2*Y (eg.

calculate_sensitivity_1d(self[, thermal, sample])

calculate_sensitivity_2d(self[, thermal, sample])

calculate_significance(self[, thermal, sample])

k1d

1D array of wavenumbers for which sensitivities will be generated.

k_max

maximum k value to use in estimates

k_min

Minimum k value to use in estimates.

p21

An interpolation function defining the cosmological power spectrum.

uv_coverage

The UV-coverage of the array, with unused/statistically redundant baselines masked to zero