Interstellar
Instances of Interstellar
are objects representing model
interstellar processes which modify source intensities.
- class xpsi.Interstellar.Interstellar(*args, **kwargs)[source]
Bases:
ParameterSubspace
Base class for model interstellar X-ray processes (e.g., attenuation).
- __call__(energies, signal)[source]
Attenuate a (specific) photon flux signal in-place.
- Parameters:
energies (ndarray[m]) – An array of energies in keV at which attenuation factors need to be applied to the corresponding elements of the signal array.
signal (ndarray[m[,n]]) – A signal array to be attenuated, where the second dimension (columns) is optional and generally represents time (phase). The number of rows must be equal to the number of energies.
- Returns:
None
.
Note
It is expected that the operations performed on a column of specific fluxes need to be applied identically to all other columns. The referenced object
signal
needs to be directly modified in-place, and not copied.
- abstract attenuation(energies)[source]
Return the attenuation factor at a set of energies.
The attenuation model can depend on fixed or free variables in the subspace, and generally requires loading model data from disk.
- Parameters:
energies (ndarray[m]) – An array of energies in keV at which attenuation factors are requested.
- Returns:
An array of attenuation factors, one at each input energy.