1419 lines
103 KiB
HTML
1419 lines
103 KiB
HTML
<!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: PRunNonMusr 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"> 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&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&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&dn=expat.txt MIT */
|
||
$(function(){initNavTree('classPRunNonMusr.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<div class="header">
|
||
<div class="summary">
|
||
<a href="#pub-methods">Public Member Functions</a> |
|
||
<a href="#pro-methods">Protected Member Functions</a> |
|
||
<a href="#pri-attribs">Private Attributes</a> |
|
||
<a href="classPRunNonMusr-members.html">List of all members</a> </div>
|
||
<div class="headertitle"><div class="title">PRunNonMusr Class Reference</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
|
||
<p>Class for fitting general x-y data sets (non-μSR time series).
|
||
<a href="#details">More...</a></p>
|
||
|
||
<p><code>#include <<a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>></code></p>
|
||
<div class="dynheader">
|
||
Inheritance diagram for PRunNonMusr:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPRunNonMusr__inherit__graph.png" border="0" usemap="#aPRunNonMusr_inherit__map" alt="Inheritance graph"/></div>
|
||
<map name="aPRunNonMusr_inherit__map" id="aPRunNonMusr_inherit__map">
|
||
<area shape="rect" title="Class for fitting general x-y data sets (non-μSR time series)." alt="" coords="5,81,113,109"/>
|
||
<area shape="rect" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types." alt="" coords="19,5,99,33"/>
|
||
<area shape="poly" title=" " alt="" coords="62,49,62,81,56,81,56,49"/>
|
||
</map>
|
||
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
||
<div class="dynheader">
|
||
Collaboration diagram for PRunNonMusr:</div>
|
||
<div class="dyncontent">
|
||
<div class="center"><img src="classPRunNonMusr__coll__graph.png" border="0" usemap="#aPRunNonMusr_coll__map" alt="Collaboration graph"/></div>
|
||
<map name="aPRunNonMusr_coll__map" id="aPRunNonMusr_coll__map">
|
||
<area shape="rect" title="Class for fitting general x-y data sets (non-μSR time series)." alt="" coords="1100,269,1207,297"/>
|
||
<area shape="rect" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types." alt="" coords="875,192,955,220"/>
|
||
<area shape="poly" title=" " alt="" coords="971,221,1109,266,1107,271,969,226"/>
|
||
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="313,84,414,112"/>
|
||
<area shape="poly" title=" " alt="" coords="429,98,512,104,616,116,728,136,839,165,892,189,890,194,837,170,727,141,615,122,512,110,429,103"/>
|
||
<area shape="rect" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data." alt="" coords="578,49,708,77"/>
|
||
<area shape="poly" title=" " alt="" coords="428,87,578,68,579,74,429,92"/>
|
||
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="21,5,142,33"/>
|
||
<area shape="poly" title=" " alt="" coords="158,27,219,39,283,57,337,81,335,86,281,62,218,44,157,32"/>
|
||
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="19,57,144,85"/>
|
||
<area shape="poly" title=" " alt="" coords="160,76,313,90,312,96,159,81"/>
|
||
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="7,109,156,137"/>
|
||
<area shape="poly" title=" " alt="" coords="171,122,281,115,312,109,313,114,282,120,171,127"/>
|
||
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="5,161,158,189"/>
|
||
<area shape="poly" title=" " alt="" coords="173,167,227,159,281,144,314,128,342,110,345,115,316,133,283,149,228,164,174,173"/>
|
||
<area shape="rect" href="classPMsrRunBlock.html" title=" " alt="" coords="590,165,697,193"/>
|
||
<area shape="poly" title=" " alt="" coords="712,183,875,199,874,205,711,188"/>
|
||
<area shape="poly" title=" " alt="" coords="724,62,783,72,812,83,840,97,865,118,885,144,910,190,905,193,880,146,861,122,837,101,810,88,781,78,723,67"/>
|
||
<area shape="rect" href="structPAny2ManyInfo.html" title=" " alt="" coords="306,12,421,40"/>
|
||
<area shape="poly" title=" " alt="" coords="437,33,578,52,578,57,436,38"/>
|
||
<area shape="rect" href="classPRunData.html" title=" " alt="" coords="603,217,683,245"/>
|
||
<area shape="poly" title=" " alt="" coords="699,230,766,229,838,223,874,215,875,220,839,228,766,234,699,236"/>
|
||
<area shape="rect" href="structPMetaData.html" title=" " alt="" coords="600,269,687,297"/>
|
||
<area shape="poly" title=" " alt="" coords="702,279,768,271,837,252,869,236,895,218,898,222,871,241,839,257,769,276,703,284"/>
|
||
<area shape="rect" href="classPRawRunData.html" title=" " alt="" coords="862,321,968,349"/>
|
||
<area shape="poly" title=" " alt="" coords="982,318,1099,292,1100,297,983,323"/>
|
||
<area shape="rect" href="classPNonMusrRawRunData.html" title=" " alt="" coords="563,321,723,349"/>
|
||
<area shape="poly" title=" " alt="" coords="739,332,862,332,862,338,739,338"/>
|
||
<area shape="rect" href="classPRawRunDataVector.html" title=" " alt="" coords="571,373,715,401"/>
|
||
<area shape="poly" title=" " alt="" coords="730,374,838,355,868,347,869,352,839,360,731,379"/>
|
||
</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:a572cab5a3df38155aacf96b1ec682748" id="r_a572cab5a3df38155aacf96b1ec682748"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a572cab5a3df38155aacf96b1ec682748">PRunNonMusr</a> ()</td></tr>
|
||
<tr class="memdesc:a572cab5a3df38155aacf96b1ec682748"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor creating an empty, invalid non-μSR run object. <br /></td></tr>
|
||
<tr class="separator:a572cab5a3df38155aacf96b1ec682748"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab22b9935426c534d81354cc9b6188eb5" id="r_ab22b9935426c534d81354cc9b6188eb5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab22b9935426c534d81354cc9b6188eb5">PRunNonMusr</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, <a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *rawData, UInt_t runNo, <a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> tag, Bool_t theoAsData)</td></tr>
|
||
<tr class="memdesc:ab22b9935426c534d81354cc9b6188eb5"><td class="mdescLeft"> </td><td class="mdescRight">Main constructor initializing a non-μSR run from MSR file and data. <br /></td></tr>
|
||
<tr class="separator:ab22b9935426c534d81354cc9b6188eb5"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a316d03dff2da6960dceb5547e51f1b6c" id="r_a316d03dff2da6960dceb5547e51f1b6c"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="#a316d03dff2da6960dceb5547e51f1b6c">~PRunNonMusr</a> ()</td></tr>
|
||
<tr class="memdesc:a316d03dff2da6960dceb5547e51f1b6c"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor (no cleanup needed for this class). <br /></td></tr>
|
||
<tr class="separator:a316d03dff2da6960dceb5547e51f1b6c"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a96e6f1a97aa59ec212b7d968cf3ab7ce" id="r_a96e6f1a97aa59ec212b7d968cf3ab7ce"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce">CalcChiSquare</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:a96e6f1a97aa59ec212b7d968cf3ab7ce"><td class="mdescLeft"> </td><td class="mdescRight">Calculates χ² between non-μSR data and theory. <br /></td></tr>
|
||
<tr class="separator:a96e6f1a97aa59ec212b7d968cf3ab7ce"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a70dba55e9a1bd168ceb632246034faf8" id="r_a70dba55e9a1bd168ceb632246034faf8"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a70dba55e9a1bd168ceb632246034faf8">CalcChiSquareExpected</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:a70dba55e9a1bd168ceb632246034faf8"><td class="mdescLeft"> </td><td class="mdescRight">Calculates expected χ² (NOT IMPLEMENTED for non-μSR). <br /></td></tr>
|
||
<tr class="separator:a70dba55e9a1bd168ceb632246034faf8"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ad165c1dbf84a0bfe727397b580bbbac6" id="r_ad165c1dbf84a0bfe727397b580bbbac6"><td class="memItemLeft" align="right" valign="top">virtual Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad165c1dbf84a0bfe727397b580bbbac6">CalcMaxLikelihood</a> (const std::vector< Double_t > &par)</td></tr>
|
||
<tr class="memdesc:ad165c1dbf84a0bfe727397b580bbbac6"><td class="mdescLeft"> </td><td class="mdescRight">Calculates maximum likelihood (NOT IMPLEMENTED for non-μSR). <br /></td></tr>
|
||
<tr class="separator:ad165c1dbf84a0bfe727397b580bbbac6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aa3676fa9e46a168a9c1195d410da6e3a" id="r_aa3676fa9e46a168a9c1195d410da6e3a"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa3676fa9e46a168a9c1195d410da6e3a">CalcTheory</a> ()</td></tr>
|
||
<tr class="memdesc:aa3676fa9e46a168a9c1195d410da6e3a"><td class="mdescLeft"> </td><td class="mdescRight">Evaluates theory function (empty implementation for non-μSR). <br /></td></tr>
|
||
<tr class="separator:aa3676fa9e46a168a9c1195d410da6e3a"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a369aea4106aed7e34f3641758f974fb1" id="r_a369aea4106aed7e34f3641758f974fb1"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a369aea4106aed7e34f3641758f974fb1">GetNoOfFitBins</a> ()</td></tr>
|
||
<tr class="memdesc:a369aea4106aed7e34f3641758f974fb1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of x-y points within the fit range. <br /></td></tr>
|
||
<tr class="separator:a369aea4106aed7e34f3641758f974fb1"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a7f4dd0c479e81de92c3e1f6db9755126" id="r_a7f4dd0c479e81de92c3e1f6db9755126"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f4dd0c479e81de92c3e1f6db9755126">SetFitRangeBin</a> (const TString fitRange)</td></tr>
|
||
<tr class="memdesc:a7f4dd0c479e81de92c3e1f6db9755126"><td class="mdescLeft"> </td><td class="mdescRight">Sets fit range in bin units (NOT SUPPORTED for non-μSR). <br /></td></tr>
|
||
<tr class="separator:a7f4dd0c479e81de92c3e1f6db9755126"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:abbead53f0cd23629b4ebbb32eeb95f8f" id="r_abbead53f0cd23629b4ebbb32eeb95f8f"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#abbead53f0cd23629b4ebbb32eeb95f8f">GetXIndex</a> ()</td></tr>
|
||
<tr class="memdesc:abbead53f0cd23629b4ebbb32eeb95f8f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the x-axis column index from MSR file specification. <br /></td></tr>
|
||
<tr class="separator:abbead53f0cd23629b4ebbb32eeb95f8f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:adecf789d1b829fa706cc646fc07d9fce" id="r_adecf789d1b829fa706cc646fc07d9fce"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#adecf789d1b829fa706cc646fc07d9fce">GetYIndex</a> ()</td></tr>
|
||
<tr class="memdesc:adecf789d1b829fa706cc646fc07d9fce"><td class="mdescLeft"> </td><td class="mdescRight">Returns the y-axis column index from MSR file specification. <br /></td></tr>
|
||
<tr class="separator:adecf789d1b829fa706cc646fc07d9fce"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="inherit_header pub_methods_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classPRunBase')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase" id="r_ae5fc9bd22de779aff2bbbcbf14b90d42"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ae5fc9bd22de779aff2bbbcbf14b90d42">PRunBase</a> ()</td></tr>
|
||
<tr class="memdesc:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
||
<tr class="separator:ae5fc9bd22de779aff2bbbcbf14b90d42 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase" id="r_a3f9caf361812bebe3f63146878e28b18"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a3f9caf361812bebe3f63146878e28b18">PRunBase</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, <a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *rawData, UInt_t runNo, <a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> tag)</td></tr>
|
||
<tr class="memdesc:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Constructor initializing run from MSR file and raw data. <br /></td></tr>
|
||
<tr class="separator:a3f9caf361812bebe3f63146878e28b18 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase" id="r_a1048c017a4891ed5ca092377f73fa83a"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a1048c017a4891ed5ca092377f73fa83a">~PRunBase</a> ()</td></tr>
|
||
<tr class="memdesc:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br /></td></tr>
|
||
<tr class="separator:a1048c017a4891ed5ca092377f73fa83a inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase" id="r_a59cbd8ad7cb144c99c1dccefa4e200ff"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff">SetFitRange</a> (<a class="el" href="PMusr_8h.html#a93e3841e16074fd3c7648d8fc7b742f4">PDoublePairVector</a> fitRange)</td></tr>
|
||
<tr class="memdesc:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Sets the fit time range for this run. <br /></td></tr>
|
||
<tr class="separator:a59cbd8ad7cb144c99c1dccefa4e200ff inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase" id="r_ac452c100e88628bad5a6017ae08b5bcb"><td class="memItemLeft" align="right" valign="top">virtual UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac452c100e88628bad5a6017ae08b5bcb">GetRunNo</a> ()</td></tr>
|
||
<tr class="memdesc:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns the run number (0-based index in MSR file). <br /></td></tr>
|
||
<tr class="separator:ac452c100e88628bad5a6017ae08b5bcb inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase" id="r_ae3e949dbc18ee0596270d059f5d6a2c1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPRunData.html">PRunData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ae3e949dbc18ee0596270d059f5d6a2c1">GetData</a> ()</td></tr>
|
||
<tr class="memdesc:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns pointer to processed data container. <br /></td></tr>
|
||
<tr class="separator:ae3e949dbc18ee0596270d059f5d6a2c1 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase" id="r_a0b2209bc7e4adf26ad448b78d726c366"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a0b2209bc7e4adf26ad448b78d726c366">CleanUp</a> ()</td></tr>
|
||
<tr class="memdesc:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Cleans up internal data structures. <br /></td></tr>
|
||
<tr class="separator:a0b2209bc7e4adf26ad448b78d726c366 inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase" id="r_a269787baf9a101ce181ef0b5a79b9e0d"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a269787baf9a101ce181ef0b5a79b9e0d">IsValid</a> ()</td></tr>
|
||
<tr class="memdesc:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Returns validity status of this run object. <br /></td></tr>
|
||
<tr class="separator:a269787baf9a101ce181ef0b5a79b9e0d inherit pub_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
|
||
Protected Member Functions</h2></td></tr>
|
||
<tr class="memitem:a401b4504aa3c0623193543a64b3e691f" id="r_a401b4504aa3c0623193543a64b3e691f"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a401b4504aa3c0623193543a64b3e691f">PrepareData</a> ()</td></tr>
|
||
<tr class="memdesc:a401b4504aa3c0623193543a64b3e691f"><td class="mdescLeft"> </td><td class="mdescRight">Main data preparation orchestrator for non-μSR data. <br /></td></tr>
|
||
<tr class="separator:a401b4504aa3c0623193543a64b3e691f"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af11f8911d67bcc572f27480fd695caa0" id="r_af11f8911d67bcc572f27480fd695caa0"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#af11f8911d67bcc572f27480fd695caa0">PrepareFitData</a> ()</td></tr>
|
||
<tr class="memdesc:af11f8911d67bcc572f27480fd695caa0"><td class="mdescLeft"> </td><td class="mdescRight">Prepares x-y data for fitting. <br /></td></tr>
|
||
<tr class="separator:af11f8911d67bcc572f27480fd695caa0"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aa5e94fcde88bf20fe1f29041b4fea3ea" id="r_aa5e94fcde88bf20fe1f29041b4fea3ea"><td class="memItemLeft" align="right" valign="top">virtual Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5e94fcde88bf20fe1f29041b4fea3ea">PrepareViewData</a> ()</td></tr>
|
||
<tr class="memdesc:aa5e94fcde88bf20fe1f29041b4fea3ea"><td class="mdescLeft"> </td><td class="mdescRight">Prepares x-y data for viewing/plotting. <br /></td></tr>
|
||
<tr class="separator:aa5e94fcde88bf20fe1f29041b4fea3ea"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="inherit_header pro_methods_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classPRunBase')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase" id="r_ac035dac111f8726a36bafe86b2181054"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac035dac111f8726a36bafe86b2181054">CalculateKaiserFilterCoeff</a> (Double_t wc, Double_t A, Double_t dw)</td></tr>
|
||
<tr class="memdesc:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Calculates Kaiser window FIR filter coefficients for RRF smoothing. <br /></td></tr>
|
||
<tr class="separator:ac035dac111f8726a36bafe86b2181054 inherit pro_methods_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase" id="r_af75ae97c44331887fa56ee247d8e92ac"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af75ae97c44331887fa56ee247d8e92ac">FilterTheo</a> ()</td></tr>
|
||
<tr class="memdesc:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Applies Kaiser FIR filter to theory values for RRF fits. <br /></td></tr>
|
||
<tr class="separator:af75ae97c44331887fa56ee247d8e92ac inherit pro_methods_classPRunBase"><td class="memSeparator" colspan="2"> </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:a3ff9297ed19914ea7e343ff066013a79" id="r_a3ff9297ed19914ea7e343ff066013a79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRawRunData.html">PRawRunData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ff9297ed19914ea7e343ff066013a79">fRawRunData</a></td></tr>
|
||
<tr class="memdesc:a3ff9297ed19914ea7e343ff066013a79"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to raw run data handler (not owned). <br /></td></tr>
|
||
<tr class="separator:a3ff9297ed19914ea7e343ff066013a79"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aeece3f2ab402eee083fb993e3bd0ecfb" id="r_aeece3f2ab402eee083fb993e3bd0ecfb"><td class="memItemLeft" align="right" valign="top">UInt_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#aeece3f2ab402eee083fb993e3bd0ecfb">fNoOfFitBins</a></td></tr>
|
||
<tr class="memdesc:aeece3f2ab402eee083fb993e3bd0ecfb"><td class="mdescLeft"> </td><td class="mdescRight">Number of x-y points within fit range (fFitStartTime ≤ x ≤ fFitEndTime) <br /></td></tr>
|
||
<tr class="separator:aeece3f2ab402eee083fb993e3bd0ecfb"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4d8ff4636a25d53cc64e9242029be0f1" id="r_a4d8ff4636a25d53cc64e9242029be0f1"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d8ff4636a25d53cc64e9242029be0f1">fPacking</a></td></tr>
|
||
<tr class="memdesc:a4d8ff4636a25d53cc64e9242029be0f1"><td class="mdescLeft"> </td><td class="mdescRight">Data point averaging/grouping factor. <br /></td></tr>
|
||
<tr class="separator:a4d8ff4636a25d53cc64e9242029be0f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a46a407a67df2ce621fb782f7e40d20f8" id="r_a46a407a67df2ce621fb782f7e40d20f8"><td class="memItemLeft" align="right" valign="top">Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a46a407a67df2ce621fb782f7e40d20f8">fTheoAsData</a></td></tr>
|
||
<tr class="memdesc:a46a407a67df2ce621fb782f7e40d20f8"><td class="mdescLeft"> </td><td class="mdescRight">Theory calculation mode flag. <br /></td></tr>
|
||
<tr class="separator:a46a407a67df2ce621fb782f7e40d20f8"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a2e97fab2b7f1533858426c7d5280a8d2" id="r_a2e97fab2b7f1533858426c7d5280a8d2"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e97fab2b7f1533858426c7d5280a8d2">fStartTimeBin</a></td></tr>
|
||
<tr class="memdesc:a2e97fab2b7f1533858426c7d5280a8d2"><td class="mdescLeft"> </td><td class="mdescRight">Index of first data point in fit range. <br /></td></tr>
|
||
<tr class="separator:a2e97fab2b7f1533858426c7d5280a8d2"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a8b9812c7a91d00e9886ea524673dd247" id="r_a8b9812c7a91d00e9886ea524673dd247"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8b9812c7a91d00e9886ea524673dd247">fEndTimeBin</a></td></tr>
|
||
<tr class="memdesc:a8b9812c7a91d00e9886ea524673dd247"><td class="mdescLeft"> </td><td class="mdescRight">Index of last data point in fit range (inclusive). <br /></td></tr>
|
||
<tr class="separator:a8b9812c7a91d00e9886ea524673dd247"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table><table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
|
||
Additional Inherited Members</h2></td></tr>
|
||
<tr class="inherit_header pro_attribs_classPRunBase"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classPRunBase')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classPRunBase.html">PRunBase</a></td></tr>
|
||
<tr class="memitem:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase" id="r_a12aa647fe8c42bff6712a1b065d40e9d"><td class="memItemLeft" align="right" valign="top">Bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a12aa647fe8c42bff6712a1b065d40e9d">fValid</a></td></tr>
|
||
<tr class="memdesc:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Flag indicating if run object initialized successfully; false if any error occurred. <br /></td></tr>
|
||
<tr class="separator:a12aa647fe8c42bff6712a1b065d40e9d inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase" id="r_ab6465ea668810646cd74b40a4e25ca42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ab6465ea668810646cd74b40a4e25ca42">fHandleTag</a></td></tr>
|
||
<tr class="memdesc:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Operation mode: kFit (fitting), kView (display only), kEmpty (uninitialized) <br /></td></tr>
|
||
<tr class="separator:ab6465ea668810646cd74b40a4e25ca42 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase" id="r_aeccaae88c9db0804981e1bd3f81fc57a"><td class="memItemLeft" align="right" valign="top">Int_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#aeccaae88c9db0804981e1bd3f81fc57a">fRunNo</a></td></tr>
|
||
<tr class="memdesc:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Run number (0-based index in MSR file RUN blocks) <br /></td></tr>
|
||
<tr class="separator:aeccaae88c9db0804981e1bd3f81fc57a inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase" id="r_a6deb4b8c63d7754ab2222659e2920631"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a6deb4b8c63d7754ab2222659e2920631">fMsrInfo</a></td></tr>
|
||
<tr class="memdesc:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to MSR file handler (owned externally, not deleted here) <br /></td></tr>
|
||
<tr class="separator:a6deb4b8c63d7754ab2222659e2920631 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase" id="r_af1a2a02da26466564461e7a34267387f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrRunBlock.html">PMsrRunBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af1a2a02da26466564461e7a34267387f">fRunInfo</a></td></tr>
|
||
<tr class="memdesc:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to this run's RUN block settings within fMsrInfo. <br /></td></tr>
|
||
<tr class="separator:af1a2a02da26466564461e7a34267387f inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase" id="r_ac8852c15177607e0d4383fc2e69e8ef7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac8852c15177607e0d4383fc2e69e8ef7">fRawData</a></td></tr>
|
||
<tr class="memdesc:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to raw data handler (owned externally, not deleted here) <br /></td></tr>
|
||
<tr class="separator:ac8852c15177607e0d4383fc2e69e8ef7 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase" id="r_ac2cb35c79fbebe631fdb565946417eed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPRunData.html">PRunData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ac2cb35c79fbebe631fdb565946417eed">fData</a></td></tr>
|
||
<tr class="memdesc:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Processed data container: background-corrected, packed, with theory values. <br /></td></tr>
|
||
<tr class="separator:ac2cb35c79fbebe631fdb565946417eed inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase" id="r_a0ec9b72abc7a54f1e0f4c12d45bb0357"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a0ec9b72abc7a54f1e0f4c12d45bb0357">fTimeResolution</a></td></tr>
|
||
<tr class="memdesc:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time resolution of raw histogram data in microseconds (μs), e.g., 0.01953125 μs for PSI GPS. <br /></td></tr>
|
||
<tr class="separator:a0ec9b72abc7a54f1e0f4c12d45bb0357 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase" id="r_a8752e8f10acb6a675a22f45881faa044"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structPMetaData.html">PMetaData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a8752e8f10acb6a675a22f45881faa044">fMetaData</a></td></tr>
|
||
<tr class="memdesc:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Experimental metadata extracted from data file header (magnetic field, temperature, beam energy) <br /></td></tr>
|
||
<tr class="separator:a8752e8f10acb6a675a22f45881faa044 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase" id="r_ad3be9a269b89805d9e1a5ffa1a8d6ec9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ad3be9a269b89805d9e1a5ffa1a8d6ec9">fT0s</a></td></tr>
|
||
<tr class="memdesc:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time-zero bin values for all histograms in this run (forward, backward, etc.) <br /></td></tr>
|
||
<tr class="separator:ad3be9a269b89805d9e1a5ffa1a8d6ec9 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase" id="r_ab5f96afcdca519f9a33a9fd9a3a6c67d"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#ab5f96afcdca519f9a33a9fd9a3a6c67d">fAddT0s</a></td></tr>
|
||
<tr class="memdesc:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Time-zero bin values for additional runs to be added to main run. <br /></td></tr>
|
||
<tr class="separator:ab5f96afcdca519f9a33a9fd9a3a6c67d inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase" id="r_af4a626805d2fbd201472f0487474bb40"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#af4a626805d2fbd201472f0487474bb40">fFitStartTime</a></td></tr>
|
||
<tr class="memdesc:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Fit range start time in microseconds (μs) relative to t0. <br /></td></tr>
|
||
<tr class="separator:af4a626805d2fbd201472f0487474bb40 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase" id="r_a4736fa656bba18cc5b61a1273ac839d4"><td class="memItemLeft" align="right" valign="top">Double_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a4736fa656bba18cc5b61a1273ac839d4">fFitEndTime</a></td></tr>
|
||
<tr class="memdesc:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Fit range end time in microseconds (μs) relative to t0. <br /></td></tr>
|
||
<tr class="separator:a4736fa656bba18cc5b61a1273ac839d4 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase" id="r_a4756c8b6e7d3764587f57bc62f48f719"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a4756c8b6e7d3764587f57bc62f48f719">fFuncValues</a></td></tr>
|
||
<tr class="memdesc:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Cached values of user-defined functions from FUNCTIONS block, evaluated at current parameters. <br /></td></tr>
|
||
<tr class="separator:a4756c8b6e7d3764587f57bc62f48f719 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase" id="r_a96aeb9099bceb6456c90d5b03d2dc3ec"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classPTheory.html">PTheory</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a96aeb9099bceb6456c90d5b03d2dc3ec">fTheory</a></td></tr>
|
||
<tr class="memdesc:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Theory function evaluator (smart pointer, automatically deleted) <br /></td></tr>
|
||
<tr class="separator:a96aeb9099bceb6456c90d5b03d2dc3ec inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
<tr class="memitem:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase" id="r_a51b5de438b62d959ef02c23daadbb860"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPRunBase.html#a51b5de438b62d959ef02c23daadbb860">fKaiserFilter</a></td></tr>
|
||
<tr class="memdesc:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase"><td class="mdescLeft"> </td><td class="mdescRight">Kaiser window FIR filter coefficients for smoothing RRF theory curves. <br /></td></tr>
|
||
<tr class="separator:a51b5de438b62d959ef02c23daadbb860 inherit pro_attribs_classPRunBase"><td class="memSeparator" colspan="2"> </td></tr>
|
||
</table>
|
||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||
<div class="textblock"><p>Class for fitting general x-y data sets (non-μSR time series). </p>
|
||
<p><a class="el" href="classPRunNonMusr.html" title="Class for fitting general x-y data sets (non-μSR time series).">PRunNonMusr</a> extends the musrfit framework to handle arbitrary x-y data that doesn't originate from μSR experiments. This allows users to leverage musrfit's powerful fitting engine, theory functions, and MINUIT interface for general curve fitting tasks.</p>
|
||
<h1><a class="anchor" id="nonmusr_purpose"></a>
|
||
Purpose and Use Cases</h1>
|
||
<p>This fit type is designed for:</p><ul>
|
||
<li><b>General time-series data:</b> Any x vs. y measurements</li>
|
||
<li><b>Non-μSR physics:</b> Other experimental data (e.g., optical, electrical, thermal)</li>
|
||
<li><b>Reusing μSR theory functions:</b> Apply exponentials, oscillations, relaxations to non-μSR data</li>
|
||
<li><b>Custom data analysis:</b> Fit arbitrary functional forms to experimental data</li>
|
||
<li><b>Method validation:</b> Test fitting procedures on simulated or benchmark data</li>
|
||
</ul>
|
||
<h1><a class="anchor" id="nonmusr_data"></a>
|
||
Data Structure</h1>
|
||
<p>Unlike μSR fits, non-μSR data is provided as simple x-y pairs:</p><ul>
|
||
<li><b>x-axis:</b> Independent variable (time, temperature, field, voltage, etc.)</li>
|
||
<li><b>y-axis:</b> Dependent variable (signal, counts, current, etc.)</li>
|
||
<li><b>Errors:</b> Optional error bars on y-values</li>
|
||
<li><b>No histograms:</b> Data is already processed, not raw detector counts</li>
|
||
<li><b>No t0:</b> No time-zero concept (not time-differential μSR)</li>
|
||
<li><b>No asymmetry:</b> Direct fitting of y vs. x</li>
|
||
</ul>
|
||
<h1><a class="anchor" id="nonmusr_input"></a>
|
||
Data Input Formats</h1>
|
||
<p>Non-μSR data can be loaded from:</p><ul>
|
||
<li><b>ASCII files:</b> Space/tab-separated columns (x, y, err)</li>
|
||
<li><b>DB files:</b> Database format with metadata</li>
|
||
<li><b>MuSonRoot files:</b> Special ROOT structure for non-μSR data</li>
|
||
</ul>
|
||
<p>ASCII format example: </p><div class="fragment"><div class="line"><span class="preprocessor"># x-axis y-axis error</span></div>
|
||
<div class="line">0.0 100.5 3.2</div>
|
||
<div class="line">0.1 95.3 3.1</div>
|
||
<div class="line">0.2 90.8 3.0</div>
|
||
<div class="line">...</div>
|
||
</div><!-- fragment --><h1><a class="anchor" id="nonmusr_msr"></a>
|
||
MSR File Configuration</h1>
|
||
<p>Example MSR file RUN block for non-μSR data: </p><div class="fragment"><div class="line">RUN data/mydata.dat DB PSI MUSR-ROOT (name beamline)</div>
|
||
<div class="line"> fittype 12 (NonMusr)</div>
|
||
<div class="line"> map 1 2 (x-index, y-index in data columns)</div>
|
||
<div class="line"> xy-data 0 1 (column 0 = x, column 1 = y)</div>
|
||
<div class="line"> packing 1 (usually 1 <span class="keywordflow">for</span> pre-processed data)</div>
|
||
<div class="line"> fit 0.0 10.0 (fit range in x-axis units)</div>
|
||
</div><!-- fragment --><h1><a class="anchor" id="nonmusr_theory"></a>
|
||
Theory Functions</h1>
|
||
<p>All standard musrfit theory functions can be used:</p><ul>
|
||
<li><b>Exponentials:</b> decay, growth, stretched exponentials</li>
|
||
<li><b>Oscillations:</b> cosine, sine, damped oscillations</li>
|
||
<li><b>Relaxations:</b> static/dynamic Gaussian/Lorentzian Kubo-Toyabe</li>
|
||
<li><b>Polynomials:</b> backgrounds, baselines</li>
|
||
<li><b>User functions:</b> Custom C++ functions</li>
|
||
</ul>
|
||
<p>Theory is evaluated at the x-values from the data file.</p>
|
||
<h1><a class="anchor" id="nonmusr_differences"></a>
|
||
Key Differences from μSR Fits</h1>
|
||
<table class="doxtable">
|
||
<tr>
|
||
<th>Feature</th><th>μSR Fits</th><th>Non-μSR Fits </th></tr>
|
||
<tr>
|
||
<td>Data type</td><td>Raw histograms</td><td>Processed x-y pairs </td></tr>
|
||
<tr>
|
||
<td>Time zero (t0)</td><td>Required</td><td>Not applicable </td></tr>
|
||
<tr>
|
||
<td>Background</td><td>Estimated/subtracted</td><td>Included in y-data </td></tr>
|
||
<tr>
|
||
<td>Asymmetry</td><td>Calculated</td><td>Not applicable </td></tr>
|
||
<tr>
|
||
<td>Packing</td><td>Rebin histograms</td><td>Average x-y points </td></tr>
|
||
<tr>
|
||
<td>Fit range</td><td>Time (μs)</td><td>x-axis units (arbitrary) </td></tr>
|
||
<tr>
|
||
<td>ADDRUN</td><td>Supported</td><td>NOT supported </td></tr>
|
||
</table>
|
||
<h1><a class="anchor" id="nonmusr_limitations"></a>
|
||
Limitations</h1>
|
||
<ul>
|
||
<li><b>No ADDRUN:</b> Cannot combine multiple non-μSR data sets</li>
|
||
<li><b>No maximum likelihood:</b> Only χ² fitting supported (not implemented for non-μSR)</li>
|
||
<li><b>No expected χ²:</b> Not implemented (unclear definition for general data)</li>
|
||
<li><b>Simple error handling:</b> Assumes independent Gaussian errors</li>
|
||
</ul>
|
||
<h1><a class="anchor" id="nonmusr_workflow"></a>
|
||
Analysis Workflow</h1>
|
||
<ol type="1">
|
||
<li><b>Prepare Data:</b> Format as x-y(-error) columns in ASCII/DB file</li>
|
||
<li><b>Create MSR File:</b> Specify file, fit type (12), xy-data indices, fit range</li>
|
||
<li><b>Define Theory:</b> Use standard THEORY block functions</li>
|
||
<li><b>Run Fit:</b> musrfit performs χ² minimization via MINUIT</li>
|
||
<li><b>Analyze Results:</b> Standard parameter extraction, error analysis, plotting</li>
|
||
</ol>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRunSingleHisto.html" title="Class for fitting single detector histograms (basic time-differential μSR).">PRunSingleHisto</a> for standard μSR single histogram fits </dd>
|
||
<dd>
|
||
<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> for base class interface and common functionality </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00132">132</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
<a id="a572cab5a3df38155aacf96b1ec682748" name="a572cab5a3df38155aacf96b1ec682748"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a572cab5a3df38155aacf96b1ec682748">◆ </a></span>PRunNonMusr() <span class="overload">[1/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunNonMusr::PRunNonMusr </td>
|
||
<td>(</td>
|
||
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Default constructor creating an empty, invalid non-μSR run object. </p>
|
||
<p>Initializes all member variables to default values:</p><ul>
|
||
<li>Bin counts set to 0</li>
|
||
<li>Packing set to 1 (no packing for x-y data)</li>
|
||
<li>Handle tag set to kEmpty</li>
|
||
<li>Raw data pointer set to nullptr</li>
|
||
</ul>
|
||
<p>This constructor is needed for creating vectors of <a class="el" href="classPRunNonMusr.html" title="Class for fitting general x-y data sets (non-μSR time series).">PRunNonMusr</a> objects. The resulting object cannot be used until properly initialized via the main constructor.</p>
|
||
<p>Initializes all member variables to default/safe values:</p><ul>
|
||
<li>fNoOfFitBins = 0 (no bins to fit)</li>
|
||
<li>fPacking = 1 (no data averaging)</li>
|
||
<li>fStartTimeBin = 0 (first data point)</li>
|
||
<li>fEndTimeBin = 0 (no range)</li>
|
||
<li>fHandleTag = kEmpty (uninitialized)</li>
|
||
<li>fRawRunData = nullptr (no data loaded)</li>
|
||
</ul>
|
||
<p>This constructor is needed for creating vectors of <a class="el" href="classPRunNonMusr.html" title="Class for fitting general x-y data sets (non-μSR time series).">PRunNonMusr</a> objects. The resulting object cannot be used until properly initialized via the main constructor.</p>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ab22b9935426c534d81354cc9b6188eb5" title="Main constructor initializing a non-μSR run from MSR file and data.">PRunNonMusr(PMsrHandler*, PRunDataHandler*, UInt_t, EPMusrHandleTag, Bool_t)</a> </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">54</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunNonMusr_8h_source.html#l00476">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00268">PRunBase::fHandleTag</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00425">fNoOfFitBins</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00446">fPacking</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00466">fStartTimeBin</a>, <a class="el" href="PMusr_8h_source.html#l00414">kEmpty</a>, and <a class="el" href="PRunBase_8cpp_source.html#l00054">PRunBase::PRunBase()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ab22b9935426c534d81354cc9b6188eb5" name="ab22b9935426c534d81354cc9b6188eb5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ab22b9935426c534d81354cc9b6188eb5">◆ </a></span>PRunNonMusr() <span class="overload">[2/2]</span></h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunNonMusr::PRunNonMusr </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"><a class="el" href="classPRunDataHandler.html">PRunDataHandler</a> *</td> <td class="paramname"><span class="paramname"><em>rawData</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"><a class="el" href="PMusr_8h.html#a3168a2cda2474c28fe329358530331ab">EPMusrHandleTag</a></td> <td class="paramname"><span class="paramname"><em>tag</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype">Bool_t</td> <td class="paramname"><span class="paramname"><em>theoAsData</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Main constructor initializing a non-μSR run from MSR file and data. </p>
|
||
<p>Main constructor initializing a non-μSR run from MSR file and x-y data.</p>
|
||
<p>Performs initialization for general x-y data fitting:</p>
|
||
<ol type="1">
|
||
<li><b>Base Class Initialization:</b><ul>
|
||
<li>Calls <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> constructor with MSR/data handlers</li>
|
||
<li>Initializes theory engine</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Raw Data Loading:</b><ul>
|
||
<li>Retrieves raw data using run name from MSR file</li>
|
||
<li>Validates data was successfully loaded</li>
|
||
<li>Marks run invalid if data cannot be loaded</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Data Preparation:</b><ul>
|
||
<li>Calls <a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> to process x-y data</li>
|
||
<li>Extracts x-y columns based on map/xy-data specification</li>
|
||
<li>Applies packing if specified</li>
|
||
<li>Sets up fit range in x-axis units</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
<p>The object is marked as invalid (fValid=false) if:</p><ul>
|
||
<li>Raw data file cannot be loaded</li>
|
||
<li><a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> fails (invalid column indices, missing data, etc.)</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler (must remain valid) </td></tr>
|
||
<tr><td class="paramname">rawData</td><td>Pointer to raw data handler for loading data files </td></tr>
|
||
<tr><td class="paramname">runNo</td><td>Run number (0-based index in MSR file RUN blocks) </td></tr>
|
||
<tr><td class="paramname">tag</td><td>Operation mode: kFit (fitting), kView (display/plotting) </td></tr>
|
||
<tr><td class="paramname">theoAsData</td><td>Theory mode: true = at data points, false = high-resolution</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section warning"><dt>Warning</dt><dd>Check <a class="el" href="classPRunBase.html#a269787baf9a101ce181ef0b5a79b9e0d" title="Returns validity status of this run object.">IsValid()</a> after construction before using for fitting</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> for data processing details</dd></dl>
|
||
<p>Performs comprehensive initialization for general curve fitting:</p>
|
||
<ol type="1">
|
||
<li><b>Base Class Initialization:</b><ul>
|
||
<li>Calls <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> constructor with MSR/data handlers</li>
|
||
<li>Initializes theory engine and parameter mappings</li>
|
||
<li>Sets up FUNCTIONS block evaluation</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Raw Data Loading:</b><ul>
|
||
<li>Retrieves raw x-y data using run name from MSR file</li>
|
||
<li>Calls fRawData->GetRunData(*runName)</li>
|
||
<li>Validates data was successfully loaded</li>
|
||
<li>If loading fails → marks run invalid, prints error</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Data Preparation:</b><ul>
|
||
<li>Calls <a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> to process x-y data</li>
|
||
<li>Extracts x-y columns based on MSR file specification</li>
|
||
<li>Applies packing to average data points</li>
|
||
<li>Sets up fit range boundaries</li>
|
||
<li>If preparation fails → marks run invalid</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
<p>The object is marked as invalid (fValid=false) if:</p><ul>
|
||
<li>Raw data file cannot be loaded (file not found, wrong format, etc.)</li>
|
||
<li><a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> fails (invalid column indices, missing packing, etc.)</li>
|
||
</ul>
|
||
<p>Key features for non-μSR:</p><ul>
|
||
<li>No histogram processing (data is already x-y pairs)</li>
|
||
<li>No time-zero determination (not time-differential)</li>
|
||
<li>No background subtraction (included in y-data)</li>
|
||
<li>No asymmetry calculation (direct y vs. x fitting)</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler (must remain valid for object lifetime) </td></tr>
|
||
<tr><td class="paramname">rawData</td><td>Pointer to raw data handler for loading data files </td></tr>
|
||
<tr><td class="paramname">runNo</td><td>Run number (0-based index in MSR file RUN blocks) </td></tr>
|
||
<tr><td class="paramname">tag</td><td>Operation mode: kFit (fitting), kView (display/plotting) </td></tr>
|
||
<tr><td class="paramname">theoAsData</td><td>Theory mode: true = at data x-values, false = high-resolution (minimal effect for non-μSR)</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section warning"><dt>Warning</dt><dd>Always check <a class="el" href="classPRunBase.html#a269787baf9a101ce181ef0b5a79b9e0d" title="Returns validity status of this run object.">IsValid()</a> after construction before using for fitting</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> for data processing details </dd>
|
||
<dd>
|
||
<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> constructor for base class initialization </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00113">113</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00273">PRunBase::fRawData</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00458">fTheoAsData</a>, <a class="el" href="PRunBase_8h_source.html#l00266">PRunBase::fValid</a>, <a class="el" href="PStartupHandler_8cpp_source.html#l00091">if()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00353">PrepareData()</a>, and <a class="el" href="PRunBase_8cpp_source.html#l00054">PRunBase::PRunBase()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a316d03dff2da6960dceb5547e51f1b6c" name="a316d03dff2da6960dceb5547e51f1b6c"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a316d03dff2da6960dceb5547e51f1b6c">◆ </a></span>~PRunNonMusr()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">PRunNonMusr::~PRunNonMusr </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>Virtual destructor (no cleanup needed for this class). </p>
|
||
<p>Destructor (no cleanup needed for non-μSR).</p>
|
||
<p>Raw data pointer (fRawRunData) is not owned by this class and is not deleted. Base class destructor handles cleanup of theory objects and other shared resources.</p>
|
||
<p>The fRawRunData pointer is not owned by this class and is not deleted here. It is managed by the <a class="el" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data.">PRunDataHandler</a> and will be cleaned up externally.</p>
|
||
<p>Base class destructor (<a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a>) handles cleanup of:</p><ul>
|
||
<li>Theory engine objects</li>
|
||
<li>Parameter mapping structures</li>
|
||
<li>Function value caches </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00143">143</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Function Documentation</h2>
|
||
<a id="a96e6f1a97aa59ec212b7d968cf3ab7ce" name="a96e6f1a97aa59ec212b7d968cf3ab7ce"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a96e6f1a97aa59ec212b7d968cf3ab7ce">◆ </a></span>CalcChiSquare()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunNonMusr::CalcChiSquare </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</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>Calculates χ² between non-μSR data and theory. </p>
|
||
<p>Calculates χ² between non-μSR x-y data and theory.</p>
|
||
<p>Computes the chi-squared statistic for x-y data: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_32_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2 = \sum_{i={\rm start}}^{\rm end} \frac{(y_i^{\rm data} - y_i^{\rm theory})^2}{\sigma_i^2} \]" src="form_32.png"/></picture>
|
||
</p>
|
||
<p>where:</p><ul>
|
||
<li>y_i^data is the measured y-value at x_i</li>
|
||
<li>y_i^theory is the theory function evaluated at x_i</li>
|
||
<li>σ_i is the error on y_i (from data file or assumed)</li>
|
||
<li>Sum runs over all points within fit range (fFitStartTime ≤ x ≤ fFitEndTime)</li>
|
||
</ul>
|
||
<p>Algorithm:</p><ol type="1">
|
||
<li>Evaluate FUNCTIONS block for user-defined functions</li>
|
||
<li>Loop over data points from fStartTimeBin to fEndTimeBin</li>
|
||
<li>For each point:<ul>
|
||
<li>Get x-value from fData.GetX()</li>
|
||
<li>Evaluate theory at that x-value: fTheory->Func(x, par, fFuncValues)</li>
|
||
<li>Compute weighted squared difference</li>
|
||
</ul>
|
||
</li>
|
||
<li>Sum contributions to get total χ²</li>
|
||
</ol>
|
||
<p>Unlike μSR fits, this operates on x-y data directly (not histograms). The x-axis can represent any independent variable (time, temperature, field, etc.), not just time in microseconds.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT with current parameter values </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Chi-squared value (sum of weighted squared residuals)</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>No OpenMP parallelization in this implementation (typically smaller data sets)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ad165c1dbf84a0bfe727397b580bbbac6" title="Calculates maximum likelihood (NOT IMPLEMENTED for non-μSR).">CalcMaxLikelihood()</a> - NOT IMPLEMENTED for non-μSR</dd></dl>
|
||
<p>Computes the chi-squared statistic for general x-y data: </p><p class="formulaDsp">
|
||
<picture><source srcset="form_83_dark.png" media="(prefers-color-scheme: dark)"/><img class="formulaDsp" alt="\[ \chi^2 = \sum_{i={\rm start}}^{\rm end} \frac{(y_i - f(x_i))^2}{\sigma_i^2} \]" src="form_83.png"/></picture>
|
||
</p>
|
||
<p>where:</p><ul>
|
||
<li>x_i is the independent variable (arbitrary units)</li>
|
||
<li>y_i is the measured dependent variable</li>
|
||
<li>f(x_i) is the theory function evaluated at x_i</li>
|
||
<li>σ_i is the error on y_i (from data file)</li>
|
||
</ul>
|
||
<p>Algorithm:</p><ol type="1">
|
||
<li><b>Evaluate FUNCTIONS block:</b><ul>
|
||
<li>Loop over user-defined functions</li>
|
||
<li>Compute function values using current parameters</li>
|
||
<li>Store in fFuncValues for use by theory</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Calculate χ² sum:</b><ul>
|
||
<li>Loop from fStartTimeBin to fEndTimeBin (inclusive)</li>
|
||
<li>For each data point i: a. Get x-value: x = fData.GetX()->at(i) b. Evaluate theory at x: theo = fTheory->Func(x, par, fFuncValues) c. Get data and error: y = fData.GetValue()->at(i), σ = fData.GetError()->at(i) d. Compute contribution: Δχ² = (y - theo)² / σ²</li>
|
||
<li>Sum all contributions</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
<p>Key differences from μSR fits:</p><ul>
|
||
<li>x-axis is arbitrary (not necessarily time in μs)</li>
|
||
<li>Theory evaluated on-demand (not pre-calculated on grid)</li>
|
||
<li>Loop end is INCLUSIVE (i <= fEndTimeBin)</li>
|
||
<li>No OpenMP parallelization (simpler, smaller data sets)</li>
|
||
</ul>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT with current parameter values </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Chi-squared value (minimize during fitting)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#ad165c1dbf84a0bfe727397b580bbbac6" title="Calculates maximum likelihood (NOT IMPLEMENTED for non-μSR).">CalcMaxLikelihood()</a> - NOT IMPLEMENTED for non-μSR </dd>
|
||
<dd>
|
||
<a class="el" href="#a401b4504aa3c0623193543a64b3e691f" title="Main data preparation orchestrator for non-μSR data.">PrepareData()</a> for x-y data loading and fit range setup </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#afb8ed1f6e8beb0530da96012ad3258d3">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00189">189</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00476">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00466">fStartTimeBin</a>, and <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a70dba55e9a1bd168ceb632246034faf8" name="a70dba55e9a1bd168ceb632246034faf8"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a70dba55e9a1bd168ceb632246034faf8">◆ </a></span>CalcChiSquareExpected()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunNonMusr::CalcChiSquareExpected </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</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>Calculates expected χ² (NOT IMPLEMENTED for non-μSR). </p>
|
||
<p>This method is not implemented for general x-y data because the concept of "expected χ²" depends on the underlying statistical distribution, which is not well-defined for arbitrary non-μSR data (unlike Poisson-distributed histogram counts in μSR).</p>
|
||
<p>Calling this method prints a warning message and returns 0.0.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Always returns 0.0</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Implementation would require assumptions about data statistics</dd></dl>
|
||
<p>This method is not implemented because the concept of "expected χ²" requires knowledge of the underlying statistical distribution of the data, which is not well-defined for general x-y data.</p>
|
||
<p>For μSR histogram data, the expected χ² can be calculated based on Poisson statistics. For arbitrary non-μSR data, the appropriate statistical model depends on the data source:</p><ul>
|
||
<li>Counting experiments → Poisson</li>
|
||
<li>Averaged measurements → Gaussian</li>
|
||
<li>Other experiments → problem-specific distributions</li>
|
||
</ul>
|
||
<p>Without knowing the data's statistical nature, a meaningful implementation cannot be provided.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT (unused) </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Always returns 0.0</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Prints "not implemented yet" message to stdout </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a1a15d5f51a874149b0d60798f99449a6">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00235">235</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="ad165c1dbf84a0bfe727397b580bbbac6" name="ad165c1dbf84a0bfe727397b580bbbac6"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#ad165c1dbf84a0bfe727397b580bbbac6">◆ </a></span>CalcMaxLikelihood()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Double_t PRunNonMusr::CalcMaxLikelihood </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const std::vector< Double_t > &</td> <td class="paramname"><span class="paramname"><em>par</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>Calculates maximum likelihood (NOT IMPLEMENTED for non-μSR). </p>
|
||
<p>Maximum likelihood fitting is not implemented for general x-y data because:</p><ul>
|
||
<li>The appropriate likelihood function depends on the data's statistical distribution</li>
|
||
<li>Unlike μSR histograms (Poisson), non-μSR data can have various error models</li>
|
||
<li>Gaussian errors → equivalent to χ² (no advantage)</li>
|
||
<li>Other distributions require user-specified likelihood functions</li>
|
||
</ul>
|
||
<p>Calling this method prints a warning message and returns 1.0.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Always returns 1.0</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Only χ² fitting is supported for non-μSR data</dd></dl>
|
||
<p>Maximum likelihood fitting is not implemented for general x-y data because:</p>
|
||
<ol type="1">
|
||
<li><b>Distribution-dependent:</b> The likelihood function depends on the underlying statistical distribution of the data points, which varies:<ul>
|
||
<li>Poisson: For counting experiments (like μSR histograms)</li>
|
||
<li>Gaussian: For averaged measurements with known errors</li>
|
||
<li>Other: Problem-specific distributions (binomial, exponential, etc.)</li>
|
||
</ul>
|
||
</li>
|
||
<li><b>Gaussian case equivalence:</b> If errors are Gaussian, maximum likelihood is mathematically equivalent to χ² minimization (already implemented).</li>
|
||
<li><b>Implementation complexity:</b> Supporting arbitrary likelihood functions would require users to specify the distribution, adding complexity without clear benefit for most non-μSR applications.</li>
|
||
</ol>
|
||
<p>For general x-y data with Gaussian errors, use χ² fitting via <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a>. For non-Gaussian statistics, users should implement custom fitting outside musrfit.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">par</td><td>Parameter vector from MINUIT (unused) </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>Always returns 1.0</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>Prints "not implemented yet" message to stdout</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> for standard least-squares fitting (recommended for non-μSR) </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a5d7a15b6962e3767860ef9b4c9208201">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00273">273</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aa3676fa9e46a168a9c1195d410da6e3a" name="aa3676fa9e46a168a9c1195d410da6e3a"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aa3676fa9e46a168a9c1195d410da6e3a">◆ </a></span>CalcTheory()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">void PRunNonMusr::CalcTheory </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>Evaluates theory function (empty implementation for non-μSR). </p>
|
||
<p>For non-μSR data, theory calculation is performed directly in <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> rather than pre-calculating and storing theory values. This is because:</p><ul>
|
||
<li>Theory is evaluated at arbitrary x-values (from data file)</li>
|
||
<li>No high-resolution grid needed (data already defines x-points)</li>
|
||
<li>Simpler to evaluate on-demand during χ² calculation</li>
|
||
</ul>
|
||
<p>This method exists to satisfy the <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> interface but does nothing.</p>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> for on-demand theory evaluation</dd></dl>
|
||
<p>For non-μSR data, theory calculation is performed on-demand within <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> rather than pre-calculating and storing theory values.</p>
|
||
<p>This design choice is made because:</p><ul>
|
||
<li>Theory is evaluated at arbitrary x-values from the data file</li>
|
||
<li>No need for high-resolution theory grid (data defines x-points)</li>
|
||
<li>Simpler and more efficient to evaluate during χ² loop</li>
|
||
<li>Avoids storing redundant theory array</li>
|
||
</ul>
|
||
<p>This empty method exists solely to satisfy the <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> interface requirement.</p>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> for on-demand theory evaluation at each data point </dd></dl>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a0dde056d0acd7f0ac4dc12380e4063e7">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00299">299</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a369aea4106aed7e34f3641758f974fb1" name="a369aea4106aed7e34f3641758f974fb1"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a369aea4106aed7e34f3641758f974fb1">◆ </a></span>GetNoOfFitBins()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunNonMusr::GetNoOfFitBins </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>Returns the number of x-y points within the fit range. </p>
|
||
<p>Calculates and returns the number of x-y points within the fit range.</p>
|
||
<p>Counts data points where fFitStartTime ≤ x ≤ fFitEndTime. This count is used for:</p><ul>
|
||
<li>Degrees of freedom: ν = N_points - N_params</li>
|
||
<li>Reduced χ²: χ²_red = χ² / ν</li>
|
||
<li>Statistical quality assessment</li>
|
||
</ul>
|
||
<p>The method loops through all x-values in fData.GetX() and counts those within the specified fit range.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Number of data points within fit range</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#a369aea4106aed7e34f3641758f974fb1" title="Returns the number of x-y points within the fit range.">GetNoOfFitBins()</a> implementation for counting algorithm</dd></dl>
|
||
<p>Counts data points where fFitStartTime ≤ x ≤ fFitEndTime (both inclusive). This count is essential for:</p><ul>
|
||
<li>Degrees of freedom: ν = N_points - N_params</li>
|
||
<li>Reduced χ²: χ²_red = χ² / ν</li>
|
||
<li>Statistical quality assessment: χ²/ν ≈ 1 indicates good fit</li>
|
||
</ul>
|
||
<p>Algorithm:</p><ol type="1">
|
||
<li>Reset counter: fNoOfFitBins = 0</li>
|
||
<li>Loop through all x-values in fData.GetX()</li>
|
||
<li>For each x-value:<ul>
|
||
<li>If fFitStartTime ≤ x ≤ fFitEndTime → increment counter</li>
|
||
</ul>
|
||
</li>
|
||
<li>Return final count</li>
|
||
</ol>
|
||
<p>The fit range (fFitStartTime, fFitEndTime) is specified in the MSR file RUN or GLOBAL block "fit" entry, in the same units as the x-axis data.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Number of data points within fit range</dd></dl>
|
||
<dl class="section note"><dt>Note</dt><dd>This method recalculates the count each time it's called (not cached), allowing for dynamic fit range changes. </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00330">330</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, and <a class="el" href="PRunNonMusr_8h_source.html#l00425">fNoOfFitBins</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="abbead53f0cd23629b4ebbb32eeb95f8f" name="abbead53f0cd23629b4ebbb32eeb95f8f"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#abbead53f0cd23629b4ebbb32eeb95f8f">◆ </a></span>GetXIndex()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunNonMusr::GetXIndex </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>Returns the x-axis column index from MSR file specification. </p>
|
||
<p>Extracts the x-data column index from:</p><ul>
|
||
<li>"xy-data" entry in RUN block (preferred)</li>
|
||
<li>"map" entry first value (fallback)</li>
|
||
<li>Default: 0 (first column)</li>
|
||
</ul>
|
||
<p>The index specifies which column in the data file contains the independent variable (x-axis values).</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Column index for x-axis data (0-based)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#adecf789d1b829fa706cc646fc07d9fce" title="Returns the y-axis column index from MSR file specification.">GetYIndex()</a> for y-axis column</dd></dl>
|
||
<p>Returns the x-axis data index.</p>
|
||
<p><b>return:</b></p><ul>
|
||
<li>x-index </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00640">640</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, and <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="adecf789d1b829fa706cc646fc07d9fce" name="adecf789d1b829fa706cc646fc07d9fce"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#adecf789d1b829fa706cc646fc07d9fce">◆ </a></span>GetYIndex()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunNonMusr::GetYIndex </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>Returns the y-axis column index from MSR file specification. </p>
|
||
<p>Extracts the y-data column index from:</p><ul>
|
||
<li>"xy-data" entry in RUN block (preferred)</li>
|
||
<li>"map" entry second value (fallback)</li>
|
||
<li>Default: 1 (second column)</li>
|
||
</ul>
|
||
<p>The index specifies which column in the data file contains the dependent variable (y-axis values to be fitted).</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>Column index for y-axis data (0-based)</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#abbead53f0cd23629b4ebbb32eeb95f8f" title="Returns the x-axis column index from MSR file specification.">GetXIndex()</a> for x-axis column</dd></dl>
|
||
<p>Returns the y-axis data index.</p>
|
||
<p><b>return:</b></p><ul>
|
||
<li>y-index </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00681">681</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, and <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a401b4504aa3c0623193543a64b3e691f" name="a401b4504aa3c0623193543a64b3e691f"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a401b4504aa3c0623193543a64b3e691f">◆ </a></span>PrepareData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunNonMusr::PrepareData </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 protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Main data preparation orchestrator for non-μSR data. </p>
|
||
<p>Coordinates the data loading and preprocessing pipeline:</p><ol type="1">
|
||
<li>Checks for ADDRUN (warns if present - not supported for non-μSR)</li>
|
||
<li>Retrieves packing parameter from RUN or GLOBAL block</li>
|
||
<li>Retrieves fit range from RUN or GLOBAL block</li>
|
||
<li>Dispatches to <a class="el" href="#af11f8911d67bcc572f27480fd695caa0" title="Prepares x-y data for fitting.">PrepareFitData()</a> or <a class="el" href="#aa5e94fcde88bf20fe1f29041b4fea3ea" title="Prepares x-y data for viewing/plotting.">PrepareViewData()</a> based on tag</li>
|
||
</ol>
|
||
<p>Key validation:</p><ul>
|
||
<li>ADDRUN presence → warning (ignored)</li>
|
||
<li>Missing packing → error (required)</li>
|
||
<li>Missing fit range → acceptable (will use all data)</li>
|
||
</ul>
|
||
<dl class="section return"><dt>Returns</dt><dd>True if data preparation succeeds, false on error</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#af11f8911d67bcc572f27480fd695caa0" title="Prepares x-y data for fitting.">PrepareFitData()</a> for fitting mode processing </dd>
|
||
<dd>
|
||
<a class="el" href="#aa5e94fcde88bf20fe1f29041b4fea3ea" title="Prepares x-y data for viewing/plotting.">PrepareViewData()</a> for viewing mode processing</dd></dl>
|
||
<p>Prepare data for fitting or viewing.</p>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p>Implements <a class="el" href="classPRunBase.html#a108aca748689e37a7e045a770677b517">PRunBase</a>.</p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00353">353</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunBase_8h_source.html#l00268">PRunBase::fHandleTag</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00446">fPacking</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunBase_8h_source.html#l00266">PRunBase::fValid</a>, <a class="el" href="PMusr_8h_source.html#l00415">kFit</a>, <a class="el" href="PMusr_8h_source.html#l00416">kView</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00113">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="af11f8911d67bcc572f27480fd695caa0" name="af11f8911d67bcc572f27480fd695caa0"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#af11f8911d67bcc572f27480fd695caa0">◆ </a></span>PrepareFitData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunNonMusr::PrepareFitData </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 protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Prepares x-y data for fitting. </p>
|
||
<p>Performs data processing for curve fitting:</p><ol type="1">
|
||
<li>Determines x-y column indices via <a class="el" href="#abbead53f0cd23629b4ebbb32eeb95f8f" title="Returns the x-axis column index from MSR file specification.">GetXIndex()</a> and <a class="el" href="#adecf789d1b829fa706cc646fc07d9fce" title="Returns the y-axis column index from MSR file specification.">GetYIndex()</a></li>
|
||
<li>Loads x-y(-error) data from file</li>
|
||
<li>Applies packing if specified:<ul>
|
||
<li>packing = 1: Use data as-is (no averaging)</li>
|
||
<li>packing > 1: Average consecutive points in groups of packing</li>
|
||
</ul>
|
||
</li>
|
||
<li>Packing algorithm for x-values: midpoint of packed range</li>
|
||
<li>Packing algorithm for y-values: sum of packed points</li>
|
||
<li>Packing algorithm for errors: sqrt(sum of squared errors)</li>
|
||
<li>Counts bins within fit range (fFitStartTime ≤ x ≤ fFitEndTime)</li>
|
||
<li>Determines fStartTimeBin and fEndTimeBin indices</li>
|
||
</ol>
|
||
<p>Packing example (packing=3):</p><ul>
|
||
<li>Raw: x=[0, 1, 2, 3, 4, 5], y=[10, 12, 11, 15, 14, 13]</li>
|
||
<li>Packed: x=[1, 4], y=[33, 42] (midpoint, sum)</li>
|
||
</ul>
|
||
<dl class="section return"><dt>Returns</dt><dd>True on success, false if data loading fails</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aa5e94fcde88bf20fe1f29041b4fea3ea" title="Prepares x-y data for viewing/plotting.">PrepareViewData()</a> for viewing mode (may differ in processing)</dd></dl>
|
||
<p>Prepare data for fitting.</p>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">402</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00476">fEndTimeBin</a>, <a class="el" href="PRunBase_8h_source.html#l00282">PRunBase::fFitEndTime</a>, <a class="el" href="PRunBase_8h_source.html#l00281">PRunBase::fFitStartTime</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00425">fNoOfFitBins</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00446">fPacking</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00466">fStartTimeBin</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00640">GetXIndex()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00681">GetYIndex()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00353">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aa5e94fcde88bf20fe1f29041b4fea3ea" name="aa5e94fcde88bf20fe1f29041b4fea3ea"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aa5e94fcde88bf20fe1f29041b4fea3ea">◆ </a></span>PrepareViewData()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunNonMusr::PrepareViewData </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 protected">protected</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Prepares x-y data for viewing/plotting. </p>
|
||
<p>Similar to <a class="el" href="#af11f8911d67bcc572f27480fd695caa0" title="Prepares x-y data for fitting.">PrepareFitData()</a> but optimized for visualization:</p><ul>
|
||
<li>May use different packing for display</li>
|
||
<li>May extend beyond fit range for context</li>
|
||
<li>Less stringent validation</li>
|
||
</ul>
|
||
<p>The exact implementation mirrors <a class="el" href="#af11f8911d67bcc572f27480fd695caa0" title="Prepares x-y data for fitting.">PrepareFitData()</a> for non-μSR, but the separation allows future customization for viewing.</p>
|
||
<dl class="section return"><dt>Returns</dt><dd>True on success, false if data loading fails</dd></dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#af11f8911d67bcc572f27480fd695caa0" title="Prepares x-y data for fitting.">PrepareFitData()</a> for fitting mode processing</dd></dl>
|
||
<p>Prepare data for viewing.</p>
|
||
<p><b>return:</b></p><ul>
|
||
<li>true if everthing went smooth</li>
|
||
<li>false, otherwise. </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">465</a> of file <a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.cpp</a>.</p>
|
||
|
||
<p class="reference">References <a class="el" href="PRunBase_8h_source.html#l00275">PRunBase::fData</a>, <a class="el" href="PRunBase_8h_source.html#l00284">PRunBase::fFuncValues</a>, <a class="el" href="PRunBase_8h_source.html#l00277">PRunBase::fMetaData</a>, <a class="el" href="PRunBase_8h_source.html#l00271">PRunBase::fMsrInfo</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00425">fNoOfFitBins</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00446">fPacking</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00423">fRawRunData</a>, <a class="el" href="PRunBase_8h_source.html#l00272">PRunBase::fRunInfo</a>, <a class="el" href="PRunNonMusr_8h_source.html#l00458">fTheoAsData</a>, <a class="el" href="PRunBase_8h_source.html#l00285">PRunBase::fTheory</a>, <a class="el" href="PMusr_8h_source.html#l01285">PMsrPlotStructure::fTmax</a>, <a class="el" href="PMusr_8h_source.html#l01284">PMsrPlotStructure::fTmin</a>, <a class="el" href="PMusr_8h_source.html#l01279">PMsrPlotStructure::fUseFitRanges</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00640">GetXIndex()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00681">GetYIndex()</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00353">PrepareData()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a7f4dd0c479e81de92c3e1f6db9755126" name="a7f4dd0c479e81de92c3e1f6db9755126"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a7f4dd0c479e81de92c3e1f6db9755126">◆ </a></span>SetFitRangeBin()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">virtual void PRunNonMusr::SetFitRangeBin </td>
|
||
<td>(</td>
|
||
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fitRange</em></span></td><td>)</td>
|
||
<td></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel virtual">virtual</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Sets fit range in bin units (NOT SUPPORTED for non-μSR). </p>
|
||
<p>This method is not meaningful for non-μSR data because:</p><ul>
|
||
<li>Fit range is specified in x-axis units (not bins)</li>
|
||
<li>No "first good bin" or "last good bin" concept (no t0)</li>
|
||
<li>x-values can be non-uniform (arbitrary spacing)</li>
|
||
</ul>
|
||
<p>This empty implementation exists to satisfy the <a class="el" href="classPRunBase.html" title="Abstract base class defining the interface for all μSR fit types.">PRunBase</a> interface. Use <a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff" title="Sets the fit time range for this run.">SetFitRange(PDoublePairVector)</a> in the base class instead.</p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">fitRange</td><td>Fit range string (ignored)</td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRunBase.html#a59cbd8ad7cb144c99c1dccefa4e200ff" title="Sets the fit time range for this run.">PRunBase::SetFitRange()</a> for proper fit range specification </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00310">310</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<h2 class="groupheader">Member Data Documentation</h2>
|
||
<a id="a8b9812c7a91d00e9886ea524673dd247" name="a8b9812c7a91d00e9886ea524673dd247"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a8b9812c7a91d00e9886ea524673dd247">◆ </a></span>fEndTimeBin</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunNonMusr::fEndTimeBin</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 last data point in fit range (inclusive). </p>
|
||
<p>Points to the last x-y pair where x ≤ fFitEndTime. Used as loop end in <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a> (inclusive: i <= fEndTimeBin).</p>
|
||
<dl class="section note"><dt>Note</dt><dd>Unlike μSR fits, this is INCLUSIVE (≤), not exclusive (<) </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00476">476</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00189">CalcChiSquare()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="aeece3f2ab402eee083fb993e3bd0ecfb" name="aeece3f2ab402eee083fb993e3bd0ecfb"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#aeece3f2ab402eee083fb993e3bd0ecfb">◆ </a></span>fNoOfFitBins</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">UInt_t PRunNonMusr::fNoOfFitBins</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>Number of x-y points within fit range (fFitStartTime ≤ x ≤ fFitEndTime) </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00425">425</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00330">GetNoOfFitBins()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a4d8ff4636a25d53cc64e9242029be0f1" name="a4d8ff4636a25d53cc64e9242029be0f1"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a4d8ff4636a25d53cc64e9242029be0f1">◆ </a></span>fPacking</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunNonMusr::fPacking</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>Data point averaging/grouping factor. </p>
|
||
<p>Number of consecutive raw data points to average together:</p><ul>
|
||
<li>1: No packing (use all points as-is)</li>
|
||
<li>> 1: Average groups of packing points</li>
|
||
</ul>
|
||
<p>Packing reduces the number of data points, improving:</p><ul>
|
||
<li>Signal-to-noise ratio (averaging reduces noise)</li>
|
||
<li>Fit speed (fewer points to evaluate)</li>
|
||
</ul>
|
||
<p>But decreases:</p><ul>
|
||
<li>Resolution (fewer x-values)</li>
|
||
</ul>
|
||
<p>Source priority:</p><ol type="1">
|
||
<li>RUN block "packing" entry</li>
|
||
<li>GLOBAL block "packing" entry</li>
|
||
<li>ERROR if neither specified </li>
|
||
</ol>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00446">446</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00353">PrepareData()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a3ff9297ed19914ea7e343ff066013a79" name="a3ff9297ed19914ea7e343ff066013a79"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a3ff9297ed19914ea7e343ff066013a79">◆ </a></span>fRawRunData</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="classPRawRunData.html">PRawRunData</a>* PRunNonMusr::fRawRunData</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 raw run data handler (not owned). </p>
|
||
<p>Provides access to loaded x-y data from file. Retrieved via fRawData->GetRunData(*runName) during construction.</p>
|
||
<p>Contains the fDataNonMusr structure with:</p><ul>
|
||
<li><a class="el" href="classPRunBase.html#ae3e949dbc18ee0596270d059f5d6a2c1" title="Returns pointer to processed data container.">GetData()</a>: Vector of vectors for data columns (x, y, etc.)</li>
|
||
<li>GetErrData(): Vector of vectors for error columns</li>
|
||
</ul>
|
||
<dl class="section warning"><dt>Warning</dt><dd>Not owned by this class - do not delete </dd></dl>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00423">423</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00640">GetXIndex()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00681">GetYIndex()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">PRunNonMusr()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00113">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a2e97fab2b7f1533858426c7d5280a8d2" name="a2e97fab2b7f1533858426c7d5280a8d2"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a2e97fab2b7f1533858426c7d5280a8d2">◆ </a></span>fStartTimeBin</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Int_t PRunNonMusr::fStartTimeBin</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 first data point in fit range. </p>
|
||
<p>Points to the first x-y pair where x ≥ fFitStartTime. Used as loop start in <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a>. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00466">466</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00189">CalcChiSquare()</a>, <a class="el" href="PRunNonMusr_8cpp_source.html#l00402">PrepareFitData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00054">PRunNonMusr()</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
<a id="a46a407a67df2ce621fb782f7e40d20f8" name="a46a407a67df2ce621fb782f7e40d20f8"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a46a407a67df2ce621fb782f7e40d20f8">◆ </a></span>fTheoAsData</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">Bool_t PRunNonMusr::fTheoAsData</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 calculation mode flag. </p>
|
||
<p>Controls theory grid resolution (currently not used for non-μSR):</p><ul>
|
||
<li>true: Theory at data x-values only (efficient)</li>
|
||
<li>false: Theory on high-resolution grid (smooth plotting)</li>
|
||
</ul>
|
||
<p>For non-μSR, theory is always evaluated at data x-values during <a class="el" href="#a96e6f1a97aa59ec212b7d968cf3ab7ce" title="Calculates χ² between non-μSR data and theory.">CalcChiSquare()</a>, so this flag has minimal effect. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="PRunNonMusr_8h_source.html#l00458">458</a> of file <a class="el" href="PRunNonMusr_8h_source.html">PRunNonMusr.h</a>.</p>
|
||
|
||
<p class="reference">Referenced by <a class="el" href="PRunNonMusr_8cpp_source.html#l00465">PrepareViewData()</a>, and <a class="el" href="PRunNonMusr_8cpp_source.html#l00113">PRunNonMusr()</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="PRunNonMusr_8h_source.html">PRunNonMusr.h</a></li>
|
||
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PRunNonMusr_8cpp_source.html">PRunNonMusr.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="classPRunNonMusr.html">PRunNonMusr</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>
|