UltraScan III
Namespaces
Classes
Files
File List
File Members
programs
us_globalequil
us_eqmath.h
Go to the documentation of this file.
1
#ifndef US_EQMATH_H
2
#define US_EQMATH_H
3
4
#include <QtCore>
5
6
#include "
us_extern.h
"
7
#include "
us_dataIO.h
"
8
#include "
us_matrix.h
"
9
#include "
us_math2.h
"
10
#include "
us_globeq_data.h
"
11
12
#ifndef DbgLv
13
#define DbgLv(a) if(dbg_level>=a)qDebug()
14
#endif
15
16
class
US_EqMath
:
public
QObject
17
{
18
Q_OBJECT
19
20
public
:
21
US_EqMath
( QVector< US_DataIO::EditedData >&,
22
QVector< ScanEdit >&, QVector< EqScanFit >&,
EqRunFit
& );
23
24
void
init_params
(
int
,
bool
,
25
QList< double >&, QList< double >& );
26
void
init_fit
(
int
,
int
,
FitCtrlPar
& );
27
int
calc_jacobian
(
void
);
28
double
calc_testParameter
(
double
);
29
double
linesearch
(
void
);
30
void
calc_B
(
void
);
31
double
calc_residuals
(
void
);
32
int
calc_model
(
double
* );
33
void
genLeastSquaresOrd2
(
double
**,
int
,
double
*,
double
** );
34
void
guess_mapForward
(
double
* );
35
void
parameter_mapBackward
(
double
* );
36
void
calc_runs
(
void
);
37
void
calc_integral
(
void
);
38
39
private
:
40
QVector< US_DataIO::EditedData >&
dataList
;
41
QVector< ScanEdit >&
scedits
;
42
QVector< EqScanFit >&
scanfits
;
43
EqRunFit
&
runfit
;
44
45
QVector< int >
v_setpts
;
// Set points vector
46
QVector< int >
v_setlpts
;
// Set log points vector
47
48
QVector< double >
v_yraw
;
// Y raw values vector
49
QVector< double >
v_yguess
;
// Y guesses vector
50
QVector< double >
v_ydelta
;
// Y deltas vector
51
QVector< double >
v_BB
;
// B vector
52
QVector< double >
v_guess
;
// Guesses vector
53
QVector< double >
v_tguess
;
// Test guesses vector
54
QVector< double >
v_jacobi
;
// Jacobian matrix values vector
55
QVector< double >
v_info
;
// Information matrix values vector
56
QVector< double >
v_LLtrns
;
// LL transpose matrix values vector
57
QVector< double >
v_dcr2
;
// dcr2 matrix values vector
58
QVector< double >
v_dlncr2
;
// dlncr2 matrix values vector
59
QVector< double >
v_lncr2
;
// lncr2 matrix values vector
60
61
QVector< double* >
m_jacobi
;
// Jacobian matrix
62
QVector< double* >
m_info
;
// Information matrix
63
QVector< double* >
m_LLtrns
;
// LL transpose matrix
64
QVector< double* >
m_dcr2
;
// dcr2 matrix
65
QVector< double* >
m_dlncr2
;
// dlncr2 matrix
66
QVector< double* >
m_lncr2
;
// lncr2 matrix
67
68
double
*
d_jacobi
;
// Jacobian data array
69
double
*
d_info
;
// Information data array
70
double
*
d_LLtrns
;
// LL transpose data array
71
double
*
d_dcr2
;
// dcr2 data array
72
double
*
d_dlncr2
;
// dlncr2 data array
73
double
*
d_lncr2
;
// lncr2 data array
74
75
int
*
setpts
;
// Set points array
76
int
*
setlpts
;
// Set log points array
77
double
*
y_raw
;
// Y raw values array
78
double
*
y_guess
;
// Y guesses array
79
double
*
y_delta
;
// Y deltas array
80
double
*
BB
;
// B array
81
double
*
guess
;
// Guesses array
82
double
*
tguess
;
// Test guesses array
83
double
**
jacobian
;
// Jacobian matrix array
84
double
**
info
;
// Information matrix array
85
double
**
LLtr
;
// LL transpose matrix array
86
double
**
dcr2
;
// dcr2 matrix array
87
double
**
dlncr2
;
// dlncr2 matrix array
88
double
**
lncr2
;
// lncr2 matrix array
89
90
int
dbg_level
;
91
int
modelx
;
// Model type index
92
int
nlsmeth
;
// NLS method index
93
int
ntpts
;
// Number of total points
94
int
ndsets
;
// Number of data sets
95
int
nfpars
;
// Number of data sets
96
int
ffitx
;
// First fit scan index
97
int
nspts
;
// Number of set points
98
int
nslpts
;
// Number of set log points
99
100
private
slots:
101
bool
Cholesky_DecompOrd2
(
double
** );
102
bool
Cholesky_SolveSysOrd2
(
double
**,
double
* );
103
bool
isNan
(
double
);
104
double
calc_bottom
(
double
);
105
};
106
#endif
107
Generated on Sun Jun 21 2015 11:40:41 for UltraScan III by
1.8.3.1-20130324