added first dynamic Lorentz KT version. Needs still some exhausting testing
This commit is contained in:
parent
0f2e10fd3b
commit
6e35fd0292
@ -1239,7 +1239,49 @@ double PTheory::StaticLorentzKTLF(register double t, const PDoubleVector& paramV
|
|||||||
*/
|
*/
|
||||||
double PTheory::DynamicLorentzKTLF(register double t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const
|
double PTheory::DynamicLorentzKTLF(register double t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const
|
||||||
{
|
{
|
||||||
return 0.0;
|
// expected parameters: frequency damping hopping [tshift]
|
||||||
|
|
||||||
|
double val[4];
|
||||||
|
double result = 0.0;
|
||||||
|
|
||||||
|
assert(fParamNo.size() <= 4);
|
||||||
|
|
||||||
|
// check if FUNCTIONS are used
|
||||||
|
for (unsigned int i=0; i<fParamNo.size(); i++) {
|
||||||
|
if (fParamNo[i] < MSR_PARAM_FUN_OFFSET) { // parameter or resolved map
|
||||||
|
val[i] = paramValues[fParamNo[i]];
|
||||||
|
} else { // function
|
||||||
|
val[i] = funcValues[fParamNo[i]-MSR_PARAM_FUN_OFFSET];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if the parameter values have changed, and if yes recalculate the non-analytic integral
|
||||||
|
bool newParam = false;
|
||||||
|
for (unsigned int i=0; i<4; i++) {
|
||||||
|
if (val[i] != fPrevParam[i]) {
|
||||||
|
newParam = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newParam) { // new parameters found
|
||||||
|
for (unsigned int i=0; i<4; i++)
|
||||||
|
fPrevParam[i] = val[i];
|
||||||
|
CalculateDynKTLF(val, 1); // 0 means Lorentz
|
||||||
|
}
|
||||||
|
|
||||||
|
double tt;
|
||||||
|
if (fParamNo.size() == 3) // no tshift
|
||||||
|
tt = t;
|
||||||
|
else // tshift present
|
||||||
|
tt = t-val[3];
|
||||||
|
|
||||||
|
if (tt < 0.0) // for times < 0 return a function value of 0.0
|
||||||
|
return 0.0;
|
||||||
|
|
||||||
|
result = GetDynKTLFValue(tt);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user