SciPy

darkhistory.electrons.ics.ics_engloss_spectrum.engloss_spec

darkhistory.electrons.ics.ics_engloss_spectrum.engloss_spec(eleckineng, delta, T, as_pairs=False, thomson_only=False, thomson_tf=None, rel_tf=None)

Thomson ICS scattered electron energy loss spectrum.

Switches between engloss_spec_series() and engloss_spec_diff() in the Thomson regime. Also switches between Thomson and relativistic regimes automatically.

Parameters:
eleckineng : ndarray

Incoming electron kinetic energy.

delta : ndarray

Energy gained by photon after upscattering (only positive values).

T : float

CMB temperature.

as_pairs : bool, optional

If true, treats eleckineng and photeng as a paired list: produces eleckineng.size == photeng.size values. Otherwise, gets the spectrum at each photeng for each eleckineng, returning an array of length eleckineng.size*photeng.size.

thomson_only : bool, optional

If true, only returns the Thomson energy loss spectrum, and never switches to the relativistic case.

thomson_tf : TransFuncAtRedshift, optional

Reference Thomson energy loss ICS spectrum. If specified, calculation is done by interpolating over the transfer function.

rel_tf : TransFuncAtRedshift, optional

Reference relativistic energy loss ICS spectrum. If specified, calculation is done by interpolating over the transfer function.

Returns:
TransFuncAtRedshift or ndarray

dN/(dt d Delta) of the outgoing photons (dt = 1 s). If as_pairs == False, returns a TransFuncAtRedshift, with abscissa given by (eleckineng, delta). Otherwise, returns an ndarray, with abscissa given by each pair of (eleckineng, delta).