Files
musrfit/classPTheory.html
Gitea Actions 8a8eac55b7 Deploy site
2025-12-27 12:57:44 +00:00

3572 lines
246 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>musrfit: PTheory Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">musrfit<span id="projectnumber">&#160;1.9.9</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search',true);
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classPTheory.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classPTheory-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">PTheory Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Theory function evaluator and expression tree manager.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PTheory_8h_source.html">PTheory.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for PTheory:</div>
<div class="dyncontent">
<div class="center"><img src="classPTheory__coll__graph.png" border="0" usemap="#aPTheory_coll__map" alt="Collaboration graph"/></div>
<map name="aPTheory_coll__map" id="aPTheory_coll__map">
<area shape="rect" title="Theory function evaluator and expression tree manager." alt="" coords="137,194,208,222"/>
<area shape="poly" title=" " alt="" coords="225,198,232,201,235,208,227,217,209,220,209,214,224,212,230,207,228,205,223,202"/>
<area shape="rect" href="classPUserFcnBase.html" title="Abstract base class for user&#45;defined theory functions in musrfit." alt="" coords="56,98,162,126"/>
<area shape="poly" title=" " alt="" coords="128,137,166,192,162,195,124,140"/>
<area shape="rect" title=" " alt="" coords="5,5,74,33"/>
<area shape="poly" title=" " alt="" coords="61,44,101,96,97,99,56,47"/>
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="256,98,356,126"/>
<area shape="poly" title=" " alt="" coords="277,137,193,195,190,191,274,133"/>
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="98,5,219,33"/>
<area shape="poly" title=" " alt="" coords="176,44,202,72,229,86,257,97,255,102,226,91,199,76,172,48"/>
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="244,5,369,33"/>
<area shape="poly" title=" " alt="" coords="309,48,309,98,304,98,304,48"/>
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="393,5,542,33"/>
<area shape="poly" title=" " alt="" coords="432,43,331,100,328,95,429,39"/>
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="566,5,718,33"/>
<area shape="poly" title=" " alt="" coords="586,40,459,77,358,102,356,96,457,71,584,35"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a261d59fce8fe8f1d94bffd7db5871ec2" id="r_a261d59fce8fe8f1d94bffd7db5871ec2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a261d59fce8fe8f1d94bffd7db5871ec2">PTheory</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, UInt_t runNo, const Bool_t hasParent=false)</td></tr>
<tr class="memdesc:a261d59fce8fe8f1d94bffd7db5871ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that parses the THEORY block and builds the expression tree. <br /></td></tr>
<tr class="separator:a261d59fce8fe8f1d94bffd7db5871ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a8d9245b191d7777e19b501ec450e79" id="r_a0a8d9245b191d7777e19b501ec450e79"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a8d9245b191d7777e19b501ec450e79">~PTheory</a> ()</td></tr>
<tr class="memdesc:a0a8d9245b191d7777e19b501ec450e79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor that recursively cleans up the expression tree. <br /></td></tr>
<tr class="separator:a0a8d9245b191d7777e19b501ec450e79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63b9712d6b46f7b409e631f1d5ea4578" id="r_a63b9712d6b46f7b409e631f1d5ea4578"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578">IsValid</a> ()</td></tr>
<tr class="memdesc:a63b9712d6b46f7b409e631f1d5ea4578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the entire theory expression tree is valid. <br /></td></tr>
<tr class="separator:a63b9712d6b46f7b409e631f1d5ea4578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b6defce6fa75187ae306332fac3425" id="r_ab0b6defce6fa75187ae306332fac3425"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0b6defce6fa75187ae306332fac3425">Func</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ab0b6defce6fa75187ae306332fac3425"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the theory function at a given time point. <br /></td></tr>
<tr class="separator:ab0b6defce6fa75187ae306332fac3425"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a97d09b52469458cff3497397ace0378d" id="r_a97d09b52469458cff3497397ace0378d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a97d09b52469458cff3497397ace0378d">CleanUp</a> (<a class="el" href="classPTheory.html">PTheory</a> *theo)</td></tr>
<tr class="memdesc:a97d09b52469458cff3497397ace0378d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively deletes child theory nodes (fAdd and fMul). <br /></td></tr>
<tr class="separator:a97d09b52469458cff3497397ace0378d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310b2b0ad6658f91ee67b05426a6d22c" id="r_a310b2b0ad6658f91ee67b05426a6d22c"><td class="memItemLeft" align="right" valign="top">virtual Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a310b2b0ad6658f91ee67b05426a6d22c">SearchDataBase</a> (TString name)</td></tr>
<tr class="memdesc:a310b2b0ad6658f91ee67b05426a6d22c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches fgTheoDataBase for a function by name or abbreviation. <br /></td></tr>
<tr class="separator:a310b2b0ad6658f91ee67b05426a6d22c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a249af67baeb38ac226cc28c9a172f622" id="r_a249af67baeb38ac226cc28c9a172f622"><td class="memItemLeft" align="right" valign="top">virtual Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a249af67baeb38ac226cc28c9a172f622">GetUserFcnIdx</a> (UInt_t lineNo) const</td></tr>
<tr class="memdesc:a249af67baeb38ac226cc28c9a172f622"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of user functions up to the given line. <br /></td></tr>
<tr class="separator:a249af67baeb38ac226cc28c9a172f622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8f347354bef0901edc211965b9e10fa" id="r_af8f347354bef0901edc211965b9e10fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af8f347354bef0901edc211965b9e10fa">MakeCleanAndTidyTheoryBlock</a> (<a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *fullTheoryBlock)</td></tr>
<tr class="memdesc:af8f347354bef0901edc211965b9e10fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reformats the theory block for clean MSR file output. <br /></td></tr>
<tr class="separator:af8f347354bef0901edc211965b9e10fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f3f55a7d197f9c621fecd116657f159" id="r_a1f3f55a7d197f9c621fecd116657f159"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1f3f55a7d197f9c621fecd116657f159">MakeCleanAndTidyPolynom</a> (UInt_t i, <a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *fullTheoryBlock)</td></tr>
<tr class="memdesc:a1f3f55a7d197f9c621fecd116657f159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats a polynomial theory line with proper spacing. <br /></td></tr>
<tr class="separator:a1f3f55a7d197f9c621fecd116657f159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7992fe6037b1cb64b580605667894c0" id="r_aa7992fe6037b1cb64b580605667894c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa7992fe6037b1cb64b580605667894c0">MakeCleanAndTidyUserFcn</a> (UInt_t i, <a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *fullTheoryBlock)</td></tr>
<tr class="memdesc:aa7992fe6037b1cb64b580605667894c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats a user function theory line with proper spacing. <br /></td></tr>
<tr class="separator:aa7992fe6037b1cb64b580605667894c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c8cb04d11bfa98d1218ec4f742a295" id="r_a10c8cb04d11bfa98d1218ec4f742a295"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10c8cb04d11bfa98d1218ec4f742a295">Constant</a> (const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a10c8cb04d11bfa98d1218ec4f742a295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns constant value. Formula: c. <br /></td></tr>
<tr class="separator:a10c8cb04d11bfa98d1218ec4f742a295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49c6859a2ea2b3383a9b38830755cfc5" id="r_a49c6859a2ea2b3383a9b38830755cfc5"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a49c6859a2ea2b3383a9b38830755cfc5">Asymmetry</a> (const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a49c6859a2ea2b3383a9b38830755cfc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns asymmetry value. Formula: A. <br /></td></tr>
<tr class="separator:a49c6859a2ea2b3383a9b38830755cfc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadab2da9cc55e5373652ece16c5b51a7" id="r_aadab2da9cc55e5373652ece16c5b51a7"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aadab2da9cc55e5373652ece16c5b51a7">SimpleExp</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:aadab2da9cc55e5373652ece16c5b51a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple exponential relaxation. Formula: exp(-λt) <br /></td></tr>
<tr class="separator:aadab2da9cc55e5373652ece16c5b51a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53685d230ca22581c76d449422be5eab" id="r_a53685d230ca22581c76d449422be5eab"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a53685d230ca22581c76d449422be5eab">GeneralExp</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a53685d230ca22581c76d449422be5eab"><td class="mdescLeft">&#160;</td><td class="mdescRight">General (stretched) exponential. Formula: exp(-(λt)^β) <br /></td></tr>
<tr class="separator:a53685d230ca22581c76d449422be5eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2677ed739e48737f07028b7f3d3c5f63" id="r_a2677ed739e48737f07028b7f3d3c5f63"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2677ed739e48737f07028b7f3d3c5f63">SimpleGauss</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a2677ed739e48737f07028b7f3d3c5f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple Gaussian relaxation. Formula: exp(-σ²t²/2) <br /></td></tr>
<tr class="separator:a2677ed739e48737f07028b7f3d3c5f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae9bd3e7ecccc6b3a93128d1a5cc89f" id="r_a8ae9bd3e7ecccc6b3a93128d1a5cc89f"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8ae9bd3e7ecccc6b3a93128d1a5cc89f">StaticGaussKT</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a8ae9bd3e7ecccc6b3a93128d1a5cc89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Gaussian Kubo-Toyabe (ZF). Formula: 1/3 + 2/3(1-σ²t²)exp(-σ²t²/2) <br /></td></tr>
<tr class="separator:a8ae9bd3e7ecccc6b3a93128d1a5cc89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b45a5848b847170d41ed5c17ef4cde" id="r_a38b45a5848b847170d41ed5c17ef4cde"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38b45a5848b847170d41ed5c17ef4cde">StaticGaussKTLF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a38b45a5848b847170d41ed5c17ef4cde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Gaussian Kubo-Toyabe (LF). Requires numerical integration. <br /></td></tr>
<tr class="separator:a38b45a5848b847170d41ed5c17ef4cde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a416b942041ffd226091d405aa5e1ff42" id="r_a416b942041ffd226091d405aa5e1ff42"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a416b942041ffd226091d405aa5e1ff42">DynamicGaussKTLF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a416b942041ffd226091d405aa5e1ff42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic Gaussian Kubo-Toyabe (LF). Strong collision model. <br /></td></tr>
<tr class="separator:a416b942041ffd226091d405aa5e1ff42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dec3c50021c73664737bb0481dcbcd" id="r_a38dec3c50021c73664737bb0481dcbcd"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38dec3c50021c73664737bb0481dcbcd">StaticLorentzKT</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a38dec3c50021c73664737bb0481dcbcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Lorentzian Kubo-Toyabe (ZF). Formula: 1/3 + 2/3(1-at)exp(-at) <br /></td></tr>
<tr class="separator:a38dec3c50021c73664737bb0481dcbcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adddf87c309ea4130751cc3c401eee6b9" id="r_adddf87c309ea4130751cc3c401eee6b9"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adddf87c309ea4130751cc3c401eee6b9">StaticLorentzKTLF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:adddf87c309ea4130751cc3c401eee6b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Lorentzian Kubo-Toyabe (LF). Requires numerical integration. <br /></td></tr>
<tr class="separator:adddf87c309ea4130751cc3c401eee6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96db7325d7d1008c260f613935a986a6" id="r_a96db7325d7d1008c260f613935a986a6"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a96db7325d7d1008c260f613935a986a6">DynamicLorentzKTLF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a96db7325d7d1008c260f613935a986a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic Lorentzian Kubo-Toyabe (LF). Strong collision model. <br /></td></tr>
<tr class="separator:a96db7325d7d1008c260f613935a986a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd8b32f6cbab4650975f714b393e05b" id="r_a5fd8b32f6cbab4650975f714b393e05b"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fd8b32f6cbab4650975f714b393e05b">DynamicGauLorKTZFFast</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a5fd8b32f6cbab4650975f714b393e05b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast dynamic Gaussian-Lorentzian KT (ZF). Approximate fast calculation. <br /></td></tr>
<tr class="separator:a5fd8b32f6cbab4650975f714b393e05b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc03b3a088cf08941c2295c06d258cf" id="r_abcc03b3a088cf08941c2295c06d258cf"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abcc03b3a088cf08941c2295c06d258cf">DynamicGauLorKTLFFast</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:abcc03b3a088cf08941c2295c06d258cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast dynamic Gaussian-Lorentzian KT (LF). Approximate fast calculation. <br /></td></tr>
<tr class="separator:abcc03b3a088cf08941c2295c06d258cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03bd0458d6c25973450b36193691ed2a" id="r_a03bd0458d6c25973450b36193691ed2a"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a03bd0458d6c25973450b36193691ed2a">DynamicGauLorKTLF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a03bd0458d6c25973450b36193691ed2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic Gaussian-Lorentzian KT (LF). Full numerical calculation. <br /></td></tr>
<tr class="separator:a03bd0458d6c25973450b36193691ed2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae379c15c25527635fa88faa06ca57863" id="r_ae379c15c25527635fa88faa06ca57863"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae379c15c25527635fa88faa06ca57863">CombiLGKT</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ae379c15c25527635fa88faa06ca57863"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combined Lorentzian-Gaussian KT. Product of both relaxation types. <br /></td></tr>
<tr class="separator:ae379c15c25527635fa88faa06ca57863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc432db11ee23d7a3f8ffe92d233068" id="r_a4dc432db11ee23d7a3f8ffe92d233068"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4dc432db11ee23d7a3f8ffe92d233068">StrKT</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a4dc432db11ee23d7a3f8ffe92d233068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stretched Kubo-Toyabe. Formula: exp(-(σt)^β) with KT-like recovery. <br /></td></tr>
<tr class="separator:a4dc432db11ee23d7a3f8ffe92d233068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7486d946964f49b73e7e1aa804f9f94" id="r_ad7486d946964f49b73e7e1aa804f9f94"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad7486d946964f49b73e7e1aa804f9f94">SpinGlass</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ad7486d946964f49b73e7e1aa804f9f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spin glass relaxation function. Edwards-Anderson order parameter. <br /></td></tr>
<tr class="separator:ad7486d946964f49b73e7e1aa804f9f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a646477b37fc74bffbd4ab69694f8a708" id="r_a646477b37fc74bffbd4ab69694f8a708"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a646477b37fc74bffbd4ab69694f8a708">RandomAnisotropicHyperfine</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a646477b37fc74bffbd4ab69694f8a708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random anisotropic hyperfine coupling. Powder average of anisotropic coupling. <br /></td></tr>
<tr class="separator:a646477b37fc74bffbd4ab69694f8a708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b41bea368eebeee597fe0693c36c13" id="r_a13b41bea368eebeee597fe0693c36c13"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13b41bea368eebeee597fe0693c36c13">Abragam</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a13b41bea368eebeee597fe0693c36c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abragam relaxation. Motional narrowing formula. <br /></td></tr>
<tr class="separator:a13b41bea368eebeee597fe0693c36c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ec790324e2ba2bda1637bfa3926af9" id="r_a32ec790324e2ba2bda1637bfa3926af9"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a32ec790324e2ba2bda1637bfa3926af9">TFCos</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a32ec790324e2ba2bda1637bfa3926af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transverse field cosine. Formula: cos(φ + 2πνt) <br /></td></tr>
<tr class="separator:a32ec790324e2ba2bda1637bfa3926af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78888a303a73c0e0d8aae5b9eb6b4032" id="r_a78888a303a73c0e0d8aae5b9eb6b4032"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a78888a303a73c0e0d8aae5b9eb6b4032">InternalField</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a78888a303a73c0e0d8aae5b9eb6b4032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal field distribution. Gaussian field distribution model. <br /></td></tr>
<tr class="separator:a78888a303a73c0e0d8aae5b9eb6b4032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f729f4d453aad6b0edc939fd6043114" id="r_a9f729f4d453aad6b0edc939fd6043114"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f729f4d453aad6b0edc939fd6043114">InternalFieldGK</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a9f729f4d453aad6b0edc939fd6043114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal field (Kornilov model). Vortex lattice field distribution. <br /></td></tr>
<tr class="separator:a9f729f4d453aad6b0edc939fd6043114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2426f3c6e4cefeb172ed8864ba3a10c" id="r_af2426f3c6e4cefeb172ed8864ba3a10c"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af2426f3c6e4cefeb172ed8864ba3a10c">InternalFieldLL</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:af2426f3c6e4cefeb172ed8864ba3a10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal field (Larkin-Ovchinnikov model). Vortex lattice field distribution. <br /></td></tr>
<tr class="separator:af2426f3c6e4cefeb172ed8864ba3a10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceccb4ac553dfb2069a2a4f2104e88c8" id="r_aceccb4ac553dfb2069a2a4f2104e88c8"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aceccb4ac553dfb2069a2a4f2104e88c8">Bessel</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:aceccb4ac553dfb2069a2a4f2104e88c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bessel function precession. Formula: J₀(2πνt + φ) <br /></td></tr>
<tr class="separator:aceccb4ac553dfb2069a2a4f2104e88c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fca9d0d5b05f781768290d372e259f9" id="r_a7fca9d0d5b05f781768290d372e259f9"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7fca9d0d5b05f781768290d372e259f9">InternalBessel</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a7fca9d0d5b05f781768290d372e259f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal Bessel field distribution. Combines Bessel with relaxation. <br /></td></tr>
<tr class="separator:a7fca9d0d5b05f781768290d372e259f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80acc8e368f76f4d1c1dbfd1f9c078a3" id="r_a80acc8e368f76f4d1c1dbfd1f9c078a3"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80acc8e368f76f4d1c1dbfd1f9c078a3">SkewedGauss</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a80acc8e368f76f4d1c1dbfd1f9c078a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skewed Gaussian. Asymmetric relaxation rates before/after zero crossing. <br /></td></tr>
<tr class="separator:a80acc8e368f76f4d1c1dbfd1f9c078a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e6ba6cd1f46b64bae7d4a0ce84e6050" id="r_a3e6ba6cd1f46b64bae7d4a0ce84e6050"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e6ba6cd1f46b64bae7d4a0ce84e6050">StaticNKZF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a3e6ba6cd1f46b64bae7d4a0ce84e6050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Nakajima-Keren (ZF). Combined nuclear and electronic relaxation. <br /></td></tr>
<tr class="separator:a3e6ba6cd1f46b64bae7d4a0ce84e6050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad874ccd579a1b04238da82ce4a639970" id="r_ad874ccd579a1b04238da82ce4a639970"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad874ccd579a1b04238da82ce4a639970">StaticNKTF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ad874ccd579a1b04238da82ce4a639970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static Nakajima-Keren (TF). Combined nuclear and electronic relaxation with precession. <br /></td></tr>
<tr class="separator:ad874ccd579a1b04238da82ce4a639970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cfeda3b0fdb4ab1f325c021a575bf95" id="r_a4cfeda3b0fdb4ab1f325c021a575bf95"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4cfeda3b0fdb4ab1f325c021a575bf95">DynamicNKZF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:a4cfeda3b0fdb4ab1f325c021a575bf95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic Nakajima-Keren (ZF). With spin fluctuations. <br /></td></tr>
<tr class="separator:a4cfeda3b0fdb4ab1f325c021a575bf95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8f4e5c3a654184a64689426853d357a" id="r_aa8f4e5c3a654184a64689426853d357a"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8f4e5c3a654184a64689426853d357a">DynamicNKTF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:aa8f4e5c3a654184a64689426853d357a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic Nakajima-Keren (TF). With spin fluctuations and precession. <br /></td></tr>
<tr class="separator:aa8f4e5c3a654184a64689426853d357a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc4b7167a0aa86f4a3ebe4dd5d305bcb" id="r_adc4b7167a0aa86f4a3ebe4dd5d305bcb"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc4b7167a0aa86f4a3ebe4dd5d305bcb">FmuF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:adc4b7167a0aa86f4a3ebe4dd5d305bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">F-μ-F oscillation. Muon bound between two fluorine atoms. <br /></td></tr>
<tr class="separator:adc4b7167a0aa86f4a3ebe4dd5d305bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae431d544feaad24170d4ef0a3c9e0722" id="r_ae431d544feaad24170d4ef0a3c9e0722"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae431d544feaad24170d4ef0a3c9e0722">MuMinusExpTF</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ae431d544feaad24170d4ef0a3c9e0722"><td class="mdescLeft">&#160;</td><td class="mdescRight">μ⁻ exponential TF. Negative muon in transverse field. <br /></td></tr>
<tr class="separator:ae431d544feaad24170d4ef0a3c9e0722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae984a95857932719634345a35803a92e" id="r_ae984a95857932719634345a35803a92e"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae984a95857932719634345a35803a92e">Polynom</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ae984a95857932719634345a35803a92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Polynomial function. Formula: Σᵢ pᵢtⁱ <br /></td></tr>
<tr class="separator:ae984a95857932719634345a35803a92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace253c9696e455779b05e9f9dee0896c" id="r_ace253c9696e455779b05e9f9dee0896c"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ace253c9696e455779b05e9f9dee0896c">UserFcn</a> (Double_t t, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;paramValues, const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;funcValues) const</td></tr>
<tr class="memdesc:ace253c9696e455779b05e9f9dee0896c"><td class="mdescLeft">&#160;</td><td class="mdescRight">User-defined function. Calls external shared library function. <br /></td></tr>
<tr class="separator:ace253c9696e455779b05e9f9dee0896c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a162fdcf419f2285a05766fa75fc4badd" id="r_a162fdcf419f2285a05766fa75fc4badd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a162fdcf419f2285a05766fa75fc4badd">CalculateGaussLFIntegral</a> (const Double_t *val) const</td></tr>
<tr class="memdesc:a162fdcf419f2285a05766fa75fc4badd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and caches Gaussian LF integral for static KT. <br /></td></tr>
<tr class="separator:a162fdcf419f2285a05766fa75fc4badd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fab4cfa3e30636987597b2e515556f" id="r_ad0fab4cfa3e30636987597b2e515556f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad0fab4cfa3e30636987597b2e515556f">CalculateLorentzLFIntegral</a> (const Double_t *val) const</td></tr>
<tr class="memdesc:ad0fab4cfa3e30636987597b2e515556f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and caches Lorentzian LF integral for static KT. <br /></td></tr>
<tr class="separator:ad0fab4cfa3e30636987597b2e515556f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44d4841bb66f761c2502b78017f1756b" id="r_a44d4841bb66f761c2502b78017f1756b"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a44d4841bb66f761c2502b78017f1756b">GetLFIntegralValue</a> (const Double_t t) const</td></tr>
<tr class="memdesc:a44d4841bb66f761c2502b78017f1756b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves cached LF integral value at time t using interpolation. <br /></td></tr>
<tr class="separator:a44d4841bb66f761c2502b78017f1756b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68818588fe0ed93817fcb2f1230851e1" id="r_a68818588fe0ed93817fcb2f1230851e1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a68818588fe0ed93817fcb2f1230851e1">CalculateDynKTLF</a> (const Double_t *val, Int_t tag) const</td></tr>
<tr class="memdesc:a68818588fe0ed93817fcb2f1230851e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates dynamic KT in LF using integral equation approach. <br /></td></tr>
<tr class="separator:a68818588fe0ed93817fcb2f1230851e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbefd7086854bfb72f02b95f3b22bdcd" id="r_afbefd7086854bfb72f02b95f3b22bdcd"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afbefd7086854bfb72f02b95f3b22bdcd">GetDynKTLFValue</a> (const Double_t t) const</td></tr>
<tr class="memdesc:afbefd7086854bfb72f02b95f3b22bdcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves cached dynamic KT LF value at time t. <br /></td></tr>
<tr class="separator:afbefd7086854bfb72f02b95f3b22bdcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5cf3eb3c9aa8bb22d98597fd6a244e6" id="r_ab5cf3eb3c9aa8bb22d98597fd6a244e6"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5cf3eb3c9aa8bb22d98597fd6a244e6">GetDyn_GL_KTLFValue</a> (const Double_t t) const</td></tr>
<tr class="memdesc:ab5cf3eb3c9aa8bb22d98597fd6a244e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves cached dynamic Gauss-Lorentz KT LF value at time t. <br /></td></tr>
<tr class="separator:ab5cf3eb3c9aa8bb22d98597fd6a244e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a1877cbedb79f76a10b98f0a47a9c3db7" id="r_a1877cbedb79f76a10b98f0a47a9c3db7"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1877cbedb79f76a10b98f0a47a9c3db7">fValid</a></td></tr>
<tr class="memdesc:a1877cbedb79f76a10b98f0a47a9c3db7"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if this theory node and its parse state are valid. <br /></td></tr>
<tr class="separator:a1877cbedb79f76a10b98f0a47a9c3db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2ec4bc446778600b280ff6b600ad231" id="r_ab2ec4bc446778600b280ff6b600ad231"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2ec4bc446778600b280ff6b600ad231">fType</a></td></tr>
<tr class="memdesc:ab2ec4bc446778600b280ff6b600ad231"><td class="mdescLeft">&#160;</td><td class="mdescRight">Theory function type (THEORY_CONST, THEORY_SIMPLE_EXP, etc.) <br /></td></tr>
<tr class="separator:ab2ec4bc446778600b280ff6b600ad231"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba502d80fb7549a222bf514c0f68ef79" id="r_aba502d80fb7549a222bf514c0f68ef79"><td class="memItemLeft" align="right" valign="top">std::vector&lt; UInt_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aba502d80fb7549a222bf514c0f68ef79">fParamNo</a></td></tr>
<tr class="memdesc:aba502d80fb7549a222bf514c0f68ef79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolved parameter indices (0-based). Values &gt;= MSR_PARAM_FUN_OFFSET are function references. <br /></td></tr>
<tr class="separator:aba502d80fb7549a222bf514c0f68ef79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedd9c54d28240e0c1a4fb2601d4e0d00" id="r_aedd9c54d28240e0c1a4fb2601d4e0d00"><td class="memItemLeft" align="right" valign="top">UInt_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aedd9c54d28240e0c1a4fb2601d4e0d00">fNoOfParam</a></td></tr>
<tr class="memdesc:aedd9c54d28240e0c1a4fb2601d4e0d00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expected number of parameters for this function type. <br /></td></tr>
<tr class="separator:aedd9c54d28240e0c1a4fb2601d4e0d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d5877643d71ceb9108a3192672f1256" id="r_a1d5877643d71ceb9108a3192672f1256"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPTheory.html">PTheory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1d5877643d71ceb9108a3192672f1256">fAdd</a></td></tr>
<tr class="memdesc:a1d5877643d71ceb9108a3192672f1256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to addition child node (left branch of tree) <br /></td></tr>
<tr class="separator:a1d5877643d71ceb9108a3192672f1256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bc8faf7ed6d246b0451c4a3b3fe2056" id="r_a4bc8faf7ed6d246b0451c4a3b3fe2056"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPTheory.html">PTheory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4bc8faf7ed6d246b0451c4a3b3fe2056">fMul</a></td></tr>
<tr class="memdesc:a4bc8faf7ed6d246b0451c4a3b3fe2056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to multiplication child node (right branch of tree) <br /></td></tr>
<tr class="separator:a4bc8faf7ed6d246b0451c4a3b3fe2056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bac1fe73ad243c4a3d4add99700f0bb" id="r_a7bac1fe73ad243c4a3d4add99700f0bb"><td class="memItemLeft" align="right" valign="top">Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7bac1fe73ad243c4a3d4add99700f0bb">fUserFcnIdx</a></td></tr>
<tr class="memdesc:a7bac1fe73ad243c4a3d4add99700f0bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of this user function among all userFcn entries (for global state) <br /></td></tr>
<tr class="separator:a7bac1fe73ad243c4a3d4add99700f0bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d2a9fb33d33b7a224214f67c0620f46" id="r_a7d2a9fb33d33b7a224214f67c0620f46"><td class="memItemLeft" align="right" valign="top">TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d2a9fb33d33b7a224214f67c0620f46">fUserFcnClassName</a></td></tr>
<tr class="memdesc:a7d2a9fb33d33b7a224214f67c0620f46"><td class="mdescLeft">&#160;</td><td class="mdescRight">ROOT class name for user function (e.g., "TMyFunction") <br /></td></tr>
<tr class="separator:a7d2a9fb33d33b7a224214f67c0620f46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaaefb22b8da1e94df68898352a8b819" id="r_afaaefb22b8da1e94df68898352a8b819"><td class="memItemLeft" align="right" valign="top">TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afaaefb22b8da1e94df68898352a8b819">fUserFcnSharedLibName</a></td></tr>
<tr class="memdesc:afaaefb22b8da1e94df68898352a8b819"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shared library path (e.g., "libMyFunctions.so") <br /></td></tr>
<tr class="separator:afaaefb22b8da1e94df68898352a8b819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2261ffd3f1d028766f98ef8382750535" id="r_a2261ffd3f1d028766f98ef8382750535"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPUserFcnBase.html">PUserFcnBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2261ffd3f1d028766f98ef8382750535">fUserFcn</a></td></tr>
<tr class="memdesc:a2261ffd3f1d028766f98ef8382750535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to instantiated user function object. <br /></td></tr>
<tr class="separator:a2261ffd3f1d028766f98ef8382750535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a227b713015c7feece87f4a84d3df4168" id="r_a227b713015c7feece87f4a84d3df4168"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a227b713015c7feece87f4a84d3df4168">fUserParam</a></td></tr>
<tr class="memdesc:a227b713015c7feece87f4a84d3df4168"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolved parameter values for user function calls. <br /></td></tr>
<tr class="separator:a227b713015c7feece87f4a84d3df4168"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acafff64c51c65fb9713e93503713fff5" id="r_acafff64c51c65fb9713e93503713fff5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acafff64c51c65fb9713e93503713fff5">fMsrInfo</a></td></tr>
<tr class="memdesc:acafff64c51c65fb9713e93503713fff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to MSR file handler (not owned) <br /></td></tr>
<tr class="separator:acafff64c51c65fb9713e93503713fff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c32f4daa2a96461d1bf4ee84138ccc" id="r_a25c32f4daa2a96461d1bf4ee84138ccc"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a25c32f4daa2a96461d1bf4ee84138ccc">fSamplingTime</a></td></tr>
<tr class="memdesc:a25c32f4daa2a96461d1bf4ee84138ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time step for LF integral calculation (default 1 ns = 0.001 μs) <br /></td></tr>
<tr class="separator:a25c32f4daa2a96461d1bf4ee84138ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f432be04e4207396e9c0860c40ba8ce" id="r_a5f432be04e4207396e9c0860c40ba8ce"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f432be04e4207396e9c0860c40ba8ce">fPrevParam</a> [<a class="el" href="PTheory_8h.html#abffa2911fef01b9acc49bcd36c0c614d">THEORY_MAX_PARAM</a>]</td></tr>
<tr class="memdesc:a5f432be04e4207396e9c0860c40ba8ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Previous parameter values for cache invalidation check. <br /></td></tr>
<tr class="separator:a5f432be04e4207396e9c0860c40ba8ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e95076ebc576d95c997cafc49265f6b" id="r_a2e95076ebc576d95c997cafc49265f6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e95076ebc576d95c997cafc49265f6b">fLFIntegral</a></td></tr>
<tr class="memdesc:a2e95076ebc576d95c997cafc49265f6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cached static LF KT integral values. <br /></td></tr>
<tr class="separator:a2e95076ebc576d95c997cafc49265f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a206a0d0f432f8f581e718451a90c2e47" id="r_a206a0d0f432f8f581e718451a90c2e47"><td class="memItemLeft" align="right" valign="top">Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a206a0d0f432f8f581e718451a90c2e47">fDynLFdt</a></td></tr>
<tr class="memdesc:a206a0d0f432f8f581e718451a90c2e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time step for dynamic LF integral equation. <br /></td></tr>
<tr class="separator:a206a0d0f432f8f581e718451a90c2e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9b4bab0503cdd186d3adcc895a8c07" id="r_a6f9b4bab0503cdd186d3adcc895a8c07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f9b4bab0503cdd186d3adcc895a8c07">fDynLFFuncValue</a></td></tr>
<tr class="memdesc:a6f9b4bab0503cdd186d3adcc895a8c07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cached dynamic Gaussian/Lorentzian LF KT values. <br /></td></tr>
<tr class="separator:a6f9b4bab0503cdd186d3adcc895a8c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b0b07a3f5566d1fae57a11a05f3c027" id="r_a3b0b07a3f5566d1fae57a11a05f3c027"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3b0b07a3f5566d1fae57a11a05f3c027">fDyn_GL_LFFuncValue</a></td></tr>
<tr class="memdesc:a3b0b07a3f5566d1fae57a11a05f3c027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cached dynamic Gauss-Lorentz LF KT values. <br /></td></tr>
<tr class="separator:a3b0b07a3f5566d1fae57a11a05f3c027"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Theory function evaluator and expression tree manager. </p>
<p><a class="el" href="classPTheory.html" title="Theory function evaluator and expression tree manager.">PTheory</a> is the core class responsible for parsing, validating, and evaluating theory functions specified in the THEORY block of MSR files. It implements a binary expression tree to handle complex combinations of theory functions.</p>
<h1><a class="anchor" id="theory_overview"></a>
Overview</h1>
<p>The theory describes the expected muon polarization as a function of time. Different physical phenomena (relaxation, precession, field distributions) are represented by different theory functions that can be combined.</p>
<h1><a class="anchor" id="theory_tree"></a>
Expression Tree Structure</h1>
<p>Theory expressions are parsed into a binary tree where:</p><ul>
<li>Each node represents a theory function</li>
<li>Left child (fAdd) represents addition (+)</li>
<li>Right child (fMul) represents multiplication (*)</li>
</ul>
<p>Example MSR theory block: </p><pre class="fragment">* THEORY
* a 1 # asymmetry
* tf 2 3 # TFieldCos
* se 4 # simpleExp
* +
* a 5
* tf 6 7
* </pre><p>Becomes: (par1 * cos(φ₂ + 2πν₃t) * exp(-λ₄t)) + (par5 * cos(φ₆ + 2πν₇t))</p>
<h1><a class="anchor" id="theory_syntax"></a>
Syntax Details</h1>
<p><b>Function specification:</b> </p><div class="fragment"><div class="line">function_name param1 param2 ... paramN (optional comment)</div>
</div><!-- fragment --><p><b>Parameter types:</b></p><ul>
<li>Direct number: <code>1</code>, <code>2</code>, <code>3</code> → parameter index (1-based)</li>
<li>Map reference: <code>map1</code>, <code>map2</code> → indirection via RUN block map</li>
<li>Function reference: <code>fun1</code>, <code>fun2</code> → evaluated FUNCTIONS block entry</li>
</ul>
<p><b>Operators:</b></p><ul>
<li><code>+</code> on separate line: Addition of following terms</li>
<li>Consecutive lines without +: Implicit multiplication</li>
</ul>
<h1><a class="anchor" id="theory_functions"></a>
Available Functions</h1>
<p><b>Basic:</b></p><ul>
<li><code>const</code> (c): Constant value</li>
<li><code>asymmetry</code> (a): Initial asymmetry</li>
<li><code>simplExpo</code> (se): exp(-λt)</li>
<li><code>generExpo</code> (ge): exp(-(λt)^β)</li>
<li><code>simpleGss</code> (sg): exp(-σ²t²/2)</li>
</ul>
<p><b>Kubo-Toyabe (Gaussian):</b></p><ul>
<li><code>statGssKt</code> (stg): Static ZF Gaussian KT</li>
<li><code>statGssKTLF</code> (sgktlf): Static LF Gaussian KT</li>
<li><code>dynGssKTLF</code> (dgktlf): Dynamic LF Gaussian KT</li>
</ul>
<p><b>Kubo-Toyabe (Lorentzian):</b></p><ul>
<li><code>statExpKT</code> (sekt): Static ZF Lorentzian KT</li>
<li><code>statExpKTLF</code> (sektlf): Static LF Lorentzian KT</li>
<li><code>dynExpKTLF</code> (dektlf): Dynamic LF Lorentzian KT</li>
</ul>
<p><b>Precession:</b></p><ul>
<li><code>TFieldCos</code> (tf): cos(φ + 2πνt)</li>
<li><code>bessel</code> (b): J₀(2πνt + φ)</li>
<li><code>internFld</code> (ifld): Internal field distribution</li>
</ul>
<p><b>Special:</b></p><ul>
<li><code>spinGlass</code> (spg): Spin glass relaxation</li>
<li><code>abragam</code> (ab): Motional narrowing</li>
<li><code>userFcn</code> (u): User-defined external function</li>
</ul>
<h1><a class="anchor" id="theory_lf"></a>
Longitudinal Field Calculations</h1>
<p>LF Kubo-Toyabe functions require numerical integration which is cached for efficiency. The cache is invalidated when parameters change. Caching variables:</p><ul>
<li>fPrevParam: Previous parameter values for change detection</li>
<li>fLFIntegral: Cached integral values</li>
<li>fDynLFFuncValue: Dynamic KT function cache</li>
</ul>
<h1><a class="anchor" id="theory_user"></a>
User Functions</h1>
<p>External functions can be loaded from shared libraries: </p><div class="fragment"><div class="line">userFcn libMyFunctions.so MyFunctionClass param1 param2 ...</div>
</div><!-- fragment --><p>User functions must inherit from <a class="el" href="classPUserFcnBase.html" title="Abstract base class for user-defined theory functions in musrfit.">PUserFcnBase</a> and implement:</p><ul>
<li>operator()(Double_t t, const std::vector&lt;Double_t&gt;&amp; par)</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPUserFcnBase.html" title="Abstract base class for user-defined theory functions in musrfit.">PUserFcnBase</a>, <a class="el" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework.">PMsrHandler</a>, <a class="el" href="PTheory_8h.html#a066ae70866d9dba13e2b963be9fabd20">fgTheoDataBase</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00445">445</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a261d59fce8fe8f1d94bffd7db5871ec2" name="a261d59fce8fe8f1d94bffd7db5871ec2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a261d59fce8fe8f1d94bffd7db5871ec2">&#9670;&#160;</a></span>PTheory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PTheory::PTheory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *</td> <td class="paramname"><span class="paramname"><em>msrInfo</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>runNo</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Bool_t</td> <td class="paramname"><span class="paramname"><em>hasParent</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor that parses the THEORY block and builds the expression tree. </p>
<p>Parses the THEORY block and builds a binary expression tree.</p>
<p>Parses the theory block from the MSR file, validates function names and parameter counts, resolves parameter references, and recursively builds the expression tree for operators (+ and *).</p>
<p><b>Parsing algorithm:</b></p><ol type="1">
<li>Get current line from theory block</li>
<li>Remove comments (text after '(' or '#')</li>
<li>Tokenize to extract function name and parameters</li>
<li>Look up function in fgTheoDataBase</li>
<li>Validate parameter count</li>
<li>Resolve parameter references (direct, map, fun)</li>
<li>If next line is not '+', recursively create fMul child</li>
<li>If next line is '+', skip it and recursively create fAdd child</li>
<li>For user functions: load shared library and instantiate class</li>
</ol>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler containing theory block </td></tr>
<tr><td class="paramname">runNo</td><td>Run number (0-based) for parameter map resolution </td></tr>
<tr><td class="paramname">hasParent</td><td>False for root theory, true for child nodes. Controls static counter reset for recursive parsing.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>If parsing fails, fValid is set to false and error messages are output to stderr. Always check <a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a> after construction.</dd></dl>
<p>The constructor recursively parses the theory block from the MSR file and builds a binary tree structure. Each theory function becomes a node, with multiplication creating right children and addition creating left children.</p>
<p><b>Example Theory Block:</b> </p><pre class="fragment"> THEORY
a 1 # asymmetry
tf 2 3 # TFieldCos (phase, frequency)
se 4 # simpleExp (rate)
+
a 5
tf 6 7
se 8
+
a 9
tf 10 11
</pre><p><b>Resulting Binary Tree:</b> </p><pre class="fragment"> a 1
+/ \*
a 5 tf 2 3
+ / \* \ *
a 9 a 5 se 4
\* \*
tf 10 11 tf 6 7
\*
se 8
</pre><p>The tree is evaluated as: (a1 * tf23 * se4) + (a5 * tf67 * se8) + (a9 * tf1011)</p>
<p><b>Parsing Algorithm:</b></p><ol type="1">
<li>Initialize member variables and static counters (lineNo, depth)</li>
<li>Get current line from theory block (skip if beyond end)</li>
<li>Remove comments: text after '(' or '#'</li>
<li>Tokenize line into function name and parameters</li>
<li>Search fgTheoDataBase for function (by name or abbreviation)</li>
<li>Validate parameter count (except for polynom and userFcn)</li>
<li>For each parameter token:<ul>
<li>If "mapN": resolve via RUN block map vector</li>
<li>If "funN": get function index + MSR_PARAM_FUN_OFFSET</li>
<li>Otherwise: direct parameter number (1-based → 0-based)</li>
</ul>
</li>
<li>If next line is not '+': increment depth, create fMul child recursively</li>
<li>If depth=0 and next line is '+': skip '+', create fAdd child recursively</li>
<li>For root node: call <a class="el" href="#af8f347354bef0901edc211965b9e10fa" title="Reformats the theory block for clean MSR file output.">MakeCleanAndTidyTheoryBlock()</a> to format output</li>
<li>For userFcn: load shared library and instantiate class object</li>
</ol>
<p><b>User Function Handling:</b> User functions require special parsing:</p><ul>
<li>Token 1: shared library name (e.g., "libMyFunc.so")</li>
<li>Token 2: class name (e.g., "TMyFunction")</li>
<li>Token 3+: parameters The library is loaded via gSystem-&gt;Load() and the class instantiated via TClass::GetClass()-&gt;New().</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler (NOT owned, must outlive <a class="el" href="classPTheory.html" title="Theory function evaluator and expression tree manager.">PTheory</a>) </td></tr>
<tr><td class="paramname">runNo</td><td>Zero-based run number for map parameter resolution </td></tr>
<tr><td class="paramname">hasParent</td><td>false (default) for root theory node, true for child nodes. Controls reset of static line/depth counters.</td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Sets fValid=false on errors. Always check <a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a> after construction.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="PTheory_8h.html#a066ae70866d9dba13e2b963be9fabd20">fgTheoDataBase</a>, <a class="el" href="#a310b2b0ad6658f91ee67b05426a6d22c" title="Searches fgTheoDataBase for a function by name or abbreviation.">SearchDataBase()</a>, <a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00125">125</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00637">fAdd</a>, <a class="el" href="PTheory_8h_source.html#l00653">fDynLFdt</a>, <a class="el" href="PTheory_8h_source.html#l00240">fgTheoDataBase</a>, <a class="el" href="PMusr_8h_source.html#l00975">PMsrLineStructure::fLine</a>, <a class="el" href="PMusr_8h_source.html#l00974">PMsrLineStructure::fLineNo</a>, <a class="el" href="PTheory_8h_source.html#l00647">fMsrInfo</a>, <a class="el" href="PTheory_8h_source.html#l00638">fMul</a>, <a class="el" href="PTheory_8h_source.html#l00636">fNoOfParam</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="PTheory_8h_source.html#l00650">fSamplingTime</a>, <a class="el" href="PTheory_8h_source.html#l00634">fType</a>, <a class="el" href="PTheory_8h_source.html#l00644">fUserFcn</a>, <a class="el" href="PTheory_8h_source.html#l00642">fUserFcnClassName</a>, <a class="el" href="PTheory_8h_source.html#l00641">fUserFcnIdx</a>, <a class="el" href="PTheory_8h_source.html#l00643">fUserFcnSharedLibName</a>, <a class="el" href="PTheory_8h_source.html#l00645">fUserParam</a>, <a class="el" href="PTheory_8h_source.html#l00633">fValid</a>, <a class="el" href="PMsrHandler_8h_source.html#l00313">PMsrHandler::GetFuncIndex()</a>, <a class="el" href="PMsrHandler_8h_source.html#l00183">PMsrHandler::GetMsrRunList()</a>, <a class="el" href="PMsrHandler_8h_source.html#l00177">PMsrHandler::GetMsrTheory()</a>, <a class="el" href="PTheory_8cpp_source.html#l00896">GetUserFcnIdx()</a>, <a class="el" href="PUserFcnBase_8cpp_source.html#l00155">gGlobalUserFcn</a>, <a class="el" href="PTheory_8cpp_source.html#l00943">MakeCleanAndTidyTheoryBlock()</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, <a class="el" href="PTheory_8cpp_source.html#l00862">SearchDataBase()</a>, <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>, <a class="el" href="PTheory_8h_source.html#l00192">THEORY_MAX_PARAM</a>, <a class="el" href="PTheory_8h_source.html#l00128">THEORY_POLYNOM</a>, <a class="el" href="PTheory_8h_source.html#l00062">THEORY_UNDEFINED</a>, and <a class="el" href="PTheory_8h_source.html#l00130">THEORY_USER_FCN</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00830">CleanUp()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a0a8d9245b191d7777e19b501ec450e79" name="a0a8d9245b191d7777e19b501ec450e79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a8d9245b191d7777e19b501ec450e79">&#9670;&#160;</a></span>~PTheory()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PTheory::~PTheory </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor that recursively cleans up the expression tree. </p>
<p>Releases all allocated resources:</p><ul>
<li>Clears parameter and function value vectors</li>
<li>Clears LF integral caches</li>
<li>Recursively deletes child theory nodes (fAdd, fMul)</li>
<li>Deletes user function object if present</li>
<li>Clears global user function vector</li>
</ul>
<p>Releases all resources allocated by this theory node and its children:</p><ol type="1">
<li>Clears parameter number vector (fParamNo)</li>
<li>Clears user function parameter cache (fUserParam)</li>
<li>Clears LF integral caches (fLFIntegral, fDynLFFuncValue)</li>
<li>Recursively deletes child nodes via <a class="el" href="#a97d09b52469458cff3497397ace0378d" title="Recursively deletes child theory nodes (fAdd and fMul).">CleanUp()</a></li>
<li>Deletes user function object if present</li>
<li>Clears global user function vector</li>
</ol>
<dl class="section note"><dt>Note</dt><dd>Child nodes (fAdd, fMul) are deleted via <a class="el" href="#a97d09b52469458cff3497397ace0378d" title="Recursively deletes child theory nodes (fAdd and fMul).">CleanUp()</a> which traverses the entire tree recursively. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00375">375</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8cpp_source.html#l00830">CleanUp()</a>, <a class="el" href="PTheory_8h_source.html#l00654">fDynLFFuncValue</a>, <a class="el" href="PTheory_8h_source.html#l00652">fLFIntegral</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00644">fUserFcn</a>, <a class="el" href="PTheory_8h_source.html#l00645">fUserParam</a>, and <a class="el" href="PUserFcnBase_8cpp_source.html#l00155">gGlobalUserFcn</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a13b41bea368eebeee597fe0693c36c13" name="a13b41bea368eebeee597fe0693c36c13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13b41bea368eebeee597fe0693c36c13">&#9670;&#160;</a></span>Abragam()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::Abragam </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Abragam relaxation. Motional narrowing formula. </p>
<p>theory function: Abragam function</p>
<p class="formulaDsp">
<picture><source srcset="form_162_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \exp\left[-\frac{\sigma^2}{\gamma^2}\left(e^{-\gamma t}-1+\gamma t\right)\right] \]" src="form_162.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture>, <picture><source srcset="form_159_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\gamma$" src="form_159.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02274">2274</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a49c6859a2ea2b3383a9b38830755cfc5" name="a49c6859a2ea2b3383a9b38830755cfc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49c6859a2ea2b3383a9b38830755cfc5">&#9670;&#160;</a></span>Asymmetry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::Asymmetry </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns asymmetry value. Formula: A. </p>
<p>Returns the initial asymmetry value.</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_131_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = A \]" src="form_131.png"/></picture>
</p>
<p>The asymmetry represents the initial polarization of the muon beam and is typically used as a multiplicative prefactor for oscillating/relaxing functions. Typical values range from 0.15 to 0.30 depending on detector geometry.</p>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Asymmetry value A</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Asymmetry value A </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01187">1187</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="aceccb4ac553dfb2069a2a4f2104e88c8" name="aceccb4ac553dfb2069a2a4f2104e88c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aceccb4ac553dfb2069a2a4f2104e88c8">&#9670;&#160;</a></span>Bessel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::Bessel </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Bessel function precession. Formula: J₀(2πνt + φ) </p>
<p>theory function: spherical bessel function including phase</p>
<p class="formulaDsp">
<picture><source srcset="form_172_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = j_0(2\pi\nu t + \varphi) \]" src="form_172.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02505">2505</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a68818588fe0ed93817fcb2f1230851e1" name="a68818588fe0ed93817fcb2f1230851e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68818588fe0ed93817fcb2f1230851e1">&#9670;&#160;</a></span>CalculateDynKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PTheory::CalculateDynKTLF </td>
<td>(</td>
<td class="paramtype">const Double_t *</td> <td class="paramname"><span class="paramname"><em>val</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Int_t</td> <td class="paramname"><span class="paramname"><em>tag</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates dynamic KT in LF using integral equation approach. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01521">DynamicGaussKTLF()</a>, and <a class="el" href="PTheory_8cpp_source.html#l01759">DynamicLorentzKTLF()</a>.</p>
</div>
</div>
<a id="a162fdcf419f2285a05766fa75fc4badd" name="a162fdcf419f2285a05766fa75fc4badd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a162fdcf419f2285a05766fa75fc4badd">&#9670;&#160;</a></span>CalculateGaussLFIntegral()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PTheory::CalculateGaussLFIntegral </td>
<td>(</td>
<td class="paramtype">const Double_t *</td> <td class="paramname"><span class="paramname"><em>val</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates and caches Gaussian LF integral for static KT. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01432">StaticGaussKTLF()</a>.</p>
</div>
</div>
<a id="ad0fab4cfa3e30636987597b2e515556f" name="ad0fab4cfa3e30636987597b2e515556f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0fab4cfa3e30636987597b2e515556f">&#9670;&#160;</a></span>CalculateLorentzLFIntegral()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PTheory::CalculateLorentzLFIntegral </td>
<td>(</td>
<td class="paramtype">const Double_t *</td> <td class="paramname"><span class="paramname"><em>val</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates and caches Lorentzian LF integral for static KT. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01662">StaticLorentzKTLF()</a>.</p>
</div>
</div>
<a id="a97d09b52469458cff3497397ace0378d" name="a97d09b52469458cff3497397ace0378d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97d09b52469458cff3497397ace0378d">&#9670;&#160;</a></span>CleanUp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PTheory::CleanUp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPTheory.html">PTheory</a> *</td> <td class="paramname"><span class="paramname"><em>theo</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Recursively deletes child theory nodes (fAdd and fMul). </p>
<p>Recursively clean up theory</p>
<p>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.</p>
<p>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)</p>
<p>the COOLEST part is that if right is a non-null pointer, the destructor gets called recursively!</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">theo</td><td>pointer to the theory object </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00830">830</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00637">fAdd</a>, <a class="el" href="PTheory_8h_source.html#l00638">fMul</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="ae379c15c25527635fa88faa06ca57863" name="ae379c15c25527635fa88faa06ca57863"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae379c15c25527635fa88faa06ca57863">&#9670;&#160;</a></span>CombiLGKT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::CombiLGKT </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Combined Lorentzian-Gaussian KT. Product of both relaxation types. </p>
<p>theory function: dynamic Lorentzain Kubo-Toyabe in longitudinal applied field</p>
<p class="formulaDsp">
<picture><source srcset="form_155_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = 1/3 + 2/3 \left(1-(\sigma t)^2-\lambda t\right) \exp\left(-1/2(\sigma t)^2-\lambda t\right)\]" src="form_155.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture>, <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02083">2083</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a10c8cb04d11bfa98d1218ec4f742a295" name="a10c8cb04d11bfa98d1218ec4f742a295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10c8cb04d11bfa98d1218ec4f742a295">&#9670;&#160;</a></span>Constant()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::Constant </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns constant value. Formula: c. </p>
<p>Returns a constant value (baseline, background).</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_130_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = c \]" src="form_130.png"/></picture>
</p>
<p>Used for constant offsets, fixed backgrounds, or baseline corrections.</p>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Constant value c</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Constant value c </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01152">1152</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a03bd0458d6c25973450b36193691ed2a" name="a03bd0458d6c25973450b36193691ed2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03bd0458d6c25973450b36193691ed2a">&#9670;&#160;</a></span>DynamicGauLorKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicGauLorKTLF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dynamic Gaussian-Lorentzian KT (LF). Full numerical calculation. </p>
<p>Local Gaussian, global Lorentzian in LF. For details see "Muon Spin Rotation, Relaxation, and Resonance", A. Yaouanc and P. Dalmas Sec. 6.4, Eq.(6.86).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Polarization value of this function </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01954">1954</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="#a68818588fe0ed93817fcb2f1230851e1">CalculateDynKTLF()</a>, <a class="el" href="PTheory_8h_source.html#l00655">fDyn_GL_LFFuncValue</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="#ab5cf3eb3c9aa8bb22d98597fd6a244e6">GetDyn_GL_KTLFValue()</a>, <a class="el" href="#afbefd7086854bfb72f02b95f3b22bdcd">GetDynKTLFValue()</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="abcc03b3a088cf08941c2295c06d258cf" name="abcc03b3a088cf08941c2295c06d258cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcc03b3a088cf08941c2295c06d258cf">&#9670;&#160;</a></span>DynamicGauLorKTLFFast()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicGauLorKTLFFast </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fast dynamic Gaussian-Lorentzian KT (LF). Approximate fast calculation. </p>
<p>Local Gaussian, global Lorentzian approximation in the limit </p><p class="formulaDsp">
<picture><source srcset="form_154_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \nu_c \gg \gamma_\mu \Delta_{\rm L} \]" src="form_154.png"/></picture>
</p>
<p> in LF. For details see "Muon Spin Rotation, Relaxation, and Resonance", A. Yaouanc and P. Dalmas Sec. 6.4, Eq.(6.93).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Polarization value of this function </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01907">1907</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a5fd8b32f6cbab4650975f714b393e05b" name="a5fd8b32f6cbab4650975f714b393e05b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fd8b32f6cbab4650975f714b393e05b">&#9670;&#160;</a></span>DynamicGauLorKTZFFast()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicGauLorKTZFFast </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fast dynamic Gaussian-Lorentzian KT (ZF). Approximate fast calculation. </p>
<p>Local Gaussian, global Lorentzian approximation in the limit </p><p class="formulaDsp">
<picture><source srcset="form_154_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \nu_c \gg \gamma_\mu \Delta_{\rm L} \]" src="form_154.png"/></picture>
</p>
<p> in ZF. For details see "Muon Spin Rotation, Relaxation, and Resonance", A. Yaouanc and P. Dalmas Sec. 6.4, Eq.(6.89).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Polarization value of this function </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01867">1867</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a416b942041ffd226091d405aa5e1ff42" name="a416b942041ffd226091d405aa5e1ff42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a416b942041ffd226091d405aa5e1ff42">&#9670;&#160;</a></span>DynamicGaussKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicGaussKTLF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dynamic Gaussian Kubo-Toyabe (LF). Strong collision model. </p>
<p>theory function: dynamic Gaussian Kubo-Toyabe in longitudinal applied field</p>
<p class="formulaDsp">
<picture><source srcset="form_145_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty}
\frac{f_{\mathrm{G}}(s+\Gamma)}{1-\Gamma f_{\mathrm{G}}(s+\Gamma)} \exp(s t) \mathrm{d}s,
\mathrm{~where~}\,f_{\mathrm{G}}(s)\equiv \int_0^{\infty}G_{\mathrm{G,LF}}(t)\exp(-s t) \mathrm{d}t\]" src="form_145.png"/></picture>
</p>
<p> or the time shifted version of it. <picture><source srcset="form_146_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$G_{\mathrm{G,LF}}(t)$" src="form_146.png"/></picture> is the static Gaussian Kubo-Toyabe in longitudinal applied field.</p>
<p>The current implementation is not realized via the above formulas, but ...</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_147_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Gamma$" src="form_147.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01521">1521</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="#a68818588fe0ed93817fcb2f1230851e1">CalculateDynKTLF()</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="#afbefd7086854bfb72f02b95f3b22bdcd">GetDynKTLFValue()</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a96db7325d7d1008c260f613935a986a6" name="a96db7325d7d1008c260f613935a986a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96db7325d7d1008c260f613935a986a6">&#9670;&#160;</a></span>DynamicLorentzKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicLorentzKTLF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dynamic Lorentzian Kubo-Toyabe (LF). Strong collision model. </p>
<p>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).</p>
<p class="formulaDsp">
<picture><source srcset="form_152_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty}
\frac{f_{\mathrm{L}}(s+\Gamma)}{1-\Gamma f_{\mathrm{L}}(s+\Gamma)} \exp(s t) \mathrm{d}s,
\mathrm{~where~}\,f_{\mathrm{L}}(s)\equiv \int_0^{\infty}G_{\mathrm{L,LF}}(t)\exp(-s t) \mathrm{d}t\]" src="form_152.png"/></picture>
</p>
<p> or the time shifted version of it. <picture><source srcset="form_153_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$G_{\mathrm{L,LF}}(t)$" src="form_153.png"/></picture> is the static Lorentzain Kubo-Toyabe function in longitudinal field</p>
<p>The current implementation is not realized via the above formulas, but ...</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_151_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$a$" src="form_151.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_147_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Gamma$" src="form_147.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01759">1759</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="#a68818588fe0ed93817fcb2f1230851e1">CalculateDynKTLF()</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="#afbefd7086854bfb72f02b95f3b22bdcd">GetDynKTLFValue()</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="aa8f4e5c3a654184a64689426853d357a" name="aa8f4e5c3a654184a64689426853d357a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8f4e5c3a654184a64689426853d357a">&#9670;&#160;</a></span>DynamicNKTF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicNKTF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dynamic Nakajima-Keren (TF). With spin fluctuations and precession. </p>
<p>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 <picture><source srcset="form_177_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_{\rm eff}^2 = (1+R_b^2) \Delta_0^2$" src="form_177.png"/></picture>, which allows to massively simplify the formula which now only involves <picture><source srcset="form_178_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_b$" src="form_178.png"/></picture> and <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>. Here <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture> Will be given in units of <picture><source srcset="form_180_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$1/\mu\mathrm{sec}$" src="form_180.png"/></picture>.</p>
<p class="formulaDsp">
<picture><source srcset="form_187_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\begin{eqnarray*}\Theta(t) &amp;=&amp; \frac{\exp(-\nu_c t) - 1 - \nu_c t}{\nu_c^2} \\
P_{X}^{\rm dyn}(t) &amp;=&amp; \sqrt{\frac{1}{1+2 R_b^2 \Delta_0^2 \Theta(t)}}\,\exp\left[-\frac{\Delta_0^2 \Theta(t)}{1+2 R_b^2 \Delta_0^2 \Theta(t)}\right]\,\cos(\gamma B_{\rm ext} t + \varphi)
\end{eqnarray*}" src="form_187.png"/></picture>
</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture>, <picture><source srcset="form_184_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu = \gamma B_{\rm ext}$" src="form_184.png"/></picture>, <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>, <picture><source srcset="form_182_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_{\rm b} = \Delta_{\rm GbG}/\Delta_0$" src="form_182.png"/></picture>, <picture><source srcset="form_186_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu_c$" src="form_186.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02856">2856</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a4cfeda3b0fdb4ab1f325c021a575bf95" name="a4cfeda3b0fdb4ab1f325c021a575bf95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cfeda3b0fdb4ab1f325c021a575bf95">&#9670;&#160;</a></span>DynamicNKZF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::DynamicNKZF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dynamic Nakajima-Keren (ZF). With spin fluctuations. </p>
<p>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 <picture><source srcset="form_177_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_{\rm eff}^2 = (1+R_b^2) \Delta_0^2$" src="form_177.png"/></picture>, which allows to massively simplify the formula which now only involves <picture><source srcset="form_178_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_b$" src="form_178.png"/></picture> and <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>. Here <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture> Will be given in units of <picture><source srcset="form_180_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$1/\mu\mathrm{sec}$" src="form_180.png"/></picture>.</p>
<p class="formulaDsp">
<picture><source srcset="form_185_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\begin{eqnarray*}\Theta(t) &amp;=&amp; \frac{\exp(-\nu_c t) - 1 - \nu_c t}{\nu_c^2} \\
P_{Z}^{\rm dyn}(t) &amp;=&amp; \sqrt{\frac{1}{1+4 R_b^2 \Delta_0^2 \Theta(t)}}\,\exp\left[-\frac{2 \Delta_0^2 \Theta(t)}{1+4 R_b^2 \Delta_0^2 \Theta(t)}\right]
\end{eqnarray*}" src="form_185.png"/></picture>
</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>, <picture><source srcset="form_182_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_{\rm b} = \Delta_{\rm GbG}/\Delta_0$" src="form_182.png"/></picture>, <picture><source srcset="form_186_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu_c$" src="form_186.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02795">2795</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="adc4b7167a0aa86f4a3ebe4dd5d305bcb" name="adc4b7167a0aa86f4a3ebe4dd5d305bcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4b7167a0aa86f4a3ebe4dd5d305bcb">&#9670;&#160;</a></span>FmuF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::FmuF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>F-μ-F oscillation. Muon bound between two fluorine atoms. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ab0b6defce6fa75187ae306332fac3425" name="ab0b6defce6fa75187ae306332fac3425"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0b6defce6fa75187ae306332fac3425">&#9670;&#160;</a></span>Func()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::Func </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates the theory function at a given time point. </p>
<p>Evaluates the theory expression tree at a given time point.</p>
<p>Recursively evaluates the expression tree at time t using the provided parameter values. The evaluation follows the tree structure:</p><ul>
<li>If both fMul and fAdd exist: this_func * fMul + fAdd</li>
<li>If only fMul exists: this_func * fMul</li>
<li>If only fAdd exists: this_func + fAdd</li>
<li>If neither exists: this_func</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in microseconds (μs) for μSR fits, or x-value for non-μSR </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of current fit parameter values (FITPARAMETER block) </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values (FUNCTIONS block)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Evaluated theory value (polarization or asymmetry) at time t</dd></dl>
<dl class="section note"><dt>Note</dt><dd>For thread-safety, LF calculations cache results which may need recalculation if parameters change between calls.</dd></dl>
<p>Recursively evaluates the binary tree, combining function values according to the tree structure (multiplication for consecutive lines, addition for '+' separated sections).</p>
<p><b>Evaluation Algorithm:</b> Based on tree structure, one of four cases applies:</p><ol type="1">
<li>fMul &amp;&amp; fAdd: this_func(t) * fMul-&gt;Func(t) + fAdd-&gt;Func(t)</li>
<li>fMul only: this_func(t) * fMul-&gt;Func(t)</li>
<li>fAdd only: this_func(t) + fAdd-&gt;Func(t)</li>
<li>Leaf node: this_func(t)</li>
</ol>
<p><b>Parameter Resolution:</b> Within each function, parameters are accessed via fParamNo indices:</p><ul>
<li>If fParamNo[i] &lt; MSR_PARAM_FUN_OFFSET: use paramValues[fParamNo[i]]</li>
<li>If fParamNo[i] &gt;= MSR_PARAM_FUN_OFFSET: use funcValues[fParamNo[i] - MSR_PARAM_FUN_OFFSET]</li>
</ul>
<p><b>LF Caching:</b> Longitudinal field functions (StaticGaussKTLF, DynamicLorentzKTLF, etc.) use cached integral values that are recalculated only when parameters change. This is handled transparently within each LF function.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in microseconds for μSR fits, or x-axis value for non-μSR data </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of current fit parameter values from FITPARAMETER block </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values from FUNCTIONS block</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Evaluated polarization/asymmetry value at time t</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This method is const but uses mutable members for LF caching.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a10c8cb04d11bfa98d1218ec4f742a295" title="Returns constant value. Formula: c.">Constant()</a>, <a class="el" href="#a32ec790324e2ba2bda1637bfa3926af9" title="Transverse field cosine. Formula: cos(φ + 2πνt)">TFCos()</a>, <a class="el" href="#a8ae9bd3e7ecccc6b3a93128d1a5cc89f" title="Static Gaussian Kubo-Toyabe (ZF). Formula: 1/3 + 2/3(1-σ²t²)exp(-σ²t²/2)">StaticGaussKT()</a>, etc. for individual function implementations </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00468">468</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8cpp_source.html#l02274">Abragam()</a>, <a class="el" href="PTheory_8cpp_source.html#l01187">Asymmetry()</a>, <a class="el" href="PTheory_8cpp_source.html#l02505">Bessel()</a>, <a class="el" href="PTheory_8cpp_source.html#l02083">CombiLGKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01152">Constant()</a>, <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01907">DynamicGauLorKTLFFast()</a>, <a class="el" href="PTheory_8cpp_source.html#l01867">DynamicGauLorKTZFFast()</a>, <a class="el" href="PTheory_8cpp_source.html#l01521">DynamicGaussKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01759">DynamicLorentzKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02856">DynamicNKTF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02795">DynamicNKZF()</a>, <a class="el" href="PTheory_8h_source.html#l00637">fAdd</a>, <a class="el" href="#adc4b7167a0aa86f4a3ebe4dd5d305bcb">FmuF()</a>, <a class="el" href="PTheory_8h_source.html#l00638">fMul</a>, <a class="el" href="PTheory_8h_source.html#l00634">fType</a>, <a class="el" href="PTheory_8cpp_source.html#l01277">GeneralExp()</a>, <a class="el" href="PTheory_8cpp_source.html#l02546">InternalBessel()</a>, <a class="el" href="PTheory_8cpp_source.html#l02359">InternalField()</a>, <a class="el" href="PTheory_8cpp_source.html#l02401">InternalFieldGK()</a>, <a class="el" href="PTheory_8cpp_source.html#l02453">InternalFieldLL()</a>, <a class="el" href="#ae431d544feaad24170d4ef0a3c9e0722">MuMinusExpTF()</a>, <a class="el" href="#ae984a95857932719634345a35803a92e">Polynom()</a>, <a class="el" href="PTheory_8cpp_source.html#l02229">RandomAnisotropicHyperfine()</a>, <a class="el" href="PTheory_8cpp_source.html#l01225">SimpleExp()</a>, <a class="el" href="PTheory_8cpp_source.html#l01334">SimpleGauss()</a>, <a class="el" href="PTheory_8cpp_source.html#l02595">SkewedGauss()</a>, <a class="el" href="PTheory_8cpp_source.html#l02178">SpinGlass()</a>, <a class="el" href="PTheory_8cpp_source.html#l01390">StaticGaussKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01432">StaticGaussKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01619">StaticLorentzKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01662">StaticLorentzKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02739">StaticNKTF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02684">StaticNKZF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02129">StrKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l02318">TFCos()</a>, <a class="el" href="PTheory_8h_source.html#l00100">THEORY_ABRAGAM</a>, <a class="el" href="PTheory_8h_source.html#l00066">THEORY_ASYMMETRY</a>, <a class="el" href="PTheory_8h_source.html#l00110">THEORY_BESSEL</a>, <a class="el" href="PTheory_8h_source.html#l00092">THEORY_COMBI_LGKT</a>, <a class="el" href="PTheory_8h_source.html#l00064">THEORY_CONST</a>, <a class="el" href="PTheory_8h_source.html#l00088">THEORY_DYNAMIC_GAULOR_FAST_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00086">THEORY_DYNAMIC_GAULOR_FAST_KT_ZF</a>, <a class="el" href="PTheory_8h_source.html#l00090">THEORY_DYNAMIC_GAULOR_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00078">THEORY_DYNAMIC_GAUSS_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00084">THEORY_DYNAMIC_LORENTZ_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00122">THEORY_DYNAMIC_TF_NK</a>, <a class="el" href="PTheory_8h_source.html#l00120">THEORY_DYNAMIC_ZF_NK</a>, <a class="el" href="PTheory_8h_source.html#l00124">THEORY_F_MU_F</a>, <a class="el" href="PTheory_8h_source.html#l00070">THEORY_GENERAL_EXP</a>, <a class="el" href="PTheory_8h_source.html#l00112">THEORY_INTERNAL_BESSEL</a>, <a class="el" href="PTheory_8h_source.html#l00104">THEORY_INTERNAL_FIELD</a>, <a class="el" href="PTheory_8h_source.html#l00106">THEORY_INTERNAL_FIELD_KORNILOV</a>, <a class="el" href="PTheory_8h_source.html#l00108">THEORY_INTERNAL_FIELD_LARKIN</a>, <a class="el" href="PTheory_8h_source.html#l00126">THEORY_MU_MINUS_EXP</a>, <a class="el" href="PTheory_8h_source.html#l00128">THEORY_POLYNOM</a>, <a class="el" href="PTheory_8h_source.html#l00098">THEORY_RANDOM_ANISOTROPIC_HYPERFINE</a>, <a class="el" href="PTheory_8h_source.html#l00068">THEORY_SIMPLE_EXP</a>, <a class="el" href="PTheory_8h_source.html#l00072">THEORY_SIMPLE_GAUSS</a>, <a class="el" href="PTheory_8h_source.html#l00114">THEORY_SKEWED_GAUSS</a>, <a class="el" href="PTheory_8h_source.html#l00096">THEORY_SPIN_GLASS</a>, <a class="el" href="PTheory_8h_source.html#l00074">THEORY_STATIC_GAUSS_KT</a>, <a class="el" href="PTheory_8h_source.html#l00076">THEORY_STATIC_GAUSS_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00080">THEORY_STATIC_LORENTZ_KT</a>, <a class="el" href="PTheory_8h_source.html#l00082">THEORY_STATIC_LORENTZ_KT_LF</a>, <a class="el" href="PTheory_8h_source.html#l00118">THEORY_STATIC_TF_NK</a>, <a class="el" href="PTheory_8h_source.html#l00116">THEORY_STATIC_ZF_NK</a>, <a class="el" href="PTheory_8h_source.html#l00094">THEORY_STR_KT</a>, <a class="el" href="PTheory_8h_source.html#l00102">THEORY_TF_COS</a>, <a class="el" href="PTheory_8h_source.html#l00130">THEORY_USER_FCN</a>, and <a class="el" href="#ace253c9696e455779b05e9f9dee0896c">UserFcn()</a>.</p>
</div>
</div>
<a id="a53685d230ca22581c76d449422be5eab" name="a53685d230ca22581c76d449422be5eab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53685d230ca22581c76d449422be5eab">&#9670;&#160;</a></span>GeneralExp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::GeneralExp </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>General (stretched) exponential. Formula: exp(-(λt)^β) </p>
<p>Generalized (stretched) exponential relaxation function.</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_134_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-[\lambda t]^\beta\right) \]" src="form_134.png"/></picture>
</p>
<p> or with time shift: </p><p class="formulaDsp">
<picture><source srcset="form_135_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-[\lambda (t-t_{\rm shift})]^\beta\right) \]" src="form_135.png"/></picture>
</p>
<p>The stretched exponential (Kohlrausch function) represents relaxation in systems with a distribution of correlation times:</p><ul>
<li>β = 1: Simple exponential</li>
<li>β &lt; 1: Stretched exponential (distributed relaxation)</li>
<li>β = 2: Gaussian relaxation</li>
</ul>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Relaxation rate λ (μs⁻¹)</li>
<li>fParamNo[1]: Stretching exponent β</li>
<li>fParamNo[2]: (optional) Time shift t_shift (μs)</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in μs </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Stretched exponential value at time t </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01277">1277</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ab5cf3eb3c9aa8bb22d98597fd6a244e6" name="ab5cf3eb3c9aa8bb22d98597fd6a244e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5cf3eb3c9aa8bb22d98597fd6a244e6">&#9670;&#160;</a></span>GetDyn_GL_KTLFValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::GetDyn_GL_KTLFValue </td>
<td>(</td>
<td class="paramtype">const Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves cached dynamic Gauss-Lorentz KT LF value at time t. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>.</p>
</div>
</div>
<a id="afbefd7086854bfb72f02b95f3b22bdcd" name="afbefd7086854bfb72f02b95f3b22bdcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbefd7086854bfb72f02b95f3b22bdcd">&#9670;&#160;</a></span>GetDynKTLFValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::GetDynKTLFValue </td>
<td>(</td>
<td class="paramtype">const Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves cached dynamic KT LF value at time t. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01521">DynamicGaussKTLF()</a>, and <a class="el" href="PTheory_8cpp_source.html#l01759">DynamicLorentzKTLF()</a>.</p>
</div>
</div>
<a id="a44d4841bb66f761c2502b78017f1756b" name="a44d4841bb66f761c2502b78017f1756b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44d4841bb66f761c2502b78017f1756b">&#9670;&#160;</a></span>GetLFIntegralValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::GetLFIntegralValue </td>
<td>(</td>
<td class="paramtype">const Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves cached LF integral value at time t using interpolation. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01432">StaticGaussKTLF()</a>, and <a class="el" href="PTheory_8cpp_source.html#l01662">StaticLorentzKTLF()</a>.</p>
</div>
</div>
<a id="a249af67baeb38ac226cc28c9a172f622" name="a249af67baeb38ac226cc28c9a172f622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a249af67baeb38ac226cc28c9a172f622">&#9670;&#160;</a></span>GetUserFcnIdx()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Int_t PTheory::GetUserFcnIdx </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>lineNo</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of user functions up to the given line. </p>
<p>Counts user function occurrences in theory block up to a given line.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Current line number in theory block </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Count of userFcn entries before this line</dd></dl>
<p>Scans the theory block from line 1 to lineNo (inclusive) and counts how many lines contain "userFcn". This index is used to:</p><ul>
<li>Identify which global user function object to use</li>
<li>Track multiple user functions in a single theory</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lineNo</td><td>Current line number being parsed (1-based in theory block)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index of current user function (0-based count), or -1 if no userFcn entries found up to lineNo</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The search is case-insensitive ("userFcn", "USERFCN", etc. all match). </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00896">896</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00647">fMsrInfo</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a7fca9d0d5b05f781768290d372e259f9" name="a7fca9d0d5b05f781768290d372e259f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fca9d0d5b05f781768290d372e259f9">&#9670;&#160;</a></span>InternalBessel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::InternalBessel </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal Bessel field distribution. Combines Bessel with relaxation. </p>
<p>theory function: internal field bessel function</p>
<p class="formulaDsp">
<picture><source srcset="form_173_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \alpha\,j_0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right)\]" src="form_173.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_166_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha$" src="form_166.png"/></picture>, <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_167_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda_{\rm T}$" src="form_167.png"/></picture>, <picture><source srcset="form_168_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda_{\rm L}$" src="form_168.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02546">2546</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a78888a303a73c0e0d8aae5b9eb6b4032" name="a78888a303a73c0e0d8aae5b9eb6b4032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78888a303a73c0e0d8aae5b9eb6b4032">&#9670;&#160;</a></span>InternalField()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::InternalField </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal field distribution. Gaussian field distribution model. </p>
<p>theory function: internal field function</p>
<p class="formulaDsp">
<picture><source srcset="form_165_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \alpha\,\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right)\]" src="form_165.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_166_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha$" src="form_166.png"/></picture>, <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_167_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda_{\rm T}$" src="form_167.png"/></picture>, <picture><source srcset="form_168_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda_{\rm L}$" src="form_168.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02359">2359</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a9f729f4d453aad6b0edc939fd6043114" name="a9f729f4d453aad6b0edc939fd6043114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f729f4d453aad6b0edc939fd6043114">&#9670;&#160;</a></span>InternalFieldGK()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::InternalFieldGK </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal field (Kornilov model). Vortex lattice field distribution. </p>
<p>theory function: internal field function Gauss-Kornilov (see Physics Letters A <b>153</b>, 364 (1991)).</p>
<p class="formulaDsp">
<picture><source srcset="form_169_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \alpha\,\left[\cos(2\pi\nu t)-\frac{\sigma^2 t}{2\pi\nu}\sin(2\pi\nu t)\right]\exp(-[\sigma t]^2/2)+(1-\alpha)\,\exp(-(\lambda t)^\beta)\]" src="form_169.png"/></picture>
</p>
<p> or the time shifted version of it. For the powder averaged case, <picture><source srcset="form_170_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha=2/3$" src="form_170.png"/></picture>.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_166_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha$" src="form_166.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture>, <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture>, <picture><source srcset="form_157_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\beta$" src="form_157.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02401">2401</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="af2426f3c6e4cefeb172ed8864ba3a10c" name="af2426f3c6e4cefeb172ed8864ba3a10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2426f3c6e4cefeb172ed8864ba3a10c">&#9670;&#160;</a></span>InternalFieldLL()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::InternalFieldLL </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal field (Larkin-Ovchinnikov model). Vortex lattice field distribution. </p>
<p>theory function: internal field function Lorentz-Larkin (see Physica B: Condensed Matter <b>289-290</b>, 153 (2000)).</p>
<p class="formulaDsp">
<picture><source srcset="form_171_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \alpha\,\left[\cos(2\pi\nu t)-\frac{a}{2\pi\nu}\sin(2\pi\nu t)\right]\exp(-a t)+(1-\alpha)\,\exp(-(\lambda t)^\beta)\]" src="form_171.png"/></picture>
</p>
<p> or the time shifted version of it. For the powder averaged case, <picture><source srcset="form_170_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha=2/3$" src="form_170.png"/></picture>.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_166_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\alpha$" src="form_166.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_151_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$a$" src="form_151.png"/></picture>, <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture>, <picture><source srcset="form_157_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\beta$" src="form_157.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02453">2453</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a63b9712d6b46f7b409e631f1d5ea4578" name="a63b9712d6b46f7b409e631f1d5ea4578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63b9712d6b46f7b409e631f1d5ea4578">&#9670;&#160;</a></span>IsValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PTheory::IsValid </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if the entire theory expression tree is valid. </p>
<p>Recursively checks if the entire theory expression tree is valid.</p>
<p>Recursively validates all nodes in the tree. A theory is valid only if this node and all its children (fAdd and fMul) are valid.</p>
<dl class="section return"><dt>Returns</dt><dd>true if all nodes are valid, false if any node has errors</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Call this after construction to verify the theory was parsed successfully before attempting evaluation.</dd></dl>
<p>Traverses the binary tree and checks fValid for this node and all descendant nodes. A theory tree is valid only if ALL nodes are valid.</p>
<p><b>Validation logic:</b></p><ul>
<li>If fMul and fAdd both exist: return fValid &amp;&amp; fMul-&gt;<a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a> &amp;&amp; fAdd-&gt;<a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a></li>
<li>If only fMul exists: return fValid &amp;&amp; fMul-&gt;<a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a></li>
<li>If only fAdd exists: return fValid &amp;&amp; fAdd-&gt;<a class="el" href="#a63b9712d6b46f7b409e631f1d5ea4578" title="Checks if the entire theory expression tree is valid.">IsValid()</a></li>
<li>If leaf node: return fValid</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>true if this node and all descendants are valid, false otherwise</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Should always be called after construction to verify successful parsing. A single invalid node anywhere in the tree causes the entire theory to be marked invalid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00415">415</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00637">fAdd</a>, <a class="el" href="PTheory_8h_source.html#l00638">fMul</a>, and <a class="el" href="PTheory_8h_source.html#l00633">fValid</a>.</p>
</div>
</div>
<a id="a1f3f55a7d197f9c621fecd116657f159" name="a1f3f55a7d197f9c621fecd116657f159"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f3f55a7d197f9c621fecd116657f159">&#9670;&#160;</a></span>MakeCleanAndTidyPolynom()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PTheory::MakeCleanAndTidyPolynom </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>i</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *</td> <td class="paramname"><span class="paramname"><em>fullTheoryBlock</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats a polynomial theory line with proper spacing. </p>
<p>Polynomial functions have variable parameter count, so they require special formatting. Creates output in format: </p><pre class="fragment">* polynom tshift p0 p1 p2 ... pn (tshift p0 p1 ... pn)
* </pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>Line index (1-based) in the theory block </td></tr>
<tr><td class="paramname">fullTheoryBlock</td><td>Pointer to theory block lines (modified in place) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01040">1040</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8h_source.html#l00975">PMsrLineStructure::fLine</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00943">MakeCleanAndTidyTheoryBlock()</a>.</p>
</div>
</div>
<a id="af8f347354bef0901edc211965b9e10fa" name="af8f347354bef0901edc211965b9e10fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8f347354bef0901edc211965b9e10fa">&#9670;&#160;</a></span>MakeCleanAndTidyTheoryBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PTheory::MakeCleanAndTidyTheoryBlock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *</td> <td class="paramname"><span class="paramname"><em>fullTheoryBlock</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reformats the theory block for clean MSR file output. </p>
<p>Reformats the theory block with consistent spacing and comments.</p>
<p>Processes each line in the theory block to produce clean, well-formatted output suitable for writing back to MSR files. Formatting includes:</p><ul>
<li>Function name left-aligned in 10-character field</li>
<li>Parameters right-aligned in 6-character fields</li>
<li>Comment string appended showing parameter names</li>
</ul>
<p><b>Example transformation:</b> </p><pre class="fragment">* Input: "tf 2 3"
* Output: "TFieldCos 2 3 (phase frequency)"
* </pre><p>Special handling for:</p><ul>
<li>'+' lines: left unchanged</li>
<li>polynom: delegated to <a class="el" href="#a1f3f55a7d197f9c621fecd116657f159" title="Formats a polynomial theory line with proper spacing.">MakeCleanAndTidyPolynom()</a></li>
<li>userFcn: delegated to <a class="el" href="#aa7992fe6037b1cb64b580605667894c0" title="Formats a user function theory line with proper spacing.">MakeCleanAndTidyUserFcn()</a></li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fullTheoryBlock</td><td>Pointer to theory block lines (modified in place)</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Called only by root theory node (hasParent=false) after successful parsing. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00943">943</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00240">fgTheoDataBase</a>, <a class="el" href="PMusr_8h_source.html#l00975">PMsrLineStructure::fLine</a>, <a class="el" href="PTheory_8cpp_source.html#l01040">MakeCleanAndTidyPolynom()</a>, <a class="el" href="PTheory_8cpp_source.html#l01103">MakeCleanAndTidyUserFcn()</a>, <a class="el" href="PTheory_8h_source.html#l00183">THEORY_MAX</a>, and <a class="el" href="PTheory_8h_source.html#l00062">THEORY_UNDEFINED</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="aa7992fe6037b1cb64b580605667894c0" name="aa7992fe6037b1cb64b580605667894c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7992fe6037b1cb64b580605667894c0">&#9670;&#160;</a></span>MakeCleanAndTidyUserFcn()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PTheory::MakeCleanAndTidyUserFcn </td>
<td>(</td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>i</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="PMusr_8h.html#a88b0f32c26fd54bdacfbef77212d951d">PMsrLines</a> *</td> <td class="paramname"><span class="paramname"><em>fullTheoryBlock</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats a user function theory line with proper spacing. </p>
<p>User functions have variable structure (library, class, parameters), so they require special formatting. Creates output in format: </p><pre class="fragment">* userFcn libName.so ClassName param1 param2 ... paramN
* </pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>Line index (1-based) in the theory block </td></tr>
<tr><td class="paramname">fullTheoryBlock</td><td>Pointer to theory block lines (modified in place) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01103">1103</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8h_source.html#l00975">PMsrLineStructure::fLine</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00943">MakeCleanAndTidyTheoryBlock()</a>.</p>
</div>
</div>
<a id="ae431d544feaad24170d4ef0a3c9e0722" name="ae431d544feaad24170d4ef0a3c9e0722"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae431d544feaad24170d4ef0a3c9e0722">&#9670;&#160;</a></span>MuMinusExpTF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::MuMinusExpTF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>μ⁻ exponential TF. Negative muon in transverse field. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ae984a95857932719634345a35803a92e" name="ae984a95857932719634345a35803a92e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae984a95857932719634345a35803a92e">&#9670;&#160;</a></span>Polynom()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::Polynom </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Polynomial function. Formula: Σᵢ pᵢtⁱ </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a646477b37fc74bffbd4ab69694f8a708" name="a646477b37fc74bffbd4ab69694f8a708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a646477b37fc74bffbd4ab69694f8a708">&#9670;&#160;</a></span>RandomAnisotropicHyperfine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::RandomAnisotropicHyperfine </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Random anisotropic hyperfine coupling. Powder average of anisotropic coupling. </p>
<p>theory function: random anisotropic hyperfine function (see R. E. Turner and D. R. Harshman, Phys. Rev. B 34 (1986) 4467)</p>
<p class="formulaDsp">
<picture><source srcset="form_161_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{6}\left(1-\frac{\nu t}{2}\right)\exp\left(-\frac{\nu t}{2}\right)+\frac{1}{3}\left(1-\frac{\nu t}{4}\right)\exp\left(-\frac{\nu t + 2.44949\lambda t}{4}\right)\]" src="form_161.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02229">2229</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a310b2b0ad6658f91ee67b05426a6d22c" name="a310b2b0ad6658f91ee67b05426a6d22c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a310b2b0ad6658f91ee67b05426a6d22c">&#9670;&#160;</a></span>SearchDataBase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Int_t PTheory::SearchDataBase </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Searches fgTheoDataBase for a function by name or abbreviation. </p>
<p>Searches fgTheoDataBase for a theory function by name or abbreviation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>Function name (e.g., "simplExpo") or abbreviation (e.g., "se") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index in fgTheoDataBase, or THEORY_UNDEFINED if not found</dd></dl>
<p>Performs case-insensitive search through the theory database to find a matching function. If found, sets fType and fNoOfParam member variables.</p>
<p><b>Search matches either:</b></p><ul>
<li>Full function name (e.g., "simplExpo", "TFieldCos")</li>
<li>Abbreviation (e.g., "se", "tf")</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>Function name or abbreviation to search for</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index in fgTheoDataBase (0 to THEORY_MAX-1), or THEORY_UNDEFINED (-1) if not found</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Side effects: Sets fType and fNoOfParam when function is found.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="PTheory_8h.html#a066ae70866d9dba13e2b963be9fabd20">fgTheoDataBase</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l00862">862</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00240">fgTheoDataBase</a>, <a class="el" href="PTheory_8h_source.html#l00636">fNoOfParam</a>, <a class="el" href="PTheory_8h_source.html#l00634">fType</a>, <a class="el" href="PTheory_8h_source.html#l00183">THEORY_MAX</a>, and <a class="el" href="PTheory_8h_source.html#l00062">THEORY_UNDEFINED</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="aadab2da9cc55e5373652ece16c5b51a7" name="aadab2da9cc55e5373652ece16c5b51a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadab2da9cc55e5373652ece16c5b51a7">&#9670;&#160;</a></span>SimpleExp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::SimpleExp </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Simple exponential relaxation. Formula: exp(-λt) </p>
<p>Simple exponential relaxation function.</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_132_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-\lambda t\right) \]" src="form_132.png"/></picture>
</p>
<p> or with time shift: </p><p class="formulaDsp">
<picture><source srcset="form_133_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-\lambda [t-t_{\rm shift}] \right) \]" src="form_133.png"/></picture>
</p>
<p>Represents exponential muon spin relaxation due to dynamic fluctuations in the fast-fluctuation limit (BPP-type relaxation).</p>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Relaxation rate λ (μs⁻¹)</li>
<li>fParamNo[1]: (optional) Time shift t_shift (μs)</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in μs </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Exponential relaxation value at time t </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01225">1225</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a2677ed739e48737f07028b7f3d3c5f63" name="a2677ed739e48737f07028b7f3d3c5f63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2677ed739e48737f07028b7f3d3c5f63">&#9670;&#160;</a></span>SimpleGauss()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::SimpleGauss </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Simple Gaussian relaxation. Formula: exp(-σ²t²/2) </p>
<p>Simple Gaussian relaxation function.</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_136_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-\frac{1}{2} [\sigma t]^2\right) \]" src="form_136.png"/></picture>
</p>
<p> or with time shift: </p><p class="formulaDsp">
<picture><source srcset="form_137_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \exp\left(-\frac{1}{2} [\sigma (t-t_{\rm shift})]^2\right) \]" src="form_137.png"/></picture>
</p>
<p>Represents Gaussian muon spin relaxation due to static random fields with a Gaussian distribution. The parameter σ = γ_μ ΔB where ΔB is the RMS field width.</p>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Relaxation rate σ (μs⁻¹)</li>
<li>fParamNo[1]: (optional) Time shift t_shift (μs)</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in μs </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Gaussian relaxation value at time t </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01334">1334</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a80acc8e368f76f4d1c1dbfd1f9c078a3" name="a80acc8e368f76f4d1c1dbfd1f9c078a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80acc8e368f76f4d1c1dbfd1f9c078a3">&#9670;&#160;</a></span>SkewedGauss()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::SkewedGauss </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Skewed Gaussian. Asymmetric relaxation rates before/after zero crossing. </p>
<p>theory function: skewed Gaussian function</p>
<p class="formulaDsp">
<picture><source srcset="form_174_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\begin{eqnarray*} &amp;=&amp; \frac{\sigma_{-}}{\sigma_{+}+\sigma_{-}}\exp\left[-\frac{\sigma_{-}^2t^2}{2}\right]
\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)+
\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{-}t}{\sqrt{2}}\right)\right\rbrace+\\
&amp; &amp; \frac{\sigma_{+}}{\sigma_{+}+\sigma_{-}}
\exp\left[-\frac{\sigma_{+}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)-
\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{+}t}{\sqrt{2}}\right)\right\rbrace
\end{eqnarray*}" src="form_174.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_175_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma_{-}$" src="form_175.png"/></picture>, <picture><source srcset="form_176_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma_{+}$" src="form_176.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02595">2595</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, <a class="el" href="PTheory_8cpp_source.html#l00048">SQRT_PI</a>, <a class="el" href="PTheory_8cpp_source.html#l00047">SQRT_TWO</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ad7486d946964f49b73e7e1aa804f9f94" name="ad7486d946964f49b73e7e1aa804f9f94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7486d946964f49b73e7e1aa804f9f94">&#9670;&#160;</a></span>SpinGlass()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::SpinGlass </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Spin glass relaxation function. Edwards-Anderson order parameter. </p>
<p>theory function: spin glass function</p>
<p class="formulaDsp">
<picture><source srcset="form_158_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{3}\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}}\right)+\frac{2}{3}\left(1-\frac{q\lambda^2t^2}{\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}}\right)\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}\right)\]" src="form_158.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture>, <picture><source srcset="form_159_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\gamma$" src="form_159.png"/></picture>, <picture><source srcset="form_160_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$q$" src="form_160.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02178">2178</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a8ae9bd3e7ecccc6b3a93128d1a5cc89f" name="a8ae9bd3e7ecccc6b3a93128d1a5cc89f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ae9bd3e7ecccc6b3a93128d1a5cc89f">&#9670;&#160;</a></span>StaticGaussKT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticGaussKT </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Gaussian Kubo-Toyabe (ZF). Formula: 1/3 + 2/3(1-σ²t²)exp(-σ²t²/2) </p>
<p>Static Gaussian Kubo-Toyabe relaxation function in zero field.</p>
<p>Mathematical form: </p><p class="formulaDsp">
<picture><source srcset="form_138_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \frac{1}{3} + \frac{2}{3} \left[1-(\sigma t)^2\right] \exp\left[-\frac{1}{2} (\sigma t)^2\right] \]" src="form_138.png"/></picture>
</p>
<p> or with time shift: </p><p class="formulaDsp">
<picture><source srcset="form_139_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ P(t) = \frac{1}{3} + \frac{2}{3} \left[1-(\sigma \{t-t_{\rm shift}\})^2\right] \exp\left[-\frac{1}{2} (\sigma \{t-t_{\rm shift}\})^2\right] \]" src="form_139.png"/></picture>
</p>
<p>The Kubo-Toyabe function describes muon spin relaxation in a powder sample with random static nuclear magnetic moments creating a Gaussian field distribution at the muon site.</p>
<p>Physical interpretation:</p><ul>
<li>1/3 component: Muons with spin parallel to local field (unrelaxed)</li>
<li>2/3 component: Muons with spin perpendicular to local field (relaxing)</li>
<li>Recovery at long times: Partial repolarization to 1/3</li>
</ul>
<p><b>Parameters:</b></p><ul>
<li>fParamNo[0]: Relaxation rate σ = γ_μ ΔB (μs⁻¹), where ΔB is RMS field</li>
<li>fParamNo[1]: (optional) Time shift t_shift (μs)</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>Time in μs </td></tr>
<tr><td class="paramname">paramValues</td><td>Vector of fit parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>Vector of evaluated function values</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Gaussian Kubo-Toyabe value at time t</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a38b45a5848b847170d41ed5c17ef4cde" title="Static Gaussian Kubo-Toyabe (LF). Requires numerical integration.">StaticGaussKTLF()</a> for longitudinal field version </dd></dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01390">1390</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a38b45a5848b847170d41ed5c17ef4cde" name="a38b45a5848b847170d41ed5c17ef4cde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38b45a5848b847170d41ed5c17ef4cde">&#9670;&#160;</a></span>StaticGaussKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticGaussKTLF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Gaussian Kubo-Toyabe (LF). Requires numerical integration. </p>
<p>theory function: static Gaussian Kubo-Toyabe in longitudinal applied field</p>
<p class="formulaDsp">
<picture><source srcset="form_140_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = 1-\frac{2\sigma^2}{(2\pi\nu)^2}\left[1-\exp\left(-1/2 \{\sigma t\}^2\right)\cos(2\pi\nu t)\right] +
\frac{2\sigma^4}{(2\pi\nu)^3}\int^t_0 \exp\left(-1/2 \{\sigma \tau\}^2\right)\sin(2\pi\nu\tau)\mathrm{d}\tau \]" src="form_140.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01432">1432</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="#a162fdcf419f2285a05766fa75fc4badd">CalculateGaussLFIntegral()</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="#a44d4841bb66f761c2502b78017f1756b">GetLFIntegralValue()</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a38dec3c50021c73664737bb0481dcbcd" name="a38dec3c50021c73664737bb0481dcbcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38dec3c50021c73664737bb0481dcbcd">&#9670;&#160;</a></span>StaticLorentzKT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticLorentzKT </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Lorentzian Kubo-Toyabe (ZF). Formula: 1/3 + 2/3(1-at)exp(-at) </p>
<p>theory function: static Lorentzain Kubo-Toyabe in zero applied field (see Uemura et al. PRB 31, 546 (85)).</p>
<p class="formulaDsp">
<picture><source srcset="form_148_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = 1/3 + 2/3 [1 - \lambda t] \exp(-\lambda t) \]" src="form_148.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_149_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\lambda$" src="form_149.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01619">1619</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="adddf87c309ea4130751cc3c401eee6b9" name="adddf87c309ea4130751cc3c401eee6b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adddf87c309ea4130751cc3c401eee6b9">&#9670;&#160;</a></span>StaticLorentzKTLF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticLorentzKTLF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Lorentzian Kubo-Toyabe (LF). Requires numerical integration. </p>
<p>theory function: static Lorentzain Kubo-Toyabe in longitudinal applied field (see Uemura et al. PRB 31, 546 (85)).</p>
<p class="formulaDsp">
<picture><source srcset="form_150_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = 1-\frac{a}{2\pi\nu}j_1(2\pi\nu t)\exp\left(-at\right)-
\left(\frac{a}{2\pi\nu}\right)^2 \left[j_0(2\pi\nu t)\exp\left(-at\right)-1\right]-
a\left[1+\left(\frac{a}{2\pi\nu}\right)^2\right]\int^t_0 \exp\left(-a\tau\right)j_0(2\pi\nu\tau)\mathrm{d}\tau) \]" src="form_150.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_151_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$a$" src="form_151.png"/></picture>, <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l01662">1662</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="#ad0fab4cfa3e30636987597b2e515556f">CalculateLorentzLFIntegral()</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PTheory_8h_source.html#l00651">fPrevParam</a>, <a class="el" href="#a44d4841bb66f761c2502b78017f1756b">GetLFIntegralValue()</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ad874ccd579a1b04238da82ce4a639970" name="ad874ccd579a1b04238da82ce4a639970"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad874ccd579a1b04238da82ce4a639970">&#9670;&#160;</a></span>StaticNKTF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticNKTF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Nakajima-Keren (TF). Combined nuclear and electronic relaxation with precession. </p>
<p>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 <picture><source srcset="form_177_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_{\rm eff}^2 = (1+R_b^2) \Delta_0^2$" src="form_177.png"/></picture>, which allows to massively simplify the formula which now only involves <picture><source srcset="form_178_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_b$" src="form_178.png"/></picture> and <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>. Here <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture> Will be given in units of <picture><source srcset="form_180_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$1/\mu\mathrm{sec}$" src="form_180.png"/></picture>.</p>
<p class="formulaDsp">
<picture><source srcset="form_183_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{\sqrt{1+(R_b \gamma\Delta_0 t)^2}}\,
\exp\left[-\frac{(\gamma\Delta_0 t)^2}{2(1+(R_b \gamma\Delta_0 t)^2)}\right]\,
\cos(\gamma B_{\rm ext} t + \varphi) \]" src="form_183.png"/></picture>
</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture>, <picture><source srcset="form_184_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu = \gamma B_{\rm ext}$" src="form_184.png"/></picture>, <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>, <picture><source srcset="form_182_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_{\rm b} = \Delta_{\rm GbG}/\Delta_0$" src="form_182.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02739">2739</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a3e6ba6cd1f46b64bae7d4a0ce84e6050" name="a3e6ba6cd1f46b64bae7d4a0ce84e6050"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e6ba6cd1f46b64bae7d4a0ce84e6050">&#9670;&#160;</a></span>StaticNKZF()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StaticNKZF </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static Nakajima-Keren (ZF). Combined nuclear and electronic relaxation. </p>
<p>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 <picture><source srcset="form_177_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_{\rm eff}^2 = (1+R_b^2) \Delta_0^2$" src="form_177.png"/></picture>, which allows to massively simplify the formula which now only involves <picture><source srcset="form_178_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_b$" src="form_178.png"/></picture> and <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>. Here <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture> Will be given in units of <picture><source srcset="form_180_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$1/\mu\mathrm{sec}$" src="form_180.png"/></picture>.</p>
<p class="formulaDsp">
<picture><source srcset="form_181_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \frac{1}{3} + \frac{2}{3}\,\frac{1}{\left(1+(R_b \Delta_0 t)^2\right)^{3/2}}\,
\left(1 - \frac{(\Delta_0 t)^2}{\left(1+(R_b \Delta_0 t)^2\right)}\right)\,
\exp\left[\frac{(\Delta_0 t)^2}{2\left(1+(R_b \Delta_0 t)^2\right)}\right] \]" src="form_181.png"/></picture>
</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_179_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\Delta_0$" src="form_179.png"/></picture>, <picture><source srcset="form_182_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$R_{\rm b} = \Delta_{\rm GbG}/\Delta_0$" src="form_182.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02684">2684</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a4dc432db11ee23d7a3f8ffe92d233068" name="a4dc432db11ee23d7a3f8ffe92d233068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dc432db11ee23d7a3f8ffe92d233068">&#9670;&#160;</a></span>StrKT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::StrKT </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stretched Kubo-Toyabe. Formula: exp(-(σt)^β) with KT-like recovery. </p>
<p>theory function: stretched Kubo-Toyabe in zero field. Ref: Crook M. R. and Cywinski R., J. Phys. Condens. Matter, 9 (1997) 1149.</p>
<p class="formulaDsp">
<picture><source srcset="form_156_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = 1/3 + 2/3 \left(1-(\sigma t)^\beta \right) \exp\left(-(\sigma t)^\beta / \beta\right)\]" src="form_156.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_141_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\sigma$" src="form_141.png"/></picture>, <picture><source srcset="form_157_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\beta$" src="form_157.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02129">2129</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, and <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="a32ec790324e2ba2bda1637bfa3926af9" name="a32ec790324e2ba2bda1637bfa3926af9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32ec790324e2ba2bda1637bfa3926af9">&#9670;&#160;</a></span>TFCos()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::TFCos </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Transverse field cosine. Formula: cos(φ + 2πνt) </p>
<p>theory function: cosine including phase</p>
<p class="formulaDsp">
<picture><source srcset="form_163_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ = \cos(2\pi\nu t + \varphi) \]" src="form_163.png"/></picture>
</p>
<p> or the time shifted version of it.</p>
<p><b>meaning of paramValues:</b> <picture><source srcset="form_142_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\nu$" src="form_142.png"/></picture>, <picture><source srcset="form_164_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$\varphi$" src="form_164.png"/></picture> [, <picture><source srcset="form_143_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$t_{\rm shift}$" src="form_143.png"/></picture>]</p>
<p><b>return:</b> function value</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>time in <picture><source srcset="form_144_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaInl" alt="$(\mu\mathrm{s})$" src="form_144.png"/></picture>, or x-axis value for non-muSR fit </td></tr>
<tr><td class="paramname">paramValues</td><td>parameter values </td></tr>
<tr><td class="paramname">funcValues</td><td>vector with the functions (i.e. functions of the parameters) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PTheory_8cpp_source.html#l02318">2318</a> of file <a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a>.</p>
<p class="reference">References <a class="el" href="PTheory_8h_source.html#l00202">DEG_TO_RAD</a>, <a class="el" href="PTheory_8h_source.html#l00635">fParamNo</a>, <a class="el" href="PMusr_8h_source.html#l00260">MSR_PARAM_FUN_OFFSET</a>, and <a class="el" href="PTheory_8h_source.html#l00210">TWO_PI</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<a id="ace253c9696e455779b05e9f9dee0896c" name="ace253c9696e455779b05e9f9dee0896c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace253c9696e455779b05e9f9dee0896c">&#9670;&#160;</a></span>UserFcn()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Double_t PTheory::UserFcn </td>
<td>(</td>
<td class="paramtype">Double_t</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>paramValues</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>funcValues</em></span>&#160;) const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>User-defined function. Calls external shared library function. </p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1d5877643d71ceb9108a3192672f1256" name="a1d5877643d71ceb9108a3192672f1256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d5877643d71ceb9108a3192672f1256">&#9670;&#160;</a></span>fAdd</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPTheory.html">PTheory</a>* PTheory::fAdd</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to addition child node (left branch of tree) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00637">637</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00830">CleanUp()</a>, <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>, <a class="el" href="PTheory_8cpp_source.html#l00415">IsValid()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a3b0b07a3f5566d1fae57a11a05f3c027" name="a3b0b07a3f5566d1fae57a11a05f3c027"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b0b07a3f5566d1fae57a11a05f3c027">&#9670;&#160;</a></span>fDyn_GL_LFFuncValue</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> PTheory::fDyn_GL_LFFuncValue</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Cached dynamic Gauss-Lorentz LF KT values. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00655">655</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>.</p>
</div>
</div>
<a id="a206a0d0f432f8f581e718451a90c2e47" name="a206a0d0f432f8f581e718451a90c2e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a206a0d0f432f8f581e718451a90c2e47">&#9670;&#160;</a></span>fDynLFdt</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::fDynLFdt</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Time step for dynamic LF integral equation. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00653">653</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a6f9b4bab0503cdd186d3adcc895a8c07" name="a6f9b4bab0503cdd186d3adcc895a8c07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f9b4bab0503cdd186d3adcc895a8c07">&#9670;&#160;</a></span>fDynLFFuncValue</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> PTheory::fDynLFFuncValue</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Cached dynamic Gaussian/Lorentzian LF KT values. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00654">654</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="a2e95076ebc576d95c997cafc49265f6b" name="a2e95076ebc576d95c997cafc49265f6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e95076ebc576d95c997cafc49265f6b">&#9670;&#160;</a></span>fLFIntegral</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> PTheory::fLFIntegral</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Cached static LF KT integral values. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00652">652</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="acafff64c51c65fb9713e93503713fff5" name="acafff64c51c65fb9713e93503713fff5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acafff64c51c65fb9713e93503713fff5">&#9670;&#160;</a></span>fMsrInfo</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPMsrHandler.html">PMsrHandler</a>* PTheory::fMsrInfo</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to MSR file handler (not owned) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00647">647</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00896">GetUserFcnIdx()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a4bc8faf7ed6d246b0451c4a3b3fe2056" name="a4bc8faf7ed6d246b0451c4a3b3fe2056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bc8faf7ed6d246b0451c4a3b3fe2056">&#9670;&#160;</a></span>fMul</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPTheory.html">PTheory</a>* PTheory::fMul</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to multiplication child node (right branch of tree) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00638">638</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00830">CleanUp()</a>, <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>, <a class="el" href="PTheory_8cpp_source.html#l00415">IsValid()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="aedd9c54d28240e0c1a4fb2601d4e0d00" name="aedd9c54d28240e0c1a4fb2601d4e0d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedd9c54d28240e0c1a4fb2601d4e0d00">&#9670;&#160;</a></span>fNoOfParam</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PTheory::fNoOfParam</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expected number of parameters for this function type. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00636">636</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00862">SearchDataBase()</a>.</p>
</div>
</div>
<a id="aba502d80fb7549a222bf514c0f68ef79" name="aba502d80fb7549a222bf514c0f68ef79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba502d80fb7549a222bf514c0f68ef79">&#9670;&#160;</a></span>fParamNo</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;UInt_t&gt; PTheory::fParamNo</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolved parameter indices (0-based). Values &gt;= MSR_PARAM_FUN_OFFSET are function references. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00635">635</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l02274">Abragam()</a>, <a class="el" href="PTheory_8cpp_source.html#l01187">Asymmetry()</a>, <a class="el" href="PTheory_8cpp_source.html#l02505">Bessel()</a>, <a class="el" href="PTheory_8cpp_source.html#l02083">CombiLGKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01152">Constant()</a>, <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01907">DynamicGauLorKTLFFast()</a>, <a class="el" href="PTheory_8cpp_source.html#l01867">DynamicGauLorKTZFFast()</a>, <a class="el" href="PTheory_8cpp_source.html#l01521">DynamicGaussKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01759">DynamicLorentzKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02856">DynamicNKTF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02795">DynamicNKZF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01277">GeneralExp()</a>, <a class="el" href="PTheory_8cpp_source.html#l02546">InternalBessel()</a>, <a class="el" href="PTheory_8cpp_source.html#l02359">InternalField()</a>, <a class="el" href="PTheory_8cpp_source.html#l02401">InternalFieldGK()</a>, <a class="el" href="PTheory_8cpp_source.html#l02453">InternalFieldLL()</a>, <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, <a class="el" href="PTheory_8cpp_source.html#l02229">RandomAnisotropicHyperfine()</a>, <a class="el" href="PTheory_8cpp_source.html#l01225">SimpleExp()</a>, <a class="el" href="PTheory_8cpp_source.html#l01334">SimpleGauss()</a>, <a class="el" href="PTheory_8cpp_source.html#l02595">SkewedGauss()</a>, <a class="el" href="PTheory_8cpp_source.html#l02178">SpinGlass()</a>, <a class="el" href="PTheory_8cpp_source.html#l01390">StaticGaussKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01432">StaticGaussKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01619">StaticLorentzKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l01662">StaticLorentzKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02739">StaticNKTF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02684">StaticNKZF()</a>, <a class="el" href="PTheory_8cpp_source.html#l02129">StrKT()</a>, <a class="el" href="PTheory_8cpp_source.html#l02318">TFCos()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="a5f432be04e4207396e9c0860c40ba8ce" name="a5f432be04e4207396e9c0860c40ba8ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f432be04e4207396e9c0860c40ba8ce">&#9670;&#160;</a></span>fPrevParam</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::fPrevParam[<a class="el" href="PTheory_8h.html#abffa2911fef01b9acc49bcd36c0c614d">THEORY_MAX_PARAM</a>]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Previous parameter values for cache invalidation check. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00651">651</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l01954">DynamicGauLorKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01521">DynamicGaussKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l01759">DynamicLorentzKTLF()</a>, <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, <a class="el" href="PTheory_8cpp_source.html#l01432">StaticGaussKTLF()</a>, and <a class="el" href="PTheory_8cpp_source.html#l01662">StaticLorentzKTLF()</a>.</p>
</div>
</div>
<a id="a25c32f4daa2a96461d1bf4ee84138ccc" name="a25c32f4daa2a96461d1bf4ee84138ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25c32f4daa2a96461d1bf4ee84138ccc">&#9670;&#160;</a></span>fSamplingTime</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PTheory::fSamplingTime</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Time step for LF integral calculation (default 1 ns = 0.001 μs) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00650">650</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="ab2ec4bc446778600b280ff6b600ad231" name="ab2ec4bc446778600b280ff6b600ad231"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2ec4bc446778600b280ff6b600ad231">&#9670;&#160;</a></span>fType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">UInt_t PTheory::fType</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Theory function type (THEORY_CONST, THEORY_SIMPLE_EXP, etc.) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00634">634</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00468">Func()</a>, <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00862">SearchDataBase()</a>.</p>
</div>
</div>
<a id="a2261ffd3f1d028766f98ef8382750535" name="a2261ffd3f1d028766f98ef8382750535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2261ffd3f1d028766f98ef8382750535">&#9670;&#160;</a></span>fUserFcn</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPUserFcnBase.html">PUserFcnBase</a>* PTheory::fUserFcn</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to instantiated user function object. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00644">644</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="a7d2a9fb33d33b7a224214f67c0620f46" name="a7d2a9fb33d33b7a224214f67c0620f46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d2a9fb33d33b7a224214f67c0620f46">&#9670;&#160;</a></span>fUserFcnClassName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PTheory::fUserFcnClassName</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>ROOT class name for user function (e.g., "TMyFunction") </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00642">642</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a7bac1fe73ad243c4a3d4add99700f0bb" name="a7bac1fe73ad243c4a3d4add99700f0bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bac1fe73ad243c4a3d4add99700f0bb">&#9670;&#160;</a></span>fUserFcnIdx</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Int_t PTheory::fUserFcnIdx</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Index of this user function among all userFcn entries (for global state) </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00641">641</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="afaaefb22b8da1e94df68898352a8b819" name="afaaefb22b8da1e94df68898352a8b819"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaaefb22b8da1e94df68898352a8b819">&#9670;&#160;</a></span>fUserFcnSharedLibName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PTheory::fUserFcnSharedLibName</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shared library path (e.g., "libMyFunctions.so") </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00643">643</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<a id="a227b713015c7feece87f4a84d3df4168" name="a227b713015c7feece87f4a84d3df4168"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a227b713015c7feece87f4a84d3df4168">&#9670;&#160;</a></span>fUserParam</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> PTheory::fUserParam</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel mutable">mutable</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolved parameter values for user function calls. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00645">645</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00375">~PTheory()</a>.</p>
</div>
</div>
<a id="a1877cbedb79f76a10b98f0a47a9c3db7" name="a1877cbedb79f76a10b98f0a47a9c3db7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1877cbedb79f76a10b98f0a47a9c3db7">&#9670;&#160;</a></span>fValid</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PTheory::fValid</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>True if this theory node and its parse state are valid. </p>
<p class="definition">Definition at line <a class="el" href="PTheory_8h_source.html#l00633">633</a> of file <a class="el" href="PTheory_8h_source.html">PTheory.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PTheory_8cpp_source.html#l00415">IsValid()</a>, and <a class="el" href="PTheory_8cpp_source.html#l00125">PTheory()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/workspace/LMU/musrfit/src/include/<a class="el" href="PTheory_8h_source.html">PTheory.h</a></li>
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PTheory_8cpp_source.html">PTheory.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classPTheory.html">PTheory</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>