XSModel

class sherpa.astro.xspec.XSModel(name, pars=())[source]

Bases: sherpa.models.model.ArithmeticModel

The base class for XSPEC models.

It is expected that sub-classes are used to represent the five different types of XSPEC model (additive, multiplicative, convolution, pile up, mixing, and tables), although not all are currently supported in Sherpa.

Notes

The XSPEC models are evaluated on a one-dimensional, integrated, contiguous grid. When the calc method is called with both low and high bin values, the arrays are converted into a single array matching the XSPEC calling convention - that is elo_0, elo_1, ..., elo_n for n bins (so the last value is the upper edge of the last bin) - adding in any bins to account for a non-contiguous input. This array is used to evaluate the model, and then the return value is created by removing any extra bins that had to be added to account for non-contiguous input values.

If used on an unbinned dataset, so only one array is sent to calc, then the input values are taken to match the XSPEC calling convention - i.e. a contiguous grid where the last element represents the upper edge of the last bin. This means that for an input grid of n points, the returned array will contain n values, but the last element will be zero.

Attributes Summary

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars
version_enabled

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.
reset()
set_center(\*args, \*\*kwargs)
startup()
teardown()

Attributes Documentation

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars
version_enabled = True

Methods Documentation

apply(outer, *otherargs, **otherkwargs)
calc(pars, xlo, *args, **kwargs)
get_center()
guess(dep, *args, **kwargs)

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.

reset()
set_center(*args, **kwargs)
startup()
teardown()