musrfit
1.9.2
|
#include <PTheory.h>
Public Member Functions | |
PTheory (PMsrHandler *msrInfo, UInt_t runNo, const Bool_t hasParent=false) | |
virtual | ~PTheory () |
virtual Bool_t | IsValid () |
virtual Double_t | Func (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
Private Member Functions | |
virtual void | CleanUp (PTheory *theo) |
virtual Int_t | SearchDataBase (TString name) |
virtual Int_t | GetUserFcnIdx (UInt_t lineNo) const |
virtual void | MakeCleanAndTidyTheoryBlock (PMsrLines *fullTheoryBlock) |
virtual void | MakeCleanAndTidyPolynom (UInt_t i, PMsrLines *fullTheoryBlock) |
virtual void | MakeCleanAndTidyUserFcn (UInt_t i, PMsrLines *fullTheoryBlock) |
virtual Double_t | Constant (const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | Asymmetry (const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | SimpleExp (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | GeneralExp (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | SimpleGauss (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticGaussKT (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticGaussKTLF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | DynamicGaussKTLF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticLorentzKT (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticLorentzKTLF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | DynamicLorentzKTLF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | CombiLGKT (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StrKT (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | SpinGlass (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | RandomAnisotropicHyperfine (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | Abragam (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | TFCos (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | InternalField (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | InternalFieldGK (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | InternalFieldLL (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | Bessel (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | InternalBessel (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | SkewedGauss (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticNKZF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | StaticNKTF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | DynamicNKZF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | DynamicNKTF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | MuMinusExpTF (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | Polynom (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual Double_t | UserFcn (Double_t t, const PDoubleVector ¶mValues, const PDoubleVector &funcValues) const |
virtual void | CalculateGaussLFIntegral (const Double_t *val) const |
virtual void | CalculateLorentzLFIntegral (const Double_t *val) const |
virtual Double_t | GetLFIntegralValue (const Double_t t) const |
virtual void | CalculateDynKTLF (const Double_t *val, Int_t tag) const |
virtual Double_t | GetDynKTLFValue (const Double_t t) const |
Private Attributes | |
Bool_t | fValid |
flag to tell if the theory is valid More... | |
UInt_t | fType |
function tag More... | |
std::vector< UInt_t > | fParamNo |
holds the parameter numbers for the theory (including maps and functions, see constructor desciption) More... | |
UInt_t | fNoOfParam |
number of parameters for the given function More... | |
PTheory * | fAdd |
PTheory * | fMul |
pointers to the add-sub-function or the multiply-sub-function More... | |
Int_t | fUserFcnIdx |
index of the user function within the theory tree More... | |
TString | fUserFcnClassName |
name of the user function class for within root More... | |
TString | fUserFcnSharedLibName |
name of the shared lib to which the user function belongs More... | |
PUserFcnBase * | fUserFcn |
pointer to the user function object More... | |
PDoubleVector | fUserParam |
vector holding the resolved user function parameters, i.e. map and function resolved. More... | |
PMsrHandler * | fMsrInfo |
pointer to the msr-file handler More... | |
Double_t | fSamplingTime |
needed for LF. Keeps the sampling time of the non-analytic integral More... | |
Double_t | fPrevParam [THEORY_MAX_PARAM] |
needed for LF. Keeps the previous fitting parameters More... | |
PDoubleVector | fLFIntegral |
needed for LF. Keeps the non-analytic integral values More... | |
Double_t | fDynLFdt |
needed for LF. Keeps the time step for the dynamic LF calculation, used in the integral equation approach More... | |
PDoubleVector | fDynLFFuncValue |
needed for LF. Keeps the dynamic LF KT function values More... | |
PTheory::PTheory | ( | PMsrHandler * | msrInfo, |
UInt_t | runNo, | ||
const Bool_t | hasParent = false |
||
) |
Constructor.
The theory block his parsed and mapped to a tree. Every line (except the '+') is a theory object by itself, i.e. the whole theory is build up recursivly. Example:
Theory block: a 1 tf 2 3 se 4 + a 5 tf 6 7 se 8 + a 9 tf 10 11
This is mapped into the following binary tree:
a 1 +/ \* a 5 tf 2 3 + / \* \ * a 9 a 5 se 4 \* \* tf 10 11 tf 6 7 \* se 8
msrInfo | msr-file handler |
runNo | msr-file run number |
hasParent | flag needed in order to know if PTheory is the root object or a child false (default) means this is the root object true means this is part of an already existing object tree |
Definition at line 93 of file PTheory.cpp.
References fAdd, fDynLFdt, fgTheoDataBase, PMsrLineStructure::fLine, PMsrLineStructure::fLineNo, fMul, theo_data_base::fNoOfParam, fNoOfParam, fParamNo, fPrevParam, fSamplingTime, fType, fUserFcn, fUserFcnClassName, fUserFcnIdx, fUserFcnSharedLibName, fUserParam, fValid, PMsrHandler::GetFuncIndex(), PMsrHandler::GetMsrRunList(), PMsrHandler::GetMsrTheory(), GetUserFcnIdx(), gGlobalUserFcn, PUserFcnBase::GlobalPartIsValid(), MakeCleanAndTidyTheoryBlock(), MSR_PARAM_FUN_OFFSET, PUserFcnBase::NeedGlobalPart(), SearchDataBase(), PUserFcnBase::SetGlobalPart(), status, THEORY_MAX_PARAM, THEORY_POLYNOM, THEORY_UNDEFINED, and THEORY_USER_FCN.
|
virtual |
Destructor
Definition at line 332 of file PTheory.cpp.
References CleanUp(), fDynLFFuncValue, fLFIntegral, fParamNo, fUserFcn, fUserParam, and gGlobalUserFcn.
|
privatevirtual |
theory function: Abragam function
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1842 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: Asymmetry
meaning of paramValues:
return: function value
paramValues | vector with the parameters |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1014 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: spherical bessel function including phase
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2073 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
Docu of this function still missing!!
Number of sampling points is estimated according to w0: w0 T = 2 pi t_sampling = T/16 (i.e. 16 points on 1 period) N = 8/pi w0 Tmax = 16 nu0 Tmax
val | parameters needed to solve the voltera integral equation |
tag | 0=Gauss, 1=Lorentz |
Definition at line 2709 of file PTheory.cpp.
References CalculateGaussLFIntegral(), CalculateLorentzLFIntegral(), fDynLFdt, fDynLFFuncValue, GetLFIntegralValue(), and TWO_PI.
Referenced by DynamicGaussKTLF(), and DynamicLorentzKTLF().
|
privatevirtual |
Calculates the non-analytic integral of the static Gaussian Kubo-Toyabe in longitudinal field, i.e.
and stores in a vector, fLFIntegral, from up to 20us, if needed
The fLFIntegral is given in steps of fSamplingTime (default = 1 ns), e.g. for fSamplingTime = 0.001, index i=100 coresponds to t=100ns
meaning of val: val[0]= , val[1]=
val | parameters needed to calculate the non-analytic integral of the static Gauss LF function. |
Definition at line 2542 of file PTheory.cpp.
References fLFIntegral, and fSamplingTime.
Referenced by CalculateDynKTLF(), and StaticGaussKTLF().
|
privatevirtual |
Calculates the non-analytic integral of the static Lorentzian Kubo-Toyabe in longitudinal field, i.e.
and stores in a vector, fLFIntegral, from up to 20 us, if needed.
The fLFIntegral is given in steps of fSamplingTime (default = 1 ns), e.g. for fSamplingTime = 0.001, index i=100 coresponds to t=100ns
meaning of val: val[0]= , val[1]=
val | parameters needed to calculate the non-analytic integral of the static Lorentz LF function. |
Definition at line 2612 of file PTheory.cpp.
References fLFIntegral, and fSamplingTime.
Referenced by CalculateDynKTLF(), and StaticLorentzKTLF().
|
privatevirtual |
Recursively clean up theory
If data were a pointer to some data on the heap, here, we would call delete on it. If it were a "composed" object, its destructor would get called automatically after our own destructor, so we would not have to worry about it.
So all we have to clean up is the left and right subchild. It turns out that we don't have to check for null pointers; C++ automatically ignores a call to delete on a NULL pointer (according to the man page, the same is true with malloc() in C)
the COOLEST part is that if right is a non-null pointer, the destructor gets called recursively!
theo | pointer to the theory object |
Definition at line 716 of file PTheory.cpp.
Referenced by ~PTheory().
|
privatevirtual |
theory function: dynamic Lorentzain Kubo-Toyabe in longitudinal applied field
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1651 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: Const
meaning of paramValues: const
return: function value
paramValues | vector with the parameters |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 986 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: dynamic Gaussian Kubo-Toyabe in longitudinal applied field
or the time shifted version of it. is the static Gaussian Kubo-Toyabe in longitudinal applied field.
The current implementation is not realized via the above formulas, but ...
meaning of paramValues: , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1303 of file PTheory.cpp.
References CalculateDynKTLF(), fParamNo, fPrevParam, GetDynKTLFValue(), MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: dynamic Lorentzain Kubo-Toyabe in longitudinal applied field (see R. S. Hayano et al., Phys. Rev. B 20 (1979) 850; P. Dalmas de Reotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533; A. Keren, Phys. Rev. B 50 (1994) 10039).
or the time shifted version of it. is the static Lorentzain Kubo-Toyabe function in longitudinal field
The current implementation is not realized via the above formulas, but ...
meaning of paramValues: , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1541 of file PTheory.cpp.
References CalculateDynKTLF(), fParamNo, fPrevParam, GetDynKTLFValue(), and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: dynamicNKTF (see D.R. Noakes and G.M. Kalvius Phys. Rev. B 56, 2352 (1997) and A. Yaouanc and P. Dalmas de Reotiers, "Muon Spin Rotation, Relaxation, and Resonance" Oxford, Section 6.4.1.3) However, I have rewritten it using the identity , which allows to massively simplify the formula which now only involves and . Here Will be given in units of .
meaning of paramValues: , , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2424 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: dynamicNKZF (see D.R. Noakes and G.M. Kalvius Phys. Rev. B 56, 2352 (1997) and A. Yaouanc and P. Dalmas de Reotiers, "Muon Spin Rotation, Relaxation, and Resonance" Oxford, Section 6.4.1.3) However, I have rewritten it using the identity , which allows to massively simplify the formula which now only involves and . Here Will be given in units of .
meaning of paramValues: , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2363 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
virtual |
Evaluates the theory tree.
return:
t | time for single histogram, asymmetry, and mu-minus fits, x-axis value non-muSR fits |
paramValues | vector with the parameters |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 390 of file PTheory.cpp.
References Abragam(), Asymmetry(), Bessel(), CombiLGKT(), Constant(), DynamicGaussKTLF(), DynamicLorentzKTLF(), DynamicNKTF(), DynamicNKZF(), fAdd, fMul, fType, Func(), GeneralExp(), InternalBessel(), InternalField(), InternalFieldGK(), InternalFieldLL(), MuMinusExpTF(), Polynom(), RandomAnisotropicHyperfine(), SimpleExp(), SimpleGauss(), SkewedGauss(), SpinGlass(), StaticGaussKT(), StaticGaussKTLF(), StaticLorentzKT(), StaticLorentzKTLF(), StaticNKTF(), StaticNKZF(), StrKT(), TFCos(), THEORY_ABRAGAM, THEORY_ASYMMETRY, THEORY_BESSEL, THEORY_COMBI_LGKT, THEORY_CONST, THEORY_DYNAMIC_GAUSS_KT_LF, THEORY_DYNAMIC_LORENTZ_KT_LF, THEORY_DYNAMIC_TF_NK, THEORY_DYNAMIC_ZF_NK, THEORY_GENERAL_EXP, THEORY_INTERNAL_BESSEL, THEORY_INTERNAL_FIELD, THEORY_INTERNAL_FIELD_KORNILOV, THEORY_INTERNAL_FIELD_LARKIN, THEORY_MU_MINUS_EXP, THEORY_POLYNOM, THEORY_RANDOM_ANISOTROPIC_HYPERFINE, THEORY_SIMPLE_EXP, THEORY_SIMPLE_GAUSS, THEORY_SKEWED_GAUSS, THEORY_SPIN_GLASS, THEORY_STATIC_GAUSS_KT, THEORY_STATIC_GAUSS_KT_LF, THEORY_STATIC_LORENTZ_KT, THEORY_STATIC_LORENTZ_KT_LF, THEORY_STATIC_TF_NK, THEORY_STATIC_ZF_NK, THEORY_STR_KT, THEORY_TF_COS, THEORY_USER_FCN, and UserFcn().
Referenced by Func().
|
privatevirtual |
theory function: generalized exponential
or
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1084 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
Gets value of the dynamic Kubo-Toyabe LF function.
return: function value
t | time in (usec) |
Definition at line 2843 of file PTheory.cpp.
References fDynLFdt, and fDynLFFuncValue.
Referenced by DynamicGaussKTLF(), and DynamicLorentzKTLF().
|
privatevirtual |
Gets value of the non-analytic static LF integral.
return: value of the non-analytic static LF integral
t | time in (usec) |
Definition at line 2682 of file PTheory.cpp.
References fLFIntegral, and fSamplingTime.
Referenced by CalculateDynKTLF(), StaticGaussKTLF(), and StaticLorentzKTLF().
|
privatevirtual |
Counts the number of user functions in the theory block up to lineNo.
return: to number of user functions found up to lineNo
lineNo | current line number in the theory block |
Definition at line 765 of file PTheory.cpp.
References fMsrInfo, and PMsrHandler::GetMsrTheory().
Referenced by PTheory().
|
privatevirtual |
theory function: internal field bessel function
or the time shifted version of it.
meaning of paramValues: , , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2114 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: internal field function
or the time shifted version of it.
meaning of paramValues: , , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1927 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: internal field function Gauss-Kornilov (see Physics Letters A 153, 364 (1991)).
or the time shifted version of it. For the powder averaged case, .
meaning of paramValues: , , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1969 of file PTheory.cpp.
References fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: internal field function Lorentz-Larkin (see Physica B: Condensed Matter 289-290, 153 (2000)).
or the time shifted version of it. For the powder averaged case, .
meaning of paramValues: , , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2021 of file PTheory.cpp.
References fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
virtual |
|
privatevirtual |
Prettifies a polynom theory line.
i | line index of the theory polynom line to be prettified |
fullTheoryBlock | msr-file text lines of the theory block |
Definition at line 885 of file PTheory.cpp.
References PMsrLineStructure::fLine.
Referenced by MakeCleanAndTidyTheoryBlock().
|
privatevirtual |
Takes the theory block form the msr-file, and makes a nicely formated theory block.
fullTheoryBlock | msr-file text lines of the theory block |
Definition at line 794 of file PTheory.cpp.
References theo_data_base::fComment, theo_data_base::fCommentTimeShift, fgTheoDataBase, PMsrLineStructure::fLine, theo_data_base::fName, fNoOfParam, theo_data_base::fType, MakeCleanAndTidyPolynom(), MakeCleanAndTidyUserFcn(), THEORY_MAX, and THEORY_UNDEFINED.
Referenced by PTheory().
|
privatevirtual |
Prettifies a user function theory line.
i | line index of the user function line to be prettified |
fullTheoryBlock | msr-file text lines of the theory block |
Definition at line 942 of file PTheory.cpp.
References PMsrLineStructure::fLine.
Referenced by MakeCleanAndTidyTheoryBlock().
|
privatevirtual |
theory function: MuMinusExpTF
meaning of paramValues: , , , , , ,
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2873 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: polynom
meaning of paramValues: , , , ,
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2478 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: random anisotropic hyperfine function (see R. E. Turner and D. R. Harshman, Phys. Rev. B 34 (1986) 4467)
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1797 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
Searches the internal look up table for the theory name, and if found set some internal variables to proper values.
return:
name | theory name |
Definition at line 739 of file PTheory.cpp.
References fgTheoDataBase, theo_data_base::fName, theo_data_base::fNoOfParam, fNoOfParam, theo_data_base::fType, fType, THEORY_MAX, and THEORY_UNDEFINED.
Referenced by PTheory().
|
privatevirtual |
theory function: simple exponential
or
meaning of paramValues: [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1044 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: simple Gaussian
or
meaning of paramValues: [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1132 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: skewed Gaussian function
or the time shifted version of it.
meaning of paramValues: , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2163 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, SQRT_PI, SQRT_TWO, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: spin glass function
or the time shifted version of it.
meaning of paramValues: , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1746 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: static Gaussian Kubo-Toyabe in zero applied field
or
meaning of paramValues: [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1172 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: static Gaussian Kubo-Toyabe in longitudinal applied field
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1214 of file PTheory.cpp.
References CalculateGaussLFIntegral(), fParamNo, fPrevParam, GetLFIntegralValue(), and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: static Lorentzain Kubo-Toyabe in zero applied field (see Uemura et al. PRB 31, 546 (85)).
or the time shifted version of it.
meaning of paramValues: [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1401 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: static Lorentzain Kubo-Toyabe in longitudinal applied field (see Uemura et al. PRB 31, 546 (85)).
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1444 of file PTheory.cpp.
References CalculateLorentzLFIntegral(), fParamNo, fPrevParam, GetLFIntegralValue(), and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: staticNKTF (see D.R. Noakes and G.M. Kalvius Phys. Rev. B 56, 2352 (1997) and A. Yaouanc and P. Dalmas de Reotiers, "Muon Spin Rotation, Relaxation, and Resonance" Oxford, Section 6.4.1.3) However, I have rewritten it using the identity , which allows to massively simplify the formula which now only involves and . Here Will be given in units of .
meaning of paramValues: , , , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2307 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: staticNKZF (see D.R. Noakes and G.M. Kalvius Phys. Rev. B 56, 2352 (1997) and A. Yaouanc and P. Dalmas de Reotiers, "Muon Spin Rotation, Relaxation, and Resonance" Oxford, Section 6.4.1.3) However, I have rewritten it using the identity , which allows to massively simplify the formula which now only involves and . Here Will be given in units of .
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2252 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: stretched Kubo-Toyabe in zero field. Ref: Crook M. R. and Cywinski R., J. Phys. Condens. Matter, 9 (1997) 1149.
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1697 of file PTheory.cpp.
References fParamNo, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
privatevirtual |
theory function: cosine including phase
or the time shifted version of it.
meaning of paramValues: , [, ]
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 1886 of file PTheory.cpp.
References DEG_TO_RAD, fParamNo, MSR_PARAM_FUN_OFFSET, and TWO_PI.
Referenced by Func().
|
privatevirtual |
theory function: user function
return: function value
t | time in , or x-axis value for non-muSR fit |
paramValues | parameter values |
funcValues | vector with the functions (i.e. functions of the parameters) |
Definition at line 2515 of file PTheory.cpp.
References fParamNo, fUserFcn, fUserParam, and MSR_PARAM_FUN_OFFSET.
Referenced by Func().
|
private |
|
mutableprivate |
needed for LF. Keeps the time step for the dynamic LF calculation, used in the integral equation approach
Definition at line 308 of file PTheory.h.
Referenced by CalculateDynKTLF(), GetDynKTLFValue(), and PTheory().
|
mutableprivate |
needed for LF. Keeps the dynamic LF KT function values
Definition at line 309 of file PTheory.h.
Referenced by CalculateDynKTLF(), GetDynKTLFValue(), and ~PTheory().
|
mutableprivate |
needed for LF. Keeps the non-analytic integral values
Definition at line 307 of file PTheory.h.
Referenced by CalculateGaussLFIntegral(), CalculateLorentzLFIntegral(), GetLFIntegralValue(), and ~PTheory().
|
private |
pointer to the msr-file handler
Definition at line 303 of file PTheory.h.
Referenced by GetUserFcnIdx().
|
private |
|
private |
number of parameters for the given function
Definition at line 294 of file PTheory.h.
Referenced by MakeCleanAndTidyTheoryBlock(), PTheory(), and SearchDataBase().
|
private |
holds the parameter numbers for the theory (including maps and functions, see constructor desciption)
Definition at line 293 of file PTheory.h.
Referenced by Abragam(), Asymmetry(), Bessel(), CombiLGKT(), Constant(), DynamicGaussKTLF(), DynamicLorentzKTLF(), DynamicNKTF(), DynamicNKZF(), GeneralExp(), InternalBessel(), InternalField(), InternalFieldGK(), InternalFieldLL(), MuMinusExpTF(), Polynom(), PTheory(), RandomAnisotropicHyperfine(), SimpleExp(), SimpleGauss(), SkewedGauss(), SpinGlass(), StaticGaussKT(), StaticGaussKTLF(), StaticLorentzKT(), StaticLorentzKTLF(), StaticNKTF(), StaticNKZF(), StrKT(), TFCos(), UserFcn(), and ~PTheory().
|
mutableprivate |
needed for LF. Keeps the previous fitting parameters
Definition at line 306 of file PTheory.h.
Referenced by DynamicGaussKTLF(), DynamicLorentzKTLF(), PTheory(), StaticGaussKTLF(), and StaticLorentzKTLF().
|
mutableprivate |
needed for LF. Keeps the sampling time of the non-analytic integral
Definition at line 305 of file PTheory.h.
Referenced by CalculateGaussLFIntegral(), CalculateLorentzLFIntegral(), GetLFIntegralValue(), and PTheory().
|
private |
function tag
Definition at line 292 of file PTheory.h.
Referenced by Func(), PTheory(), and SearchDataBase().
|
private |
pointer to the user function object
Definition at line 300 of file PTheory.h.
Referenced by PTheory(), UserFcn(), and ~PTheory().
|
private |
|
private |
|
private |
|
mutableprivate |
vector holding the resolved user function parameters, i.e. map and function resolved.
Definition at line 301 of file PTheory.h.
Referenced by PTheory(), UserFcn(), and ~PTheory().
|
private |