py21cmsense.theory¶
A module defining an interface for theoretical predictions, eg. power spectra.
This is simply so that one can calculate sample variance values for a particular theoretical model, with a uniform interface.
To register a class as a theory power spectrum, simply make it a subclass of
TheoryModel
. You must define two things on the class: (1) a class attribute
“use_littleh” which says whether the function that evaluates the power spectrum expects
the wavenumber in h/Mpc or 1/Mpc, and (2) a __call__
method, which takes in a float
redshift and an array of wavenumbers, and returns Delta^2 as an astropy Quantity with
units mK^2.
Classes
Theory model from EOS2016 Bright Galaxies. |
|
Theory model from EOS2016 Faint Galaxies. |
|
|
Theory model from EOS2021 (https://arxiv.org/abs/2110.13919). |
Simple 21cmFAST-based theory model explicitly for z=9.5, from 21cmSense v1. |
|
Abstract base class for theory models. |
|
Base class for theory models that are defined by a spline over (z,k). |