|
void | run () |
|
void | exit () |
|
| fitthread (double *para, int *changed, double *errors, int cpara, double(*f)(void *), void *instance, int MaxIter, double conv, bool forceSimplex) |
| global fitting More...
|
|
| fitthread (double *para, int runi, double *errors, int cpara, double(*f)(void *, int), void *instance, int MaxIter, double conv) |
| seriell fitting More...
|
|
| fitthread (double *para, int *changed, double *errors, int cpara, double(*chi2)(void *), void *instance, ErrMod mode, double(*fitting)(void *), int MonteCarloIterations, int crun, int cglobal, bool(*correlated)(void *, int, int)) |
| global error calculation More...
|
|
| fitthread (double *para, int runi, double *errors, int cpara, double(*chi2)(void *, int), void *instance, ErrMod mode, int MonteCarloIterations) |
| global error calculation
|
|
void | errors_covariant () |
| see ErrMod
|
|
void | errors_MonteCarlo (double pdfmin, double sigmac) |
| see ErrMod More...
|
|
void | errors_uncorrelated (bool EmitSignals) |
| see ErrMod, EmitSignals may suppress Progressbar update at internal use
|
|
void | errors_MINOS () |
| see ErrMod
|
|
thread class to perform fitting and error calculation tasks
Moessfit uses multithreading to efficiently fit and error calculate the data which usually consists of several runs. Multithreading is organized in the following way:
(1) seriell fitting: the model specified by the user uses run specific parameters only. Then every run can be calculated individually (=seriell), no data is shared. For every run a fitthread will be created. All fitthread can work paralell.
(2) global fitting: only one fitthread is used, multithreading is not used by using several fitthreads, but within fitmodel using QtConcurrent to calculate the spectra individually, if the global model has to be updated
A fitthread knows the data to manipulate (which is owned by a fitmodel) and a function to recalculate the related fitmodel and get an updated chi2 value.
void fitthread::paraboloid |
( |
double ** |
x, |
|
|
double * |
y, |
|
|
int |
N, |
|
|
int |
points, |
|
|
double * |
fxy |
|
) |
| |
|
slot |
fits a dim-dimensional paraboloid centered at zero at points x, UNUSED
x is points*dim array holding the arguments, y are the function values at x (a points-dimensional vetctor and fxy returns the elements of the Hesse Matrix H in the following order: fx = (f11, f12, f13 ..., f22, f23,...,fNN)) The data can be used in a quadradic model: f(x) = 0.5*xHx