darkhistory.electrons.elec_cooling.get_elec_cooling_tf¶
-
darkhistory.electrons.elec_cooling.
get_elec_cooling_tf
(eleceng, photeng, rs, xHII, xHeII=0, raw_thomson_tf=None, raw_rel_tf=None, raw_engloss_tf=None, coll_ion_sec_elec_specs=None, coll_exc_sec_elec_specs=None, ics_engloss_data=None, check_conservation_eng=False, verbose=False)¶ Transfer functions for complete electron cooling through inverse Compton scattering (ICS) and atomic processes.
Parameters: - eleceng : ndarray, shape (m, )
The electron kinetic energy abscissa.
- photeng : ndarray
The photon energy abscissa.
- rs : float
The redshift (1+z).
- xHII : float
Ionized hydrogen fraction, nHII/nH.
- xHeII : float, optional
Singly-ionized helium fraction, nHe+/nH. Default is 0.
- raw_thomson_tf : TransFuncAtRedshift, optional
Thomson ICS scattered photon spectrum transfer function. If None, uses the default transfer function. Default is None.
- raw_rel_tf : TransFuncAtRedshift, optional
Relativistic ICS scattered photon spectrum transfer function. If None, uses the default transfer function. Default is None.
- raw_engloss_tf : TransFuncAtRedshift, optional
Thomson ICS scattered electron net energy loss transfer function. If None, uses the default transfer function. Default is None.
- coll_ion_sec_elec_specs : tuple of 3 ndarrays, shapes (m, m), optional
Normalized collisional ionization secondary electron spectra, order HI, HeI, HeII, indexed by injected electron energy by outgoing electron energy. If None, the function calculates this. Default is None.
- coll_exc_sec_elec_specs : tuple of 3 ndarray, shapes (m, m), optional
Normalized collisional excitation secondary electron spectra, order HI, HeI, HeII, indexed by injected electron energy by outgoing electron energy. If None, the function calculates this. Default is None.
- ics_engloss_data : EnglossRebinData
An EnglossRebinData object which stores rebinning information (based on
eleceng
andphoteng
) for speed. Default is None.- check_conservation_eng : bool
If True, lower=True, checks for energy conservation. Default is False.
- verbose : bool
If True, prints energy conservation checks. Default is False.
Returns: - tuple
Transfer functions for electron cooling deposition and spectra.
See also
Notes
The entries of the output tuple are (see Sec IIIC of the paper):
- The secondary propagating photon transfer function \(\overline{\mathsf{T}}_\gamma\);
- The low-energy electron transfer function \(\overline{\mathsf{T}}_e\);
- Energy deposited into ionization \(\overline{\mathbf{R}}_\text{ion}\);
- Energy deposited into excitation \(\overline{\mathbf{R}}_\text{exc}\);
- Energy deposited into heating \(\overline{\mathbf{R}}_\text{heat}\);
- Upscattered CMB photon total energy \(\overline{\mathbf{R}}_\text{CMB}\), and
- Numerical error away from energy conservation.
Items 2–5 are vectors that when dotted into an electron spectrum with abscissa
eleceng
, return the energy deposited/CMB energy upscattered for that spectrum.Items 0–1 are
TransFuncAtRedshift
objects. For each of these objectstf
and a given electron spectrumelec_spec
,tf.sum_specs(elec_spec)
returns the propagating photon/low-energy electron spectrum after cooling.The default version of the three ICS transfer functions that are required by this function is provided in
tf_data
.