Edge

class sherpa.astro.models.Edge(name='edge')[source] [edit on github]

Bases: sherpa.models.model.RegriddableModel1D

Photoabsorption edge model.

This model can be used when the independent axis is in energy or wavelength space.

space

Switch to select whether the independent axis is energy or wavelength. This parameter is not fit (alwaysfrozen is set), and should be set to either 0, when the independent axis is energy with units of keV, or 1 when the axis is wavelength with units of Angstrom.

thresh

The edge position (in energy or wavelength units matching the data grid).

abs

The absorption coefficient.

Notes

A phenomenological photoabsorption edge model as a function of energy:

f(x) = exp(-abs * (x / thresh)^-3)   if x >= thresh

     = 1.0                           otherwise

or, as a function of wavelength:

f(x) = exp(-abs * (x / thresh)^3)    if x <= thresh

     = 1.0                           otherwise

Attributes Summary

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Summary

apply(outer, *otherargs, **otherkwargs)
calc(pars, xlo, *args, **kwargs)
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(pars, xlo, *args, **kwargs) [edit on github]
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()