py21cmfast.lightconers.Lightconer ================================= .. py:class:: py21cmfast.lightconers.Lightconer Bases: :py:obj:`abc.ABC` A class that creates lightcone slices from Coeval objects. :Parameters: * **lc_distances** -- The comoving distances to the lightcone slices, in Mpc. Either this or the ``lc_redshifts`` must be provided. * **lc_redshifts** -- The redshifts of the lightcone slices. Either this or the ``lc_distances`` must be provided. * **cosmo** -- The cosmology to use. Defaults to Planck18. * **quantities** -- An iteratable of quantities to include in the lightcone slices. These should be attributes of the :class:~`outputs.Coeval` class that are arrays of shape ``HII_DIM^3``. A *special* value here is `velocity_los`, which Defaults to ``("brightness_temp",)``. .. !! processed by numpydoc !! .. py:method:: __init_subclass__() :classmethod: Enabe plugin-style behaviour. .. !! processed by numpydoc !! .. py:method:: between_redshifts(min_redshift, max_redshift, resolution, cosmo=Planck18, **kw) :classmethod: Construct a Lightconer with regular comoving dist. slices between two z's. .. !! processed by numpydoc !! .. py:method:: coeval_subselect(lcd, coeval, coeval_res) Sub-Select the coeval box required for interpolation at one slice. .. !! processed by numpydoc !! .. py:method:: construct_lightcone(lc_distances, boxes) :abstractmethod: Abstract method for constructing the lightcone slices. .. !! processed by numpydoc !! .. py:method:: construct_los_velocity_lightcone(lc_distances, velocities) :abstractmethod: Abstract method for constructing the LoS velocity lightcone slices. .. !! processed by numpydoc !! .. py:method:: find_required_lightcone_limits(classy_output, inputs) Obtain the redshift limits required for the lightcone to include RSDs. This is a *crude* estimation of the maximum/minimum lightcone limits that are required in order to simulate all the "mass" that enters the requested ligthcone (due to RSD shift). We use the rms of the velocity field from linear perturbation theory in order to determine the required lightcone limits. If no limit is found, it means that the limits of node_redshifts are not sufficient and an error is raised. :Parameters: * **classy_output** (*classy.Class*) -- An object containing all the information from the CLASS calculation. * **inputs** (*InputParameters*) -- The input parameters corresponding to the box. :returns: **lcd_limits_rsd** (*list*) -- List that contains the limits of the required lightcone distances. .. !! processed by numpydoc !! .. py:method:: get_lc_distances_in_pixels(resolution) Get the lightcone distances in pixels, given a resolution. .. !! processed by numpydoc !! .. py:method:: get_shape(simulation_options) :abstractmethod: Get the shape of the lightcone slices. .. !! processed by numpydoc !! .. py:method:: make_lightcone_slices(c1, c2) Make lightcone slices out of two coeval objects. :Parameters: **c1, c2** (*Coeval*) -- The coeval boxes to interpolate. :returns: * *quantity* -- The field names of the quantities required by the lightcone. * *lcidx* -- The indices of the lightcone to which these slices belong. * *scalar_field_slices* -- The scalar fields evaluated on the "lightcone" slices that exist within the redshift range spanned by ``c1`` and ``c2``. .. !! processed by numpydoc !! .. py:method:: redshift_interpolation(dc, coeval_a, coeval_b, dc_a, dc_b, kind = 'mean') Perform redshift interpolation to a new box given two bracketing coevals. .. !! processed by numpydoc !! .. py:method:: validate_options(inputs, include_dvdr_in_tau21, apply_rsds, classy_output = None) Validate 21cmFAST options. .. !! processed by numpydoc !! .. py:method:: with_equal_cdist_slices(min_redshift, max_redshift, resolution, cosmo=Planck18, **kw) :classmethod: Create a lightconer with equally spaced slices in comoving distance. This method is deprecated and will be removed in future versions. Instead, use `between_redshifts` to create a lightconer with equally spaced slices in comoving distance. .. !! processed by numpydoc !! .. py:attribute:: __slots__ :value: () .. py:attribute:: cosmo :type: astropy.cosmology.FLRW .. py:attribute:: interp_kinds :type: dict[str, str] .. py:attribute:: lc_distances :type: astropy.units.Quantity[_LENGTH] .. py:property:: lc_redshifts :type: numpy.ndarray The redshifts of the lightcone slices. .. !! processed by numpydoc !! .. py:attribute:: quantities :type: tuple[str]