EmissionVoigt

class sherpa.astro.optical.EmissionVoigt(name='emissionvoigt')[source] [edit on github]

Bases: sherpa.models.model.RegriddableModel1D

Voigt function for modeling emission.

This model uses an EmissionGaussian component to model the core of the profile and an EmissionLorentz component to model the wings of the emission feature. It is for use when the independent axis is in Angstroms.

center

The center of the profile, in Angstroms.

flux

The flux the profile. This is the value used for each of the Gaussian and Lorentz sub-components.

fwhm

The full-width half-maximum of the model in km/s.

lg

The fwhm parameters of the Gaussian and Lorentz components are set based on the fwhm and lg values: the Gaussian component has its fwhm parameter set equal to fwhm, and the Lorentz component has its fwhm parameter set to lg * fwhm.

Notes

The Voigt function is approximated by the sum of a Gaussian and a Lorentzian profile ([1]), which works best when the ratio between the FWHM of the Gaussian and Lorentzian sub-components is near unity. The flux value is always kept evenly divided in between each sub-component. The FWHM of each sub-component is related to that of the other sub-component via the lg parameter.

References

[1]
    1. Lang, Astrophysical Formulae, 1980, 2nd ed., page 220

Attributes Summary

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Summary

apply(outer, *otherargs, **otherkwargs)
calc(p, x[, xhi]) Evaluate the model on a grid.
get_center()
guess(dep, *args, **kwargs) Set an initial guess for the parameter values.
regrid(*arrays, **kwargs) The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space.
reset()
set_center(*args, **kwargs)
startup(cache) Called before a model may be evaluated multiple times.
teardown() Called after a model may be evaluated multiple times.

Attributes Documentation

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Documentation

apply(outer, *otherargs, **otherkwargs) [edit on github]
calc(p, x, xhi=None, **kwargs)[source] [edit on github]

Evaluate the model on a grid.

Parameters:
  • p (sequence of numbers) – The parameter values to use. The order matches the pars field.
  • *args – The model grid. The values can be scalar or arrays, and the number depends on the dimensionality of the model and whether it is being evaluated over an integrated grid or at a point (or points).
get_center() [edit on github]
guess(dep, *args, **kwargs) [edit on github]

Set an initial guess for the parameter values.

Attempt to set the parameter values, and ranges, for the model to match the data values. This is intended as a rough guess, so it is expected that the model is only evaluated a small number of times, if at all.

regrid(*arrays, **kwargs) [edit on github]

The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space. An optional argument ‘interp’ enables the user to change the interpolation method.

Examples

>>> import numpy as np
>>> from sherpa.models.basic import Box1D
>>> mybox = Box1D()
>>> request_space = np.arange(1, 10, 0.1)
>>> regrid_model = mybox.regrid(request_space, interp=linear_interp)
reset() [edit on github]
set_center(*args, **kwargs) [edit on github]
startup(cache) [edit on github]

Called before a model may be evaluated multiple times.

See also

teardown()

teardown() [edit on github]

Called after a model may be evaluated multiple times.

See also

setup()