Files
musrfit/mupp/html/classPmuppScript.html
T
Gitea Actions b6fac619f9 Deploy site
2026-05-28 07:32:41 +00:00

1557 lines
80 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>mupp: PmuppScript 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="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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">mupp<span id="projectnumber">&#160;1.1.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-slots">Public Slots</a> &#124;
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classPmuppScript-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">PmuppScript Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Script interpreter for mupp batch processing.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PmuppScript:</div>
<div class="dyncontent">
<div class="center"><img src="classPmuppScript__inherit__graph.png" border="0" usemap="#aPmuppScript_inherit__map" alt="Inheritance graph"/></div>
<map name="aPmuppScript_inherit__map" id="aPmuppScript_inherit__map">
<area shape="rect" title="Script interpreter for mupp batch processing." alt="" coords="5,81,104,109"/>
<area shape="rect" title=" " alt="" coords="19,5,90,33"/>
<area shape="poly" title=" " alt="" coords="57,49,57,81,52,81,52,49"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for PmuppScript:</div>
<div class="dyncontent">
<div class="center"><img src="classPmuppScript__coll__graph.png" border="0" usemap="#aPmuppScript_coll__map" alt="Collaboration graph"/></div>
<map name="aPmuppScript_coll__map" id="aPmuppScript_coll__map">
<area shape="rect" title="Script interpreter for mupp batch processing." alt="" coords="51,98,150,126"/>
<area shape="rect" title=" " alt="" coords="5,5,76,33"/>
<area shape="poly" title=" " alt="" coords="60,44,94,96,90,99,55,47"/>
<area shape="rect" href="structPmuppPlotEntry.html" title="Data structure for plot configuration." alt="" coords="100,5,221,33"/>
<area shape="poly" title=" " alt="" coords="146,47,111,99,107,96,141,44"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-slots" name="pub-slots"></a>
Public Slots</h2></td></tr>
<tr class="memitem:ab7f523259c4e53efbda377b62c8f798e" id="r_ab7f523259c4e53efbda377b62c8f798e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7f523259c4e53efbda377b62c8f798e">executeScript</a> ()</td></tr>
<tr class="memdesc:ab7f523259c4e53efbda377b62c8f798e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes all script commands sequentially. <br /></td></tr>
<tr class="separator:ab7f523259c4e53efbda377b62c8f798e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="signals" name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:aeed93138a3a0617bd427fb86b5155651" id="r_aeed93138a3a0617bd427fb86b5155651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeed93138a3a0617bd427fb86b5155651">finished</a> ()</td></tr>
<tr class="memdesc:aeed93138a3a0617bd427fb86b5155651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal emitted when script execution completes. <br /></td></tr>
<tr class="separator:aeed93138a3a0617bd427fb86b5155651"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a5a73d3ed1f4988c9d8a79fc5b6cbccbd" id="r_a5a73d3ed1f4988c9d8a79fc5b6cbccbd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a73d3ed1f4988c9d8a79fc5b6cbccbd">PmuppScript</a> (QStringList script)</td></tr>
<tr class="memdesc:a5a73d3ed1f4988c9d8a79fc5b6cbccbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. Initializes the script interpreter. <br /></td></tr>
<tr class="separator:a5a73d3ed1f4988c9d8a79fc5b6cbccbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5e50876b0a05988e447f4a9a55011e" id="r_a8b5e50876b0a05988e447f4a9a55011e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8b5e50876b0a05988e447f4a9a55011e">setLoadPath</a> (const QString cmd)</td></tr>
<tr class="memdesc:a8b5e50876b0a05988e447f4a9a55011e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the load path for input data files. <br /></td></tr>
<tr class="separator:a8b5e50876b0a05988e447f4a9a55011e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae063ba76d9d5b569ff33a3d5c3f8284" id="r_aae063ba76d9d5b569ff33a3d5c3f8284"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae063ba76d9d5b569ff33a3d5c3f8284">getLoadPath</a> ()</td></tr>
<tr class="memdesc:aae063ba76d9d5b569ff33a3d5c3f8284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current load path. <br /></td></tr>
<tr class="separator:aae063ba76d9d5b569ff33a3d5c3f8284"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eadd8cce76f29d58f81b370d62868c1" id="r_a0eadd8cce76f29d58f81b370d62868c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0eadd8cce76f29d58f81b370d62868c1">setSavePath</a> (const QString cmd)</td></tr>
<tr class="memdesc:a0eadd8cce76f29d58f81b370d62868c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the save path for output files. <br /></td></tr>
<tr class="separator:a0eadd8cce76f29d58f81b370d62868c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54f3552ec94fdddec0b2b29d035e5ede" id="r_a54f3552ec94fdddec0b2b29d035e5ede"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a54f3552ec94fdddec0b2b29d035e5ede">getSavePath</a> ()</td></tr>
<tr class="memdesc:a54f3552ec94fdddec0b2b29d035e5ede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current save path. <br /></td></tr>
<tr class="separator:a54f3552ec94fdddec0b2b29d035e5ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0dffb22bad1449fce8716fea3eb4a7" id="r_aec0dffb22bad1449fce8716fea3eb4a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec0dffb22bad1449fce8716fea3eb4a7">loadCollection</a> (const QString str)</td></tr>
<tr class="memdesc:aec0dffb22bad1449fce8716fea3eb4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a data collection from file. <br /></td></tr>
<tr class="separator:aec0dffb22bad1449fce8716fea3eb4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7a0d48bf81f40308510c405ff7b341" id="r_a2b7a0d48bf81f40308510c405ff7b341"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2b7a0d48bf81f40308510c405ff7b341">select</a> (const QString str)</td></tr>
<tr class="memdesc:a2b7a0d48bf81f40308510c405ff7b341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects a specific collection for plotting. <br /></td></tr>
<tr class="separator:a2b7a0d48bf81f40308510c405ff7b341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac513cc270542053e31f06f40f3c0e93e" id="r_ac513cc270542053e31f06f40f3c0e93e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac513cc270542053e31f06f40f3c0e93e">selectAll</a> ()</td></tr>
<tr class="memdesc:ac513cc270542053e31f06f40f3c0e93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects all loaded collections for plotting. <br /></td></tr>
<tr class="separator:ac513cc270542053e31f06f40f3c0e93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e2ae6a37a8d9ae9110e32eadd8fb6d" id="r_a39e2ae6a37a8d9ae9110e32eadd8fb6d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a39e2ae6a37a8d9ae9110e32eadd8fb6d">addX</a> (const QString str)</td></tr>
<tr class="memdesc:a39e2ae6a37a8d9ae9110e32eadd8fb6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a parameter to the X-axis. <br /></td></tr>
<tr class="separator:a39e2ae6a37a8d9ae9110e32eadd8fb6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6516ac0c14dc6b0b5813310655fd3fc7" id="r_a6516ac0c14dc6b0b5813310655fd3fc7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6516ac0c14dc6b0b5813310655fd3fc7">addY</a> (const QString str)</td></tr>
<tr class="memdesc:a6516ac0c14dc6b0b5813310655fd3fc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds one or more parameters to the Y-axis. <br /></td></tr>
<tr class="separator:a6516ac0c14dc6b0b5813310655fd3fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3b3a593b87e896c230b872bf1d8757" id="r_abd3b3a593b87e896c230b872bf1d8757"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd3b3a593b87e896c230b872bf1d8757">plot</a> (const QString str)</td></tr>
<tr class="memdesc:abd3b3a593b87e896c230b872bf1d8757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a plot file by generating and executing a ROOT macro. <br /></td></tr>
<tr class="separator:abd3b3a593b87e896c230b872bf1d8757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b0ed1be6d4494fef73608f1d7763eaf" id="r_a9b0ed1be6d4494fef73608f1d7763eaf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b0ed1be6d4494fef73608f1d7763eaf">macro</a> (const QString str, const QString plotFln=&quot;&quot;)</td></tr>
<tr class="memdesc:a9b0ed1be6d4494fef73608f1d7763eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a ROOT macro for plotting. <br /></td></tr>
<tr class="separator:a9b0ed1be6d4494fef73608f1d7763eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6691593232d620187205eab84bd3f9e" id="r_ad6691593232d620187205eab84bd3f9e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad6691593232d620187205eab84bd3f9e">var_cmd</a> (const QString str, int script_idx=-1)</td></tr>
<tr class="memdesc:ad6691593232d620187205eab84bd3f9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes a variable definition command. <br /></td></tr>
<tr class="separator:ad6691593232d620187205eab84bd3f9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ae68da3609e961194daed02fb1ae0860e" id="r_ae68da3609e961194daed02fb1ae0860e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae68da3609e961194daed02fb1ae0860e">foundLabel</a> (<a class="el" href="classPmuppCollection.html">PmuppCollection</a> *coll, const QString label)</td></tr>
<tr class="memdesc:ae68da3609e961194daed02fb1ae0860e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a parameter label exists in a collection. <br /></td></tr>
<tr class="separator:ae68da3609e961194daed02fb1ae0860e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af86e8634452a6973cdfaca19f450ef71" id="r_af86e8634452a6973cdfaca19f450ef71"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af86e8634452a6973cdfaca19f450ef71">foundVariable</a> (const QString var)</td></tr>
<tr class="memdesc:af86e8634452a6973cdfaca19f450ef71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a variable is defined in the variable handler. <br /></td></tr>
<tr class="separator:af86e8634452a6973cdfaca19f450ef71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1540630e13c8726741f4e0f848c0be7" id="r_af1540630e13c8726741f4e0f848c0be7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1540630e13c8726741f4e0f848c0be7">getVarIndex</a> (const QString var)</td></tr>
<tr class="memdesc:af1540630e13c8726741f4e0f848c0be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the index of a variable in the handler vector. <br /></td></tr>
<tr class="separator:af1540630e13c8726741f4e0f848c0be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e5618a344ffc65f3cf261383a8fa973" id="r_a7e5618a344ffc65f3cf261383a8fa973"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e5618a344ffc65f3cf261383a8fa973">minMax</a> (QVector&lt; double &gt; dvec, double &amp;min, double &amp;max)</td></tr>
<tr class="memdesc:a7e5618a344ffc65f3cf261383a8fa973"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds minimum and maximum values in a data vector. <br /></td></tr>
<tr class="separator:a7e5618a344ffc65f3cf261383a8fa973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a610b0caacaeca7c9b6badd3b8d4b89d7" id="r_a610b0caacaeca7c9b6badd3b8d4b89d7"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a610b0caacaeca7c9b6badd3b8d4b89d7">getNicerLabel</a> (const QString label)</td></tr>
<tr class="memdesc:a610b0caacaeca7c9b6badd3b8d4b89d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts parameter labels to prettier ROOT format. <br /></td></tr>
<tr class="separator:a610b0caacaeca7c9b6badd3b8d4b89d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b12145d1ddf0158de76b7d28c0ec63b" id="r_a1b12145d1ddf0158de76b7d28c0ec63b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b12145d1ddf0158de76b7d28c0ec63b">getCollectionIndex</a> (const QString var_name)</td></tr>
<tr class="memdesc:a1b12145d1ddf0158de76b7d28c0ec63b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the collection index associated with a variable. <br /></td></tr>
<tr class="separator:a1b12145d1ddf0158de76b7d28c0ec63b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a05d9e47b41e3ef7ac62e7a1937ef0" id="r_a38a05d9e47b41e3ef7ac62e7a1937ef0"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38a05d9e47b41e3ef7ac62e7a1937ef0">getPythonBlock</a> (int start_idx=-1)</td></tr>
<tr class="memdesc:a38a05d9e47b41e3ef7ac62e7a1937ef0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the verbatim &lt;python&gt; ... &lt;/python&gt; block of the script. <br /></td></tr>
<tr class="separator:a38a05d9e47b41e3ef7ac62e7a1937ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3ea60b664a5b05cfe5674c56d956547c" id="r_a3ea60b664a5b05cfe5674c56d956547c"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classPmuppAdmin.html">PmuppAdmin</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ea60b664a5b05cfe5674c56d956547c">fAdmin</a></td></tr>
<tr class="memdesc:a3ea60b664a5b05cfe5674c56d956547c"><td class="mdescLeft">&#160;</td><td class="mdescRight">administration object for configuration <br /></td></tr>
<tr class="separator:a3ea60b664a5b05cfe5674c56d956547c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1e8433a9004b15e78fe85b0d750bb5a" id="r_ae1e8433a9004b15e78fe85b0d750bb5a"><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae1e8433a9004b15e78fe85b0d750bb5a">fScript</a></td></tr>
<tr class="memdesc:ae1e8433a9004b15e78fe85b0d750bb5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">list of script commands to execute <br /></td></tr>
<tr class="separator:ae1e8433a9004b15e78fe85b0d750bb5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af534300f3383ab3d722463520af0c88d" id="r_af534300f3383ab3d722463520af0c88d"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classPParamDataHandler.html">PParamDataHandler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af534300f3383ab3d722463520af0c88d">fParamDataHandler</a></td></tr>
<tr class="memdesc:af534300f3383ab3d722463520af0c88d"><td class="mdescLeft">&#160;</td><td class="mdescRight">handler for parameter data collections <br /></td></tr>
<tr class="separator:af534300f3383ab3d722463520af0c88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b40a0d108b5849439eec2358910f7a" id="r_a37b40a0d108b5849439eec2358910f7a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a37b40a0d108b5849439eec2358910f7a">fSelected</a></td></tr>
<tr class="memdesc:a37b40a0d108b5849439eec2358910f7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">selection state: -2=none, -1=all, &gt;=0=specific index <br /></td></tr>
<tr class="separator:a37b40a0d108b5849439eec2358910f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071e569bebbdb7c479cbdbc1e11509e0" id="r_a071e569bebbdb7c479cbdbc1e11509e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structPmuppPlotEntry.html">PmuppPlotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a071e569bebbdb7c479cbdbc1e11509e0">fPlotEntry</a></td></tr>
<tr class="memdesc:a071e569bebbdb7c479cbdbc1e11509e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">single plot configuration (for specific selection) <br /></td></tr>
<tr class="separator:a071e569bebbdb7c479cbdbc1e11509e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a207fe796cdbdc5cc956b26cb35df951d" id="r_a207fe796cdbdc5cc956b26cb35df951d"><td class="memItemLeft" align="right" valign="top">QVector&lt; <a class="el" href="structPmuppPlotEntry.html">PmuppPlotEntry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a207fe796cdbdc5cc956b26cb35df951d">fPlotInfo</a></td></tr>
<tr class="memdesc:a207fe796cdbdc5cc956b26cb35df951d"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of all plot configurations (for all selections) <br /></td></tr>
<tr class="separator:a207fe796cdbdc5cc956b26cb35df951d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af989a977d5c186784da40e7274b3e077" id="r_af989a977d5c186784da40e7274b3e077"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af989a977d5c186784da40e7274b3e077">fNorm</a></td></tr>
<tr class="memdesc:af989a977d5c186784da40e7274b3e077"><td class="mdescLeft">&#160;</td><td class="mdescRight">normalization flag (true = normalize Y-data to max value) <br /></td></tr>
<tr class="separator:af989a977d5c186784da40e7274b3e077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a449d5316f194356d0a24d9bb00f4bc47" id="r_a449d5316f194356d0a24d9bb00f4bc47"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a449d5316f194356d0a24d9bb00f4bc47">fLoadPath</a></td></tr>
<tr class="memdesc:a449d5316f194356d0a24d9bb00f4bc47"><td class="mdescLeft">&#160;</td><td class="mdescRight">directory path for loading input data files <br /></td></tr>
<tr class="separator:a449d5316f194356d0a24d9bb00f4bc47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf067b495b06b1162340aca94e2e9f3" id="r_a0cf067b495b06b1162340aca94e2e9f3"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cf067b495b06b1162340aca94e2e9f3">fSavePath</a></td></tr>
<tr class="memdesc:a0cf067b495b06b1162340aca94e2e9f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">directory path for saving output files <br /></td></tr>
<tr class="separator:a0cf067b495b06b1162340aca94e2e9f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac01bca27581e5fe5153f11c529501dd8" id="r_ac01bca27581e5fe5153f11c529501dd8"><td class="memItemLeft" align="right" valign="top">QVector&lt; <a class="el" href="classPVarHandler.html">PVarHandler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac01bca27581e5fe5153f11c529501dd8">fVarHandler</a></td></tr>
<tr class="memdesc:ac01bca27581e5fe5153f11c529501dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of variable expression handlers <br /></td></tr>
<tr class="separator:ac01bca27581e5fe5153f11c529501dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Script interpreter for mupp batch processing. </p>
<p><a class="el" href="classPmuppScript.html" title="Script interpreter for mupp batch processing.">PmuppScript</a> provides a command-line scripting interface for mupp, enabling automated batch processing of parameter data analysis and visualization. The class parses and executes script commands, managing data collections, plot configurations, variable definitions, and ROOT macro generation.</p>
<p>Script execution workflow:</p><ol type="1">
<li>Initialize with script command list</li>
<li>Execute commands sequentially via <a class="el" href="#ab7f523259c4e53efbda377b62c8f798e" title="Executes all script commands sequentially.">executeScript()</a></li>
<li>Commands manipulate internal state (collections, plot config)</li>
<li>Generate ROOT macros for plotting</li>
<li>Optionally invoke ROOT in batch mode to create plot files</li>
</ol>
<p>Command categories:</p><ul>
<li>Path management: loadPath, savePath</li>
<li>Data loading: load</li>
<li>Collection selection: select, selectAll</li>
<li>Axis configuration: x (X-axis), y (Y-axis)</li>
<li>Variables: var, col</li>
<li>Normalization: norm</li>
<li>Output: plot, macro</li>
</ul>
<p>Error handling: Methods return 0 on success, negative values on error. Specific error codes indicate different failure modes. </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00117">117</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5a73d3ed1f4988c9d8a79fc5b6cbccbd" name="a5a73d3ed1f4988c9d8a79fc5b6cbccbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a73d3ed1f4988c9d8a79fc5b6cbccbd">&#9670;&#160;</a></span>PmuppScript()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PmuppScript::PmuppScript </td>
<td>(</td>
<td class="paramtype">QStringList</td> <td class="paramname"><span class="paramname"><em>script</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. Initializes the script interpreter. </p>
<p>Constructor for the script interpreter.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">script</td><td>list of script commands to execute</td></tr>
</table>
</dd>
</dl>
<p>Initializes the script execution environment with default settings:</p><ul>
<li>Load path: current directory</li>
<li>Save path: current directory</li>
<li>Selection state: nothing selected</li>
<li>Normalization: disabled</li>
<li>Administration object for configuration access</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">script</td><td>list of script commands to be executed </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00095">95</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a39e2ae6a37a8d9ae9110e32eadd8fb6d" name="a39e2ae6a37a8d9ae9110e32eadd8fb6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39e2ae6a37a8d9ae9110e32eadd8fb6d">&#9670;&#160;</a></span>addX()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::addX </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a parameter to the X-axis. </p>
<p>Adds a parameter label to the X-axis.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>x command string with parameter label </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative value on error</dd></dl>
<p>Configures the X-axis (independent variable) for the plot. The label can be either:</p><ul>
<li>A parameter name from the collection (e.g., "dataT", "dataB")</li>
<li>A defined variable expression</li>
</ul>
<p>Behavior depends on selection state:</p><ul>
<li>fSelected == -2: Error (no selection made)</li>
<li>fSelected == -1: Applies to all collections (creates fPlotInfo entries)</li>
<li>fSelected &gt;= 0: Applies to specific collection (sets fPlotEntry)</li>
</ul>
<p>Validation:</p><ul>
<li>Checks if label exists in collection(s) or as a variable</li>
<li>Reports error if label not found</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>x command string (format: "x &lt;label&gt;")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
-1 wrong command syntax </dd>
<dd>
-2 no collection selected </dd>
<dd>
-3 selected collection not found </dd>
<dd>
-4 label not found in collection or variables </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00420">420</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a6516ac0c14dc6b0b5813310655fd3fc7" name="a6516ac0c14dc6b0b5813310655fd3fc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6516ac0c14dc6b0b5813310655fd3fc7">&#9670;&#160;</a></span>addY()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::addY </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds one or more parameters to the Y-axis. </p>
<p>Adds one or more parameter labels to the Y-axis.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>y command string with parameter label(s) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative value on error</dd></dl>
<p>Configures the Y-axis (dependent variable(s)) for the plot. Multiple Y-axis parameters can be specified in a single command, enabling multi-curve plots.</p>
<p>Each label can be either:</p><ul>
<li>A parameter name from the collection</li>
<li>A defined variable expression</li>
</ul>
<p>Behavior depends on selection state:</p><ul>
<li>fSelected == -2: Error (no selection made)</li>
<li>fSelected == -1: Applies to all collections (updates fPlotInfo)</li>
<li>fSelected &gt;= 0: Applies to specific collection (updates fPlotEntry, adds to fPlotInfo)</li>
</ul>
<p>Validation:</p><ul>
<li>Checks if each label exists in collection(s) or as a variable</li>
<li>Reports error on first missing label</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>y command string (format: "y &lt;label1&gt; [label2] [label3] ...")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
-1 wrong command syntax (&lt; 2 tokens) </dd>
<dd>
-2 no collection selected </dd>
<dd>
-3 selected collection not found </dd>
<dd>
-4 label not found in collection or variables </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00533">533</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="ab7f523259c4e53efbda377b62c8f798e" name="ab7f523259c4e53efbda377b62c8f798e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7f523259c4e53efbda377b62c8f798e">&#9670;&#160;</a></span>executeScript</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::executeScript </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 slot">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes all script commands sequentially. </p>
<p>Processes each command in the script list, maintaining state and accumulating plot configurations. Emits <a class="el" href="#aeed93138a3a0617bd427fb86b5155651" title="Signal emitted when script execution completes.">finished()</a> signal when complete or on error.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative or positive value on error</dd></dl>
<p>Processes each command in the script list, dispatching to appropriate handler methods based on command type. Maintains state throughout execution including:</p><ul>
<li>Loaded data collections</li>
<li>Current selection</li>
<li>Plot configurations</li>
<li>Variable definitions</li>
</ul>
<p>Command dispatch table:</p><ul>
<li>"loadPath" → <a class="el" href="#a8b5e50876b0a05988e447f4a9a55011e" title="Sets the load path for input data files.">setLoadPath()</a></li>
<li>"savePath" → <a class="el" href="#a0eadd8cce76f29d58f81b370d62868c1" title="Sets the save path for output files.">setSavePath()</a></li>
<li>"load " → <a class="el" href="#aec0dffb22bad1449fce8716fea3eb4a7" title="Loads a data collection from file.">loadCollection()</a></li>
<li>"selectAll" → <a class="el" href="#ac513cc270542053e31f06f40f3c0e93e" title="Selects all loaded collections for plotting.">selectAll()</a></li>
<li>"select " → <a class="el" href="#a2b7a0d48bf81f40308510c405ff7b341" title="Selects a specific collection for plotting.">select()</a></li>
<li>"x" → <a class="el" href="#a39e2ae6a37a8d9ae9110e32eadd8fb6d" title="Adds a parameter to the X-axis.">addX()</a></li>
<li>"y" → <a class="el" href="#a6516ac0c14dc6b0b5813310655fd3fc7" title="Adds one or more parameters to the Y-axis.">addY()</a></li>
<li>"norm" → sets fNorm flag</li>
<li>"plot" → <a class="el" href="#abd3b3a593b87e896c230b872bf1d8757" title="Creates a plot file by generating and executing a ROOT macro.">plot()</a></li>
<li>"macro" → <a class="el" href="#a9b0ed1be6d4494fef73608f1d7763eaf" title="Generates a ROOT macro for plotting.">macro()</a></li>
<li>"var" → <a class="el" href="#ad6691593232d620187205eab84bd3f9e" title="Processes a variable definition command.">var_cmd()</a></li>
<li>"col" → (handled internally by var)</li>
</ul>
<p>Emits <a class="el" href="#aeed93138a3a0617bd427fb86b5155651" title="Signal emitted when script execution completes.">finished()</a> signal upon completion or error.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, non-zero error code on failure </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00136">136</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="aeed93138a3a0617bd427fb86b5155651" name="aeed93138a3a0617bd427fb86b5155651"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeed93138a3a0617bd427fb86b5155651">&#9670;&#160;</a></span>finished</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PmuppScript::finished </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 signal">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Signal emitted when script execution completes. </p>
</div>
</div>
<a id="ae68da3609e961194daed02fb1ae0860e" name="ae68da3609e961194daed02fb1ae0860e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae68da3609e961194daed02fb1ae0860e">&#9670;&#160;</a></span>foundLabel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PmuppScript::foundLabel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPmuppCollection.html">PmuppCollection</a> *</td> <td class="paramname"><span class="paramname"><em>coll</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>label</em></span>&#160;)</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>Checks if a parameter label exists in a collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">coll</td><td>pointer to collection to search </td></tr>
<tr><td class="paramname">label</td><td>parameter label to find </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if label found, false otherwise</dd></dl>
<p>Searches the first run of the collection for a parameter matching the given label. Assumes all runs in a collection have the same parameter structure.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">coll</td><td>pointer to collection to search </td></tr>
<tr><td class="paramname">label</td><td>parameter label to find</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if label found in collection, false otherwise </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01131">1131</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="af86e8634452a6973cdfaca19f450ef71" name="af86e8634452a6973cdfaca19f450ef71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af86e8634452a6973cdfaca19f450ef71">&#9670;&#160;</a></span>foundVariable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PmuppScript::foundVariable </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>var</em></span></td><td>)</td>
<td></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>Checks if a variable is defined in the variable handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var</td><td>variable name to search for </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if variable found, false otherwise</dd></dl>
<p>Searches the variable handler vector for a variable with the specified name. Used to validate variable references in x and y commands.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var</td><td>variable name to search for</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if variable found, false otherwise </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01156">1156</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a1b12145d1ddf0158de76b7d28c0ec63b" name="a1b12145d1ddf0158de76b7d28c0ec63b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b12145d1ddf0158de76b7d28c0ec63b">&#9670;&#160;</a></span>getCollectionIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::getCollectionIndex </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>var_name</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the collection index associated with a variable. </p>
<p>Gets the collection index a variable is linked to.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var_name</td><td>variable name </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>collection index, or -1 if not found</dd></dl>
<p>Scans the script for the 'col' command linking the given variable name to a collection and returns that collection index.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var_name</td><td>the variable name to look up</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the linked collection index, or -1 if not linked </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01322">1322</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="aae063ba76d9d5b569ff33a3d5c3f8284" name="aae063ba76d9d5b569ff33a3d5c3f8284"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae063ba76d9d5b569ff33a3d5c3f8284">&#9670;&#160;</a></span>getLoadPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::getLoadPath </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 inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current load path. </p>
<dl class="section return"><dt>Returns</dt><dd>load path string </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00138">138</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a610b0caacaeca7c9b6badd3b8d4b89d7" name="a610b0caacaeca7c9b6badd3b8d4b89d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a610b0caacaeca7c9b6badd3b8d4b89d7">&#9670;&#160;</a></span>getNicerLabel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::getNicerLabel </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>label</em></span></td><td>)</td>
<td></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>Converts parameter labels to prettier ROOT format. </p>
<p>Converts parameter labels to publication-quality ROOT format.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">label</td><td>original parameter label </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>formatted label with ROOT markup (e.g., Greek letters)</dd></dl>
<p>Transforms standard parameter names into formatted labels suitable for publication plots, including:</p><ul>
<li>Greek letters using ROOT markup (#sigma, #lambda, #alpha)</li>
<li>Subscripts and superscripts</li>
<li>Physical units</li>
<li>Normalization indicators (when fNorm is true)</li>
</ul>
<p>Special case handling:</p><ul>
<li>dataE → "E (keV)"</li>
<li>dataT → "T (K)"</li>
<li>dataB → "B (G)"</li>
<li>sigma → "#sigma (1/#mus)" or normalized version</li>
<li>lambda → "#lambda (1/#mus)" or normalized version</li>
<li>rate → "Rate (1/#mus)" or normalized version</li>
<li>alpha_LR → "#alpha_{LR}" or normalized version</li>
<li>alpha_TB → "#alpha_{TB}" or normalized version</li>
<li>others → "label/ max(label)" if normalized</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">label</td><td>original parameter label string</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>formatted label with ROOT markup </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01243">1243</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a38a05d9e47b41e3ef7ac62e7a1937ef0" name="a38a05d9e47b41e3ef7ac62e7a1937ef0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a05d9e47b41e3ef7ac62e7a1937ef0">&#9670;&#160;</a></span>getPythonBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::getPythonBlock </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>start_idx</em></span><span class="paramdefsep"> = </span><span class="paramdefval">-1</span></td><td>)</td>
<td></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>Returns the verbatim &lt;python&gt; ... &lt;/python&gt; block of the script. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">start_idx</td><td>scan fScript from this index onwards (exclusive). Used so that multiple &lt;python&gt; blocks each pair with the preceding 'var' declaration. Defaults to -1 (start from the beginning). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the python block (including tags), or an empty string if none present</dd></dl>
<p>The script reader stores each python block as a single list entry. When a 'var X = python' declaration is being processed, the matching block is the first &lt;python&gt; ... &lt;/python&gt; entry that comes after the declaration's position in the script. This pairs each declaration with the block that actually defines X (and XErr) and lets multiple python blocks coexist.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">start_idx</td><td>position of the calling 'var' command in fScript; the scan begins at start_idx+1. Pass -1 to scan from the beginning.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the python block (including the tags), or an empty string if none </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01302">1302</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a54f3552ec94fdddec0b2b29d035e5ede" name="a54f3552ec94fdddec0b2b29d035e5ede"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54f3552ec94fdddec0b2b29d035e5ede">&#9670;&#160;</a></span>getSavePath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::getSavePath </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 inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current save path. </p>
<dl class="section return"><dt>Returns</dt><dd>save path string </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00150">150</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="af1540630e13c8726741f4e0f848c0be7" name="af1540630e13c8726741f4e0f848c0be7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1540630e13c8726741f4e0f848c0be7">&#9670;&#160;</a></span>getVarIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::getVarIndex </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>var</em></span></td><td>)</td>
<td></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>Gets the index of a variable in the handler vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var</td><td>variable name to search for </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>variable index, or -1 if not found</dd></dl>
<p>Searches for a variable by name and returns its position in the fVarHandler vector. Used during macro generation to retrieve variable values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">var</td><td>variable name to search for</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>variable index (0-based), or -1 if not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01181">1181</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="aec0dffb22bad1449fce8716fea3eb4a7" name="aec0dffb22bad1449fce8716fea3eb4a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0dffb22bad1449fce8716fea3eb4a7">&#9670;&#160;</a></span>loadCollection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::loadCollection </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Loads a data collection from file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>load command string with filename </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, positive value on error</dd></dl>
<p>Parses the load command to extract the filename, prepends the load path, and reads the parameter data file via the <a class="el" href="classPParamDataHandler.html" title="Central manager class for loading and accessing parameter collections.">PParamDataHandler</a>.</p>
<p>Processing steps:</p><ol type="1">
<li>Removes "load " prefix from command string</li>
<li>Trims whitespace from filename</li>
<li>Prepends fLoadPath to create full file path</li>
<li>Calls ReadParamFile() to load the data</li>
</ol>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>load command string (format: "load filename.ext")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 if file reading fails </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00301">301</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a9b0ed1be6d4494fef73608f1d7763eaf" name="a9b0ed1be6d4494fef73608f1d7763eaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b0ed1be6d4494fef73608f1d7763eaf">&#9670;&#160;</a></span>macro()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::macro </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>plotFln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates a ROOT macro for plotting. </p>
<p>Generates a ROOT C++ macro for plotting.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>macro command string with macro filename </td></tr>
<tr><td class="paramname">plotFln</td><td>optional plot output filename (for SaveAs in macro) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative value on error</dd></dl>
<p>Creates a complete, standalone ROOT macro that can be executed independently. The macro includes:</p>
<p>Generated content:</p><ul>
<li>Header with timestamp and filename</li>
<li>ROOT initialization and style settings</li>
<li>Data array declarations (xx, yy, error arrays)</li>
<li>Data population from collections/variables</li>
<li>TGraphAsymmErrors object creation</li>
<li>Canvas setup and configuration</li>
<li>Marker and color styling from configuration</li>
<li>Axis labels and ranges</li>
<li>Optional normalization</li>
<li>Optional SaveAs() call for plot output</li>
</ul>
<p>Data handling:</p><ul>
<li>Retrieves X/Y values from collections or variables</li>
<li>Handles asymmetric error bars (positive/negative)</li>
<li>Calculates axis ranges with 5% padding</li>
<li>Supports normalization to maximum Y value</li>
</ul>
<p>Styling:</p><ul>
<li>Uses marker and color definitions from <a class="el" href="classPmuppAdmin.html" title="Main administration class for mupp configuration management.">PmuppAdmin</a></li>
<li>Falls back to default black circles if config exhausted</li>
<li>Applies ROOT formatting for Greek letters and subscripts</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>macro command string (format: "macro filename.C") </td></tr>
<tr><td class="paramname">plotFln</td><td>optional output plot filename (adds SaveAs to macro)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
-1 wrong command syntax </dd>
<dd>
-2 failed to open macro file for writing </dd>
<dd>
-3 X or Y label data not found (internal error) </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00751">751</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a7e5618a344ffc65f3cf261383a8fa973" name="a7e5618a344ffc65f3cf261383a8fa973"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e5618a344ffc65f3cf261383a8fa973">&#9670;&#160;</a></span>minMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PmuppScript::minMax </td>
<td>(</td>
<td class="paramtype">QVector&lt; double &gt;</td> <td class="paramname"><span class="paramname"><em>dvec</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;</td> <td class="paramname"><span class="paramname"><em>min</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;</td> <td class="paramname"><span class="paramname"><em>max</em></span>&#160;)</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>Finds minimum and maximum values in a data vector. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dvec</td><td>data vector to analyze </td></tr>
<tr><td class="paramname">min</td><td>output parameter: minimum value </td></tr>
<tr><td class="paramname">max</td><td>output parameter: maximum value</td></tr>
</table>
</dd>
</dl>
<p>Scans through the data vector to determine the range. Used for automatic axis range calculation in plot generation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dvec</td><td>data vector to analyze </td></tr>
<tr><td class="paramname">min</td><td>output parameter: minimum value in vector </td></tr>
<tr><td class="paramname">max</td><td>output parameter: maximum value in vector </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01205">1205</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="abd3b3a593b87e896c230b872bf1d8757" name="abd3b3a593b87e896c230b872bf1d8757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd3b3a593b87e896c230b872bf1d8757">&#9670;&#160;</a></span>plot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::plot </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a plot file by generating and executing a ROOT macro. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>plot command string with output filename </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative value on error</dd></dl>
<p>This method performs the complete workflow for batch plot creation:</p><ol type="1">
<li>Generates a temporary ROOT C++ macro (__out.C)</li>
<li>Launches root.exe in batch mode to execute the macro</li>
<li>Creates the output plot file (format determined by extension)</li>
<li>Cleans up the temporary macro file</li>
</ol>
<p>Supported output formats (via ROOT):</p><ul>
<li>.pdf - PDF document</li>
<li>.png - PNG image</li>
<li>.eps - Encapsulated PostScript</li>
<li>.svg - Scalable Vector Graphics</li>
<li>.root - ROOT file</li>
</ul>
<p>The method configures environment variables (LD_LIBRARY_PATH/ DYLD_LIBRARY_PATH) to ensure ROOT finds its libraries.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>plot command string (format: "plot output_filename.ext")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
-1 wrong command syntax or macro generation failed </dd>
<dd>
-2 failed to create QProcess </dd>
<dd>
-3 failed to start root.exe </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00662">662</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a2b7a0d48bf81f40308510c405ff7b341" name="a2b7a0d48bf81f40308510c405ff7b341"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7a0d48bf81f40308510c405ff7b341">&#9670;&#160;</a></span>select()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::select </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Selects a specific collection for plotting. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>select command string with collection identifier </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, negative value on error</dd></dl>
<p>Parses the select command to identify a collection by either:</p><ul>
<li>Numeric index (0, 1, 2, ...)</li>
<li>Collection name string</li>
</ul>
<p>The selected collection becomes the target for subsequent x and y commands. Sets fSelected to the collection index.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>select command string (format: "select &lt;index|name&gt;")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
-1 wrong command syntax </dd>
<dd>
-2 collection index out of range </dd>
<dd>
-3 collection name not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00336">336</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="ac513cc270542053e31f06f40f3c0e93e" name="ac513cc270542053e31f06f40f3c0e93e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac513cc270542053e31f06f40f3c0e93e">&#9670;&#160;</a></span>selectAll()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::selectAll </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Selects all loaded collections for plotting. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 if no collections available</dd></dl>
<p>Enables batch plotting mode where subsequent x and y commands apply to all collections. Sets fSelected to -1 (all-selected state).</p>
<p>This mode is useful for creating overlay plots showing multiple data sets with the same parameter axes.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 if no collections are loaded </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00381">381</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a8b5e50876b0a05988e447f4a9a55011e" name="a8b5e50876b0a05988e447f4a9a55011e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5e50876b0a05988e447f4a9a55011e">&#9670;&#160;</a></span>setLoadPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PmuppScript::setLoadPath </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>cmd</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the load path for input data files. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>loadPath command string with path specification</td></tr>
</table>
</dd>
</dl>
<p>Parses the loadPath command string and extracts the directory path. Supports environment variable expansion: variables prefixed with '$' are replaced with their values from the system environment.</p>
<p>Path processing:</p><ol type="1">
<li>Removes "loadPath " prefix from command</li>
<li>Tokenizes path by '/' separator</li>
<li>Expands environment variables ($VAR_NAME)</li>
<li>Reconstructs full path with '/' separators</li>
</ol>
<p>Example: "loadPath $HOME/data/musrfit/" → "/home/user/data/musrfit/"</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>loadPath command string including path specification </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00210">210</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="a0eadd8cce76f29d58f81b370d62868c1" name="a0eadd8cce76f29d58f81b370d62868c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0eadd8cce76f29d58f81b370d62868c1">&#9670;&#160;</a></span>setSavePath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PmuppScript::setSavePath </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>cmd</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the save path for output files. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>savePath command string with path specification</td></tr>
</table>
</dd>
</dl>
<p>Parses the savePath command string and extracts the directory path. Uses the same environment variable expansion mechanism as <a class="el" href="#a8b5e50876b0a05988e447f4a9a55011e" title="Sets the load path for input data files.">setLoadPath()</a>.</p>
<p>Path processing:</p><ol type="1">
<li>Removes "savePath " prefix from command</li>
<li>Tokenizes path by '/' separator</li>
<li>Expands environment variables ($VAR_NAME)</li>
<li>Reconstructs full path with '/' separators</li>
</ol>
<p>Example: "savePath $HOME/plots/" → "/home/user/plots/"</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>savePath command string including path specification </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l00256">256</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<a id="ad6691593232d620187205eab84bd3f9e" name="ad6691593232d620187205eab84bd3f9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6691593232d620187205eab84bd3f9e">&#9670;&#160;</a></span>var_cmd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::var_cmd </td>
<td>(</td>
<td class="paramtype">const QString</td> <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>script_idx</em></span><span class="paramdefsep"> = </span><span class="paramdefval">-1</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Processes a variable definition command. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>var command string with variable expression </td></tr>
<tr><td class="paramname">script_idx</td><td>position of this command inside fScript; used to locate the matching &lt;python&gt; ... &lt;/python&gt; block (the one following the declaration). Defaults to -1 (search from start). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, positive value on error</dd></dl>
<p>Variables enable defining derived quantities as mathematical expressions combining collection parameters. For example:</p><ul>
<li>"var amplitude sigma+lambda"</li>
<li>"var asymmetry (forward-backward)/(forward+backward)"</li>
</ul>
<p>Processing steps:</p><ol type="1">
<li>Extracts variable name from command</li>
<li>Checks if variable is linked to a collection (via col command)</li>
<li>Locates optional error variable definition (varNameErr)</li>
<li>Creates <a class="el" href="classPVarHandler.html" title="The PVarHandler class handles variable parsing, evaluation, and data management.">PVarHandler</a> for expression parsing and evaluation</li>
<li>Validates variable and stores handler if valid</li>
</ol>
<p>Error handling:</p><ul>
<li>Error variables (ending in "Err") are processed silently</li>
<li>Invalid expressions write errors to ~/.musrfit/mupp/mupp_err.log</li>
<li>Error log is displayed and deleted on failure</li>
</ul>
<p>Integration with col command: The "col" command links variables to specific collections, enabling variable resolution during plot generation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>var command string (format: "var &lt;name&gt; &lt;expression&gt;")</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success </dd>
<dd>
0 if variable not linked to collection (ignored) </dd>
<dd>
0 if error variable (processing deferred) </dd>
<dd>
1 if variable expression is invalid </dd></dl>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8cpp_source.html#l01030">1030</a> of file <a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a3ea60b664a5b05cfe5674c56d956547c" name="a3ea60b664a5b05cfe5674c56d956547c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ea60b664a5b05cfe5674c56d956547c">&#9670;&#160;</a></span>fAdmin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classPmuppAdmin.html">PmuppAdmin</a>&gt; PmuppScript::fAdmin</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>administration object for configuration </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00230">230</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a449d5316f194356d0a24d9bb00f4bc47" name="a449d5316f194356d0a24d9bb00f4bc47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a449d5316f194356d0a24d9bb00f4bc47">&#9670;&#160;</a></span>fLoadPath</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::fLoadPath</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>directory path for loading input data files </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00239">239</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="af989a977d5c186784da40e7274b3e077" name="af989a977d5c186784da40e7274b3e077"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af989a977d5c186784da40e7274b3e077">&#9670;&#160;</a></span>fNorm</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PmuppScript::fNorm</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>normalization flag (true = normalize Y-data to max value) </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00238">238</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="af534300f3383ab3d722463520af0c88d" name="af534300f3383ab3d722463520af0c88d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af534300f3383ab3d722463520af0c88d">&#9670;&#160;</a></span>fParamDataHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classPParamDataHandler.html">PParamDataHandler</a>&gt; PmuppScript::fParamDataHandler</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>handler for parameter data collections </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00232">232</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a071e569bebbdb7c479cbdbc1e11509e0" name="a071e569bebbdb7c479cbdbc1e11509e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a071e569bebbdb7c479cbdbc1e11509e0">&#9670;&#160;</a></span>fPlotEntry</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="structPmuppPlotEntry.html">PmuppPlotEntry</a> PmuppScript::fPlotEntry</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>single plot configuration (for specific selection) </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00235">235</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a207fe796cdbdc5cc956b26cb35df951d" name="a207fe796cdbdc5cc956b26cb35df951d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a207fe796cdbdc5cc956b26cb35df951d">&#9670;&#160;</a></span>fPlotInfo</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QVector&lt;<a class="el" href="structPmuppPlotEntry.html">PmuppPlotEntry</a>&gt; PmuppScript::fPlotInfo</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>vector of all plot configurations (for all selections) </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00236">236</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a0cf067b495b06b1162340aca94e2e9f3" name="a0cf067b495b06b1162340aca94e2e9f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf067b495b06b1162340aca94e2e9f3">&#9670;&#160;</a></span>fSavePath</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QString PmuppScript::fSavePath</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>directory path for saving output files </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00240">240</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="ae1e8433a9004b15e78fe85b0d750bb5a" name="ae1e8433a9004b15e78fe85b0d750bb5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1e8433a9004b15e78fe85b0d750bb5a">&#9670;&#160;</a></span>fScript</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QStringList PmuppScript::fScript</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>list of script commands to execute </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00231">231</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="a37b40a0d108b5849439eec2358910f7a" name="a37b40a0d108b5849439eec2358910f7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37b40a0d108b5849439eec2358910f7a">&#9670;&#160;</a></span>fSelected</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PmuppScript::fSelected</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>selection state: -2=none, -1=all, &gt;=0=specific index </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00233">233</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<a id="ac01bca27581e5fe5153f11c529501dd8" name="ac01bca27581e5fe5153f11c529501dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac01bca27581e5fe5153f11c529501dd8">&#9670;&#160;</a></span>fVarHandler</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">QVector&lt;<a class="el" href="classPVarHandler.html">PVarHandler</a>&gt; PmuppScript::fVarHandler</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>vector of variable expression handlers </p>
<p class="definition">Definition at line <a class="el" href="PmuppScript_8h_source.html#l00242">242</a> of file <a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/workspace/LMU/musrfit/src/musredit_qt6/mupp/<a class="el" href="PmuppScript_8h_source.html">PmuppScript.h</a></li>
<li>/workspace/LMU/musrfit/src/musredit_qt6/mupp/<a class="el" href="PmuppScript_8cpp_source.html">PmuppScript.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2
</small></address>
</div><!-- doc-content -->
</body>
</html>