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

2929 lines
195 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: PRunDataHandler Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">musrfit<span id="projectnumber">&#160;1.9.9</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search',true);
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('classPRunDataHandler.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classPRunDataHandler-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">PRunDataHandler Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Raw data file reader and format converter for μSR data.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for PRunDataHandler:</div>
<div class="dyncontent">
<div class="center"><img src="classPRunDataHandler__coll__graph.png" border="0" usemap="#aPRunDataHandler_coll__map" alt="Collaboration graph"/></div>
<map name="aPRunDataHandler_coll__map" id="aPRunDataHandler_coll__map">
<area shape="rect" title="Raw data file reader and format converter for μSR data." alt="" coords="296,191,425,218"/>
<area shape="rect" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework." alt="" coords="244,98,344,126"/>
<area shape="poly" title=" " alt="" coords="311,137,329,165,350,188,346,192,325,168,306,140"/>
<area shape="rect" href="structPStartupOptions.html" title=" " alt="" coords="5,5,127,33"/>
<area shape="poly" title=" " alt="" coords="94,40,143,72,194,89,244,101,243,106,193,95,141,76,91,45"/>
<area shape="rect" href="classPMsrGlobalBlock.html" title=" " alt="" coords="151,5,277,33"/>
<area shape="poly" title=" " alt="" coords="238,43,285,96,281,99,234,46"/>
<area shape="rect" href="structPMsrFourierStructure.html" title=" " alt="" coords="301,5,450,33"/>
<area shape="poly" title=" " alt="" coords="355,46,308,99,304,96,351,43"/>
<area shape="rect" href="structPMsrStatisticStructure.html" title=" " alt="" coords="474,5,626,33"/>
<area shape="poly" title=" " alt="" coords="500,41,399,77,332,100,330,95,397,71,498,36"/>
<area shape="rect" href="structPAny2ManyInfo.html" title=" " alt="" coords="368,98,484,126"/>
<area shape="poly" title=" " alt="" coords="410,140,372,192,368,189,406,137"/>
</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:a07eb5aa2ca31749814411631ef7ef30d" id="r_a07eb5aa2ca31749814411631ef7ef30d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a07eb5aa2ca31749814411631ef7ef30d">PRunDataHandler</a> ()</td></tr>
<tr class="memdesc:a07eb5aa2ca31749814411631ef7ef30d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor creating an uninitialized handler. <br /></td></tr>
<tr class="separator:a07eb5aa2ca31749814411631ef7ef30d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbabc32ebab47e4e1394378940c25906" id="r_abbabc32ebab47e4e1394378940c25906"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abbabc32ebab47e4e1394378940c25906">PRunDataHandler</a> (TString fileName, const TString fileFormat)</td></tr>
<tr class="memdesc:abbabc32ebab47e4e1394378940c25906"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for reading a single file with explicit format. <br /></td></tr>
<tr class="separator:abbabc32ebab47e4e1394378940c25906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06a64b99251c27862c003a21eaba77cd" id="r_a06a64b99251c27862c003a21eaba77cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06a64b99251c27862c003a21eaba77cd">PRunDataHandler</a> (TString fileName, const TString fileFormat, const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> dataPath)</td></tr>
<tr class="memdesc:a06a64b99251c27862c003a21eaba77cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for single file with search paths. <br /></td></tr>
<tr class="separator:a06a64b99251c27862c003a21eaba77cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b541a38ddf47b91a29052d778350711" id="r_a5b541a38ddf47b91a29052d778350711"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5b541a38ddf47b91a29052d778350711">PRunDataHandler</a> (TString fileName, const TString fileFormat, const TString dataPath, <a class="el" href="classPRawRunData.html">PRawRunData</a> &amp;runData)</td></tr>
<tr class="memdesc:a5b541a38ddf47b91a29052d778350711"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for reading single file into pre-allocated structure. <br /></td></tr>
<tr class="separator:a5b541a38ddf47b91a29052d778350711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c9a8c29968d60c28e68d45b1cda8aae" id="r_a4c9a8c29968d60c28e68d45b1cda8aae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4c9a8c29968d60c28e68d45b1cda8aae">PRunDataHandler</a> (<a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> *any2ManyInfo)</td></tr>
<tr class="memdesc:a4c9a8c29968d60c28e68d45b1cda8aae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for format conversion (any2many utility). <br /></td></tr>
<tr class="separator:a4c9a8c29968d60c28e68d45b1cda8aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9829f1577f0db90dd2e253571fd513b1" id="r_a9829f1577f0db90dd2e253571fd513b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9829f1577f0db90dd2e253571fd513b1">PRunDataHandler</a> (<a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> *any2ManyInfo, const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> dataPath)</td></tr>
<tr class="memdesc:a9829f1577f0db90dd2e253571fd513b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for format conversion with custom search paths. <br /></td></tr>
<tr class="separator:a9829f1577f0db90dd2e253571fd513b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5405173e77277b0ef8e47d47face4285" id="r_a5405173e77277b0ef8e47d47face4285"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5405173e77277b0ef8e47d47face4285">PRunDataHandler</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo)</td></tr>
<tr class="memdesc:a5405173e77277b0ef8e47d47face4285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for MSR-based data loading (standard fitting workflow). <br /></td></tr>
<tr class="separator:a5405173e77277b0ef8e47d47face4285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6c5ab56006accd5d1dee2045459c83" id="r_aea6c5ab56006accd5d1dee2045459c83"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aea6c5ab56006accd5d1dee2045459c83">PRunDataHandler</a> (<a class="el" href="classPMsrHandler.html">PMsrHandler</a> *msrInfo, const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> dataPath)</td></tr>
<tr class="memdesc:aea6c5ab56006accd5d1dee2045459c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for MSR-based loading with custom search paths. <br /></td></tr>
<tr class="separator:aea6c5ab56006accd5d1dee2045459c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad23c98899160d6bd526c01939c01c1c1" id="r_ad23c98899160d6bd526c01939c01c1c1"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad23c98899160d6bd526c01939c01c1c1">~PRunDataHandler</a> ()</td></tr>
<tr class="memdesc:ad23c98899160d6bd526c01939c01c1c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor that frees all loaded data. <br /></td></tr>
<tr class="separator:ad23c98899160d6bd526c01939c01c1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a659f648d3039a91f323ca6718bdb2674" id="r_a659f648d3039a91f323ca6718bdb2674"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a659f648d3039a91f323ca6718bdb2674">ReadData</a> ()</td></tr>
<tr class="memdesc:a659f648d3039a91f323ca6718bdb2674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads all data files specified in MSR file or configuration. <br /></td></tr>
<tr class="separator:a659f648d3039a91f323ca6718bdb2674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff9fe2710e4776fc867e50bb192a0049" id="r_aff9fe2710e4776fc867e50bb192a0049"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aff9fe2710e4776fc867e50bb192a0049">ConvertData</a> ()</td></tr>
<tr class="memdesc:aff9fe2710e4776fc867e50bb192a0049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs format conversion (for any2many utility). <br /></td></tr>
<tr class="separator:aff9fe2710e4776fc867e50bb192a0049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77bd0ca0e394261bf0c3e9b6a833f3f4" id="r_a77bd0ca0e394261bf0c3e9b6a833f3f4"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a77bd0ca0e394261bf0c3e9b6a833f3f4">WriteData</a> (TString fileName=&quot;&quot;)</td></tr>
<tr class="memdesc:a77bd0ca0e394261bf0c3e9b6a833f3f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data to file in the specified format. <br /></td></tr>
<tr class="separator:a77bd0ca0e394261bf0c3e9b6a833f3f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e086e154ce71a2bbb35f4ffe92b3c9c" id="r_a8e086e154ce71a2bbb35f4ffe92b3c9c"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e086e154ce71a2bbb35f4ffe92b3c9c">IsAllDataAvailable</a> () const</td></tr>
<tr class="memdesc:a8e086e154ce71a2bbb35f4ffe92b3c9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if all required data files were successfully loaded. <br /></td></tr>
<tr class="separator:a8e086e154ce71a2bbb35f4ffe92b3c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d54d9c5198ff0b9e8f136eccd24a82" id="r_a94d54d9c5198ff0b9e8f136eccd24a82"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPRawRunData.html">PRawRunData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94d54d9c5198ff0b9e8f136eccd24a82">GetRunData</a> (const TString &amp;runName)</td></tr>
<tr class="memdesc:a94d54d9c5198ff0b9e8f136eccd24a82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves run data by run name. <br /></td></tr>
<tr class="separator:a94d54d9c5198ff0b9e8f136eccd24a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cfc369ee6d6f62e466e91181353d08b" id="r_a7cfc369ee6d6f62e466e91181353d08b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPRawRunData.html">PRawRunData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7cfc369ee6d6f62e466e91181353d08b">GetRunData</a> (const UInt_t idx=0)</td></tr>
<tr class="memdesc:a7cfc369ee6d6f62e466e91181353d08b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves run data by index. <br /></td></tr>
<tr class="separator:a7cfc369ee6d6f62e466e91181353d08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d821b24a0e3caf548efa8737ca7f3c4" id="r_a4d821b24a0e3caf548efa8737ca7f3c4"><td class="memItemLeft" align="right" valign="top">virtual Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4d821b24a0e3caf548efa8737ca7f3c4">GetNoOfRunData</a> ()</td></tr>
<tr class="memdesc:a4d821b24a0e3caf548efa8737ca7f3c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of loaded run data sets. <br /></td></tr>
<tr class="separator:a4d821b24a0e3caf548efa8737ca7f3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44744cdb570304c30134e426b54d3a6" id="r_ae44744cdb570304c30134e426b54d3a6"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae44744cdb570304c30134e426b54d3a6">SetRunData</a> (<a class="el" href="classPRawRunData.html">PRawRunData</a> *data, UInt_t idx=0)</td></tr>
<tr class="memdesc:ae44744cdb570304c30134e426b54d3a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets or replaces run data at specified index. <br /></td></tr>
<tr class="separator:ae44744cdb570304c30134e426b54d3a6"><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:ae52ef738577fd00037ed585910ec2836" id="r_ae52ef738577fd00037ed585910ec2836"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae52ef738577fd00037ed585910ec2836">Init</a> (const Int_t tag=0)</td></tr>
<tr class="separator:ae52ef738577fd00037ed585910ec2836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ebc8312ebe174b5f3f974771738215" id="r_a69ebc8312ebe174b5f3f974771738215"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69ebc8312ebe174b5f3f974771738215">ReadFilesMsr</a> ()</td></tr>
<tr class="separator:a69ebc8312ebe174b5f3f974771738215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaaff4e4775f482388d39833e6628b62" id="r_adaaff4e4775f482388d39833e6628b62"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adaaff4e4775f482388d39833e6628b62">ReadWriteFilesList</a> ()</td></tr>
<tr class="separator:adaaff4e4775f482388d39833e6628b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4463cf30b54e1b345281464b9892693" id="r_af4463cf30b54e1b345281464b9892693"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af4463cf30b54e1b345281464b9892693">FileAlreadyRead</a> (TString runName)</td></tr>
<tr class="separator:af4463cf30b54e1b345281464b9892693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad48fbd1b5471055009e7991b80620952" id="r_ad48fbd1b5471055009e7991b80620952"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad48fbd1b5471055009e7991b80620952">TestFileName</a> (TString &amp;runName, const TString &amp;ext)</td></tr>
<tr class="separator:ad48fbd1b5471055009e7991b80620952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f71fe0cf40a7129d0bc229b2e0bb7f7" id="r_a8f71fe0cf40a7129d0bc229b2e0bb7f7"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8f71fe0cf40a7129d0bc229b2e0bb7f7">FileExistsCheck</a> (<a class="el" href="classPMsrRunBlock.html">PMsrRunBlock</a> &amp;runInfo, const UInt_t idx)</td></tr>
<tr class="separator:a8f71fe0cf40a7129d0bc229b2e0bb7f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6be323fc600af964b6b1a19108057d8" id="r_ab6be323fc600af964b6b1a19108057d8"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6be323fc600af964b6b1a19108057d8">FileExistsCheck</a> (const Bool_t fileName, const Int_t idx)</td></tr>
<tr class="separator:ab6be323fc600af964b6b1a19108057d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7777763ddb252b2be65b37611f9cb138" id="r_a7777763ddb252b2be65b37611f9cb138"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7777763ddb252b2be65b37611f9cb138">FileExistsCheck</a> (const TString fileName)</td></tr>
<tr class="separator:a7777763ddb252b2be65b37611f9cb138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b7c956c18e9615466b25b5ea2bfdb8" id="r_a35b7c956c18e9615466b25b5ea2bfdb8"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35b7c956c18e9615466b25b5ea2bfdb8">ReadRootFile</a> ()</td></tr>
<tr class="separator:a35b7c956c18e9615466b25b5ea2bfdb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1488a41c8d729bf888111b0db332b6" id="r_a7a1488a41c8d729bf888111b0db332b6"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a1488a41c8d729bf888111b0db332b6">ReadNexusFile</a> ()</td></tr>
<tr class="separator:a7a1488a41c8d729bf888111b0db332b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32133ede62a5e9b0ff8c817c9cad88c8" id="r_a32133ede62a5e9b0ff8c817c9cad88c8"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a32133ede62a5e9b0ff8c817c9cad88c8">ReadWkmFile</a> ()</td></tr>
<tr class="separator:a32133ede62a5e9b0ff8c817c9cad88c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa764ef9c4b1f226545d563749fcd16e" id="r_afa764ef9c4b1f226545d563749fcd16e"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa764ef9c4b1f226545d563749fcd16e">ReadPsiBinFile</a> ()</td></tr>
<tr class="separator:afa764ef9c4b1f226545d563749fcd16e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a3662595d127e5b19cd100d6b17d6ae" id="r_a8a3662595d127e5b19cd100d6b17d6ae"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8a3662595d127e5b19cd100d6b17d6ae">ReadMudFile</a> ()</td></tr>
<tr class="separator:a8a3662595d127e5b19cd100d6b17d6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1db7c3abeb5c4289de46075a64ac05b" id="r_ab1db7c3abeb5c4289de46075a64ac05b"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1db7c3abeb5c4289de46075a64ac05b">ReadMduAsciiFile</a> ()</td></tr>
<tr class="separator:ab1db7c3abeb5c4289de46075a64ac05b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31fecb1005569147012fdf6733dee32a" id="r_a31fecb1005569147012fdf6733dee32a"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31fecb1005569147012fdf6733dee32a">ReadAsciiFile</a> ()</td></tr>
<tr class="separator:a31fecb1005569147012fdf6733dee32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ef02da0a82f28daec62fff5aff9f81" id="r_a58ef02da0a82f28daec62fff5aff9f81"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58ef02da0a82f28daec62fff5aff9f81">ReadDBFile</a> ()</td></tr>
<tr class="separator:a58ef02da0a82f28daec62fff5aff9f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afae6383d75da191154f179c2fcbb5cbf" id="r_afae6383d75da191154f179c2fcbb5cbf"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afae6383d75da191154f179c2fcbb5cbf">ReadDatFile</a> ()</td></tr>
<tr class="separator:afae6383d75da191154f179c2fcbb5cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf482b06f997ccab9c0f00adaa31499d" id="r_aaf482b06f997ccab9c0f00adaa31499d"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf482b06f997ccab9c0f00adaa31499d">WriteMusrRootFile</a> (Int_t tag=<a class="el" href="group__FileFormats.html#gaf78f32b6730f44eba257f55b27eb467f">A2M_MUSR_ROOT_DIR</a>, TString fln=&quot;&quot;)</td></tr>
<tr class="separator:aaf482b06f997ccab9c0f00adaa31499d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab32fe06b585c59e1ad11bc1183077652" id="r_ab32fe06b585c59e1ad11bc1183077652"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab32fe06b585c59e1ad11bc1183077652">WriteRootFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:ab32fe06b585c59e1ad11bc1183077652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e5bfb3df9ccb1892fc437c9ce00c5e" id="r_af0e5bfb3df9ccb1892fc437c9ce00c5e"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af0e5bfb3df9ccb1892fc437c9ce00c5e">WriteNexusFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:af0e5bfb3df9ccb1892fc437c9ce00c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef7d977726edd564586bb8b6b2cb494" id="r_a4ef7d977726edd564586bb8b6b2cb494"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4ef7d977726edd564586bb8b6b2cb494">WriteWkmFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:a4ef7d977726edd564586bb8b6b2cb494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90b92ba9e43624c5fefb2155bed0a348" id="r_a90b92ba9e43624c5fefb2155bed0a348"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a90b92ba9e43624c5fefb2155bed0a348">WritePsiBinFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:a90b92ba9e43624c5fefb2155bed0a348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ffd77f6087994b447f98339b046b9c0" id="r_a9ffd77f6087994b447f98339b046b9c0"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9ffd77f6087994b447f98339b046b9c0">WriteMudFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:a9ffd77f6087994b447f98339b046b9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a838489a7d54d0ed8b4054100f18ee588" id="r_a838489a7d54d0ed8b4054100f18ee588"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a838489a7d54d0ed8b4054100f18ee588">WriteAsciiFile</a> (TString fln=&quot;&quot;)</td></tr>
<tr class="separator:a838489a7d54d0ed8b4054100f18ee588"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65bab2c0be490a52775ede1116dd60ca" id="r_a65bab2c0be490a52775ede1116dd60ca"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a65bab2c0be490a52775ede1116dd60ca">StripWhitespace</a> (TString &amp;str)</td></tr>
<tr class="separator:a65bab2c0be490a52775ede1116dd60ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6935d38bd9a3f68c79bcc724a182de5f" id="r_a6935d38bd9a3f68c79bcc724a182de5f"><td class="memItemLeft" align="right" valign="top">virtual Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6935d38bd9a3f68c79bcc724a182de5f">IsWhitespace</a> (const Char_t *str)</td></tr>
<tr class="separator:a6935d38bd9a3f68c79bcc724a182de5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff949d7c5be00eea8c7eee2bea2449fd" id="r_aff949d7c5be00eea8c7eee2bea2449fd"><td class="memItemLeft" align="right" valign="top">virtual Double_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aff949d7c5be00eea8c7eee2bea2449fd">ToDouble</a> (TString &amp;str, Bool_t &amp;ok)</td></tr>
<tr class="separator:aff949d7c5be00eea8c7eee2bea2449fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7119302842232cb5fc06e845c72110ef" id="r_a7119302842232cb5fc06e845c72110ef"><td class="memItemLeft" align="right" valign="top">virtual Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7119302842232cb5fc06e845c72110ef">ToInt</a> (TString &amp;str, Bool_t &amp;ok)</td></tr>
<tr class="separator:a7119302842232cb5fc06e845c72110ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab197b73061ebbc13e00dc71a8e6873f3" id="r_ab197b73061ebbc13e00dc71a8e6873f3"><td class="memItemLeft" align="right" valign="top">virtual Int_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab197b73061ebbc13e00dc71a8e6873f3">GetDataTagIndex</a> (TString &amp;str, const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> *fLabels)</td></tr>
<tr class="separator:ab197b73061ebbc13e00dc71a8e6873f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82e06902c11aef701afbe23c31fde820" id="r_a82e06902c11aef701afbe23c31fde820"><td class="memItemLeft" align="right" valign="top">virtual TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a82e06902c11aef701afbe23c31fde820">GenerateOutputFileName</a> (const TString fileName, const TString extension, Bool_t &amp;ok)</td></tr>
<tr class="separator:a82e06902c11aef701afbe23c31fde820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b8d3c170ed661111e7c69221d0dcda8" id="r_a9b8d3c170ed661111e7c69221d0dcda8"><td class="memItemLeft" align="right" valign="top">virtual TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b8d3c170ed661111e7c69221d0dcda8">GetFileName</a> (const TString extension, Bool_t &amp;ok)</td></tr>
<tr class="separator:a9b8d3c170ed661111e7c69221d0dcda8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ff6678170a75dbdfa3cea3e339ff59f" id="r_a1ff6678170a75dbdfa3cea3e339ff59f"><td class="memItemLeft" align="right" valign="top">virtual TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ff6678170a75dbdfa3cea3e339ff59f">FileNameFromTemplate</a> (TString &amp;fileNameTemplate, Int_t run, TString &amp;year, Bool_t &amp;ok)</td></tr>
<tr class="separator:a1ff6678170a75dbdfa3cea3e339ff59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada42d67e3656ac9a98560055b5c782b0" id="r_ada42d67e3656ac9a98560055b5c782b0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ada42d67e3656ac9a98560055b5c782b0">DateToISO8601</a> (std::string inDate, std::string &amp;iso8601Date)</td></tr>
<tr class="separator:ada42d67e3656ac9a98560055b5c782b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29352d28bc9270fe79c7f68e9697349e" id="r_a29352d28bc9270fe79c7f68e9697349e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a29352d28bc9270fe79c7f68e9697349e">SplitTimeDate</a> (TString timeDate, TString &amp;time, TString &amp;date, Bool_t &amp;ok)</td></tr>
<tr class="separator:a29352d28bc9270fe79c7f68e9697349e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa32cf6a1af4f74111994cfb55ba69ee3" id="r_aa32cf6a1af4f74111994cfb55ba69ee3"><td class="memItemLeft" align="right" valign="top">virtual TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa32cf6a1af4f74111994cfb55ba69ee3">GetMonth</a> (Int_t month)</td></tr>
<tr class="separator:aa32cf6a1af4f74111994cfb55ba69ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbbe7ca99e4c17414d3e24ea7af9063a" id="r_afbbe7ca99e4c17414d3e24ea7af9063a"><td class="memItemLeft" align="right" valign="top">virtual TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afbbe7ca99e4c17414d3e24ea7af9063a">GetYear</a> (Int_t month)</td></tr>
<tr class="separator:afbbe7ca99e4c17414d3e24ea7af9063a"><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:a0ebfcbc48b8441228fc3dfdb953da04e" id="r_a0ebfcbc48b8441228fc3dfdb953da04e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPMsrHandler.html">PMsrHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0ebfcbc48b8441228fc3dfdb953da04e">fMsrInfo</a></td></tr>
<tr class="memdesc:a0ebfcbc48b8441228fc3dfdb953da04e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to MSR file handler (not owned, don't delete) <br /></td></tr>
<tr class="separator:a0ebfcbc48b8441228fc3dfdb953da04e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeda2008b0fcf5d4db8c0ab38b98d1319" id="r_aeda2008b0fcf5d4db8c0ab38b98d1319"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeda2008b0fcf5d4db8c0ab38b98d1319">fAny2ManyInfo</a></td></tr>
<tr class="memdesc:aeda2008b0fcf5d4db8c0ab38b98d1319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to any2many conversion configuration (not owned, don't delete) <br /></td></tr>
<tr class="separator:aeda2008b0fcf5d4db8c0ab38b98d1319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7bb03b9bdcb26cdfdbb127b10b1573c" id="r_ab7bb03b9bdcb26cdfdbb127b10b1573c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7bb03b9bdcb26cdfdbb127b10b1573c">fDataPath</a></td></tr>
<tr class="memdesc:ab7bb03b9bdcb26cdfdbb127b10b1573c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search paths for data files (checked sequentially until file found) <br /></td></tr>
<tr class="separator:ab7bb03b9bdcb26cdfdbb127b10b1573c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b61abef2aefd96e733aa437ea72a22" id="r_a70b61abef2aefd96e733aa437ea72a22"><td class="memItemLeft" align="right" valign="top">Bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a70b61abef2aefd96e733aa437ea72a22">fAllDataAvailable</a></td></tr>
<tr class="memdesc:a70b61abef2aefd96e733aa437ea72a22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag: true if all requested data files loaded successfully, false if any failed. <br /></td></tr>
<tr class="separator:a70b61abef2aefd96e733aa437ea72a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa089ac4276a7c0d44cb99e22b20a22e1" id="r_aa089ac4276a7c0d44cb99e22b20a22e1"><td class="memItemLeft" align="right" valign="top">TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa089ac4276a7c0d44cb99e22b20a22e1">fFileFormat</a></td></tr>
<tr class="memdesc:aa089ac4276a7c0d44cb99e22b20a22e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly specified file format (overrides auto-detection) <br /></td></tr>
<tr class="separator:aa089ac4276a7c0d44cb99e22b20a22e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5587ecec10f332fffc187aef1eacef0c" id="r_a5587ecec10f332fffc187aef1eacef0c"><td class="memItemLeft" align="right" valign="top">TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5587ecec10f332fffc187aef1eacef0c">fRunName</a></td></tr>
<tr class="memdesc:a5587ecec10f332fffc187aef1eacef0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current run name being processed (used during file reading) <br /></td></tr>
<tr class="separator:a5587ecec10f332fffc187aef1eacef0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab958f1b2f8e79a685f058bc5a1e30c6d" id="r_ab958f1b2f8e79a685f058bc5a1e30c6d"><td class="memItemLeft" align="right" valign="top">TString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab958f1b2f8e79a685f058bc5a1e30c6d">fRunPathName</a></td></tr>
<tr class="memdesc:ab958f1b2f8e79a685f058bc5a1e30c6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Full path to current data file being read. <br /></td></tr>
<tr class="separator:ab958f1b2f8e79a685f058bc5a1e30c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721a85ce33ca8fb598b949266ac03132" id="r_a721a85ce33ca8fb598b949266ac03132"><td class="memItemLeft" align="right" valign="top"><a class="el" href="PMusr_8h.html#af71b9af496f6bfb296b60f7e2ca0d974">PRawRunDataList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a721a85ce33ca8fb598b949266ac03132">fData</a></td></tr>
<tr class="memdesc:a721a85ce33ca8fb598b949266ac03132"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of all loaded raw run data (histograms + metadata) <br /></td></tr>
<tr class="separator:a721a85ce33ca8fb598b949266ac03132"><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>Raw data file reader and format converter for μSR data. </p>
<p><a class="el" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data.">PRunDataHandler</a> is the comprehensive I/O layer for musrfit, serving as the gateway between raw experimental data files and the fitting framework. It provides unified access to data from different μSR facilities worldwide, handling the complexity of various file formats transparently.</p>
<h1><a class="anchor" id="responsibilities"></a>
Core Responsibilities</h1>
<ul>
<li><b>Data Loading:</b> Reading raw histogram data from multiple file formats</li>
<li><b>Format Conversion:</b> Converting between different μSR data formats (any2many utility)</li>
<li><b>Path Management:</b> Searching multiple directories for data files</li>
<li><b>Metadata Extraction:</b> Reading experimental parameters (field, temperature, beam energy, time)</li>
<li><b>Template Expansion:</b> Resolving run name templates (e.g., "%r" → run number)</li>
<li><b>Run Management:</b> Managing collections of runs for global/simultaneous fits</li>
<li><b>Data Validation:</b> Verifying data integrity and consistency</li>
</ul>
<h1><a class="anchor" id="formats"></a>
Supported File Formats</h1>
<p><b>ROOT-based formats:</b></p><ul>
<li><b>MusrRoot:</b> PSI standard format with complete metadata, run info, and histograms</li>
<li><b>Generic ROOT:</b> Basic ROOT files with minimal structure</li>
</ul>
<p><b>HDF5-based formats:</b></p><ul>
<li><b>NeXus:</b> International standard (ISIS, JPARC) - self-describing, hierarchical</li>
</ul>
<p><b>Binary formats:</b></p><ul>
<li><b>MUD:</b> TRIUMF Muon Data format (binary, platform-specific)</li>
<li><b>PSI-BIN:</b> Legacy PSI binary format</li>
<li><b>WKM:</b> Older PSI format (deprecated, read-only support)</li>
</ul>
<p><b>Text formats:</b></p><ul>
<li><b>MDU ASCII:</b> PSI ASCII format with metadata</li>
<li><b>ASCII:</b> Generic two-column data (time, counts)</li>
<li><b>DB/DAT:</b> Database and data table formats for x-y data</li>
</ul>
<h1><a class="anchor" id="features"></a>
Key Features</h1>
<p><b>Intelligent file searching:</b></p><ul>
<li>Multi-path search (environment variables, default paths)</li>
<li>Run name template expansion: r (run), y (year), p (path)</li>
<li>Automatic format detection based on file extension</li>
<li>Year-based subdirectory organization (e.g., 2024/run2425.root)</li>
</ul>
<p><b>Data management:</b></p><ul>
<li>Caching: Avoid re-reading identical runs in global fits</li>
<li>Validation: Check file existence before attempting reads</li>
<li>Error handling: Graceful failure with informative messages</li>
<li>Batch processing: Handle multiple runs efficiently</li>
</ul>
<p><b>Metadata extraction:</b></p><ul>
<li>Magnetic field (from data file or MSR file)</li>
<li>Sample temperature</li>
<li>Beam energy</li>
<li>Run date/time (ISO 8601 format)</li>
<li>Detector configuration</li>
<li>Time resolution</li>
<li>Time-zero (t0) estimates</li>
</ul>
<h1><a class="anchor" id="usage"></a>
Usage Examples</h1>
<p><b>Reading data for fitting:</b> </p><div class="fragment"><div class="line"><span class="comment">// Constructor reads MSR file and searches default paths</span></div>
<div class="line"><a class="code hl_function" href="#a07eb5aa2ca31749814411631ef7ef30d">PRunDataHandler</a> handler(msrInfo);</div>
<div class="line">handler.ReadData(); <span class="comment">// Loads all runs from MSR RUN blocks</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Access individual run data</span></div>
<div class="line"><a class="code hl_class" href="classPRawRunData.html">PRawRunData</a> *run0 = handler.GetRunData(0);</div>
<div class="line"><a class="code hl_typedef" href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a> *histogram = run0-&gt;<a class="code hl_function" href="classPRawRunData.html#a3156b125b9e2c6b2e643f479ccda500b">GetDataBin</a>(0); <span class="comment">// First detector</span></div>
<div class="ttc" id="aPMusr_8h_html_ae689e7a4bf8a9c0ecf65bcd7d4a0ebde"><div class="ttname"><a href="PMusr_8h.html#ae689e7a4bf8a9c0ecf65bcd7d4a0ebde">PDoubleVector</a></div><div class="ttdeci">std::vector&lt; Double_t &gt; PDoubleVector</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00385">PMusr.h:385</a></div></div>
<div class="ttc" id="aclassPRawRunData_html"><div class="ttname"><a href="classPRawRunData.html">PRawRunData</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00825">PMusr.h:825</a></div></div>
<div class="ttc" id="aclassPRawRunData_html_a3156b125b9e2c6b2e643f479ccda500b"><div class="ttname"><a href="classPRawRunData.html#a3156b125b9e2c6b2e643f479ccda500b">PRawRunData::GetDataBin</a></div><div class="ttdeci">virtual const PDoubleVector * GetDataBin(const UInt_t histoNo)</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00877">PMusr.h:877</a></div></div>
<div class="ttc" id="aclassPRunDataHandler_html_a07eb5aa2ca31749814411631ef7ef30d"><div class="ttname"><a href="#a07eb5aa2ca31749814411631ef7ef30d">PRunDataHandler::PRunDataHandler</a></div><div class="ttdeci">PRunDataHandler()</div><div class="ttdoc">Default constructor creating an uninitialized handler.</div><div class="ttdef"><b>Definition</b> <a href="PRunDataHandler_8cpp_source.html#l00085">PRunDataHandler.cpp:85</a></div></div>
</div><!-- fragment --><p><b>Reading data with custom search paths:</b> </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> paths;</div>
<div class="line">paths.push_back(<span class="stringliteral">&quot;/data/musr/2024&quot;</span>);</div>
<div class="line">paths.push_back(<span class="stringliteral">&quot;/archive/musr&quot;</span>);</div>
<div class="line"> </div>
<div class="line"><a class="code hl_function" href="#a07eb5aa2ca31749814411631ef7ef30d">PRunDataHandler</a> handler(msrInfo, paths);</div>
<div class="line">handler.ReadData();</div>
<div class="ttc" id="aPMusr_8h_html_ae50e503cc0f1bbc1fda5b86735ea9983"><div class="ttname"><a href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a></div><div class="ttdeci">std::vector&lt; TString &gt; PStringVector</div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l00403">PMusr.h:403</a></div></div>
</div><!-- fragment --><p><b>Converting data formats (any2many):</b> </p><div class="fragment"><div class="line"><a class="code hl_struct" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> convInfo;</div>
<div class="line">convInfo.inputFormat = <span class="stringliteral">&quot;nexus&quot;</span>;</div>
<div class="line">convInfo.outputFormat = <span class="stringliteral">&quot;root&quot;</span>;</div>
<div class="line"><span class="comment">// ... configure convInfo ...</span></div>
<div class="line"> </div>
<div class="line"><a class="code hl_function" href="#a07eb5aa2ca31749814411631ef7ef30d">PRunDataHandler</a> handler(&amp;convInfo);</div>
<div class="line">handler.ReadData(); <span class="comment">// Read from NeXus</span></div>
<div class="line">handler.ConvertData(); <span class="comment">// Convert to ROOT</span></div>
<div class="line">handler.WriteData(); <span class="comment">// Write ROOT file</span></div>
<div class="ttc" id="astructPAny2ManyInfo_html"><div class="ttname"><a href="structPAny2ManyInfo.html">PAny2ManyInfo</a></div><div class="ttdef"><b>Definition</b> <a href="PMusr_8h_source.html#l01338">PMusr.h:1338</a></div></div>
</div><!-- fragment --><h1><a class="anchor" id="templates"></a>
Run Name Templates</h1>
<p>Template placeholders in run names are expanded automatically:</p><ul>
<li><b>r</b> → Run number (e.g., 2425)</li>
<li><b>y</b> → 4-digit year (e.g., 2024)</li>
<li><b>Y</b> → 2-digit year (e.g., 24)</li>
<li><b>p</b> → Data path from search list</li>
</ul>
<p>Example: "run%r.root" with run 2425 → "run2425.root"</p>
<h1><a class="anchor" id="thread_safety"></a>
Thread Safety</h1>
<p><a class="el" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data.">PRunDataHandler</a> objects are NOT thread-safe. Each thread should create its own instance or use external synchronization.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPRawRunData.html">PRawRunData</a> for the raw data structure </dd>
<dd>
<a class="el" href="classPMsrHandler.html" title="MSR file parser and manager for the musrfit framework.">PMsrHandler</a> for MSR file parsing </dd>
<dd>
<a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> for format conversion configuration </dd></dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00188">188</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a07eb5aa2ca31749814411631ef7ef30d" name="a07eb5aa2ca31749814411631ef7ef30d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07eb5aa2ca31749814411631ef7ef30d">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[1/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </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 uninitialized handler. </p>
<p>Creates an empty handler with no data loaded. Not typically used directly; prefer constructors that specify data source (MSR file or conversion config).</p>
<p>Empty Constructor </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00085">85</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>.</p>
</div>
</div>
<a id="abbabc32ebab47e4e1394378940c25906" name="abbabc32ebab47e4e1394378940c25906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbabc32ebab47e4e1394378940c25906">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[2/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fileFormat</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for reading a single file with explicit format. </p>
<p>Reads one data file in the specified format. Use this when the format cannot be auto-detected or when you want to override detection.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>Path to data file (absolute or relative) </td></tr>
<tr><td class="paramname">fileFormat</td><td>Format identifier ("root", "nexus", "mud", "wkm", "psibin", "ascii")</td></tr>
</table>
</dd>
</dl>
<p>Example: <a class="el" href="classPRunDataHandler.html" title="Raw data file reader and format converter for μSR data.">PRunDataHandler</a>("run2425.root", "root")</p>
<p>Constructor which just reads a single muSR data file.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td></td></tr>
<tr><td class="paramname">fileFormat</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00099">99</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00421">fFileFormat</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>.</p>
</div>
</div>
<a id="a06a64b99251c27862c003a21eaba77cd" name="a06a64b99251c27862c003a21eaba77cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06a64b99251c27862c003a21eaba77cd">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[3/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fileFormat</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a></td> <td class="paramname"><span class="paramname"><em>dataPath</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for single file with search paths. </p>
<p>Searches multiple directories for the specified file. Useful when data files may be in various locations (current dir, archive, network mount).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>File name or template (e.g., "run%r.root") </td></tr>
<tr><td class="paramname">fileFormat</td><td>Format identifier string </td></tr>
<tr><td class="paramname">dataPath</td><td>Vector of directory paths to search sequentially</td></tr>
</table>
</dd>
</dl>
<p>The handler searches paths in order and uses the first match found.</p>
<p>Constructor which just reads a single muSR data file.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td></td></tr>
<tr><td class="paramname">fileFormat</td><td></td></tr>
<tr><td class="paramname">dataPath</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00116">116</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00421">fFileFormat</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>.</p>
</div>
</div>
<a id="a5b541a38ddf47b91a29052d778350711" name="a5b541a38ddf47b91a29052d778350711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b541a38ddf47b91a29052d778350711">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[4/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fileFormat</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>dataPath</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classPRawRunData.html">PRawRunData</a> &amp;</td> <td class="paramname"><span class="paramname"><em>runData</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for reading single file into pre-allocated structure. </p>
<p>Reads a data file directly into a provided <a class="el" href="classPRawRunData.html">PRawRunData</a> object. Useful for reading auxiliary data or when you want to manage memory explicitly.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>Name of file to read </td></tr>
<tr><td class="paramname">fileFormat</td><td>Format identifier </td></tr>
<tr><td class="paramname">dataPath</td><td>Single directory path to search (not a vector) </td></tr>
<tr><td class="paramname">runData</td><td>Reference to <a class="el" href="classPRawRunData.html">PRawRunData</a> object to fill with data</td></tr>
</table>
</dd>
</dl>
<p>Constructor which just writes a single muSR data file.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td></td></tr>
<tr><td class="paramname">fileFormat</td><td></td></tr>
<tr><td class="paramname">dataPath</td><td></td></tr>
<tr><td class="paramname">runData</td><td></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00134">134</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>.</p>
</div>
</div>
<a id="a4c9a8c29968d60c28e68d45b1cda8aae" name="a4c9a8c29968d60c28e68d45b1cda8aae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c9a8c29968d60c28e68d45b1cda8aae">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[5/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> *</td> <td class="paramname"><span class="paramname"><em>any2ManyInfo</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for format conversion (any2many utility). </p>
<p>Initializes handler for converting between data formats. The any2ManyInfo structure specifies input/output formats, file lists, and conversion options.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">any2ManyInfo</td><td>Pointer to conversion configuration structure</td></tr>
</table>
</dd>
</dl>
<p>Usage: Create <a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a>, set input/output formats and file lists, then call <a class="el" href="#a659f648d3039a91f323ca6718bdb2674" title="Reads all data files specified in MSR file or configuration.">ReadData()</a><a class="el" href="#aff9fe2710e4776fc867e50bb192a0049" title="Performs format conversion (for any2many utility).">ConvertData()</a><a class="el" href="#a77bd0ca0e394261bf0c3e9b6a833f3f4" title="Writes data to file in the specified format.">WriteData()</a></p>
<p>Constructor, reading the data histogramm files.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>pointer to the msr-file handler </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00147">147</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00077">PHR_INIT_ANY2MANY</a>.</p>
</div>
</div>
<a id="a9829f1577f0db90dd2e253571fd513b1" name="a9829f1577f0db90dd2e253571fd513b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9829f1577f0db90dd2e253571fd513b1">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[6/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> *</td> <td class="paramname"><span class="paramname"><em>any2ManyInfo</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a></td> <td class="paramname"><span class="paramname"><em>dataPath</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for format conversion with custom search paths. </p>
<p>Like the any2many constructor, but allows specifying additional directories to search for input files.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">any2ManyInfo</td><td>Pointer to conversion configuration </td></tr>
<tr><td class="paramname">dataPath</td><td>Vector of directories to search for input files</td></tr>
</table>
</dd>
</dl>
<p>Constructor, reading the data histogramm files.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">any2ManyInfo</td><td>pointer to the <a class="el" href="structPAny2ManyInfo.html">PAny2ManyInfo</a> structure needed to convert data </td></tr>
<tr><td class="paramname">dataPath</td><td>contains all data search paths. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00161">161</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00077">PHR_INIT_ANY2MANY</a>.</p>
</div>
</div>
<a id="a5405173e77277b0ef8e47d47face4285" name="a5405173e77277b0ef8e47d47face4285"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5405173e77277b0ef8e47d47face4285">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[7/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </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><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for MSR-based data loading (standard fitting workflow). </p>
<p>Primary constructor used by musrfit for loading data specified in an MSR file. Reads the RUN blocks from the MSR file and loads all referenced data files. Uses default search paths from environment or MSR file settings.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler containing run specifications</td></tr>
</table>
</dd>
</dl>
<p>After construction, call <a class="el" href="#a659f648d3039a91f323ca6718bdb2674" title="Reads all data files specified in MSR file or configuration.">ReadData()</a> to actually load the histogram data.</p>
<p>Constructor, reading the data histogramm files.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>pointer to the msr-file handler </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00175">175</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00076">PHR_INIT_MSR</a>.</p>
</div>
</div>
<a id="aea6c5ab56006accd5d1dee2045459c83" name="aea6c5ab56006accd5d1dee2045459c83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea6c5ab56006accd5d1dee2045459c83">&#9670;&#160;</a></span>PRunDataHandler() <span class="overload">[8/8]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::PRunDataHandler </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">const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a></td> <td class="paramname"><span class="paramname"><em>dataPath</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for MSR-based loading with custom search paths. </p>
<p>Like the MSR constructor, but allows overriding the default search paths. Useful for accessing data in non-standard locations or network mounts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>Pointer to MSR file handler </td></tr>
<tr><td class="paramname">dataPath</td><td>Vector of directory paths to search for data files</td></tr>
</table>
</dd>
</dl>
<p>Paths are searched in order; the first matching file is used.</p>
<p>Constructor, reading the data histogramm files, and keeping a copy of potential search paths.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msrInfo</td><td>pointer to the msr-file handler </td></tr>
<tr><td class="paramname">dataPath</td><td>vector containing search paths where to find raw data files. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00190">190</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00076">PHR_INIT_MSR</a>.</p>
</div>
</div>
<a id="ad23c98899160d6bd526c01939c01c1c1" name="ad23c98899160d6bd526c01939c01c1c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad23c98899160d6bd526c01939c01c1c1">&#9670;&#160;</a></span>~PRunDataHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PRunDataHandler::~PRunDataHandler </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 that frees all loaded data. </p>
<p>Cleans up:</p><ul>
<li>All <a class="el" href="classPRawRunData.html">PRawRunData</a> objects in fData</li>
<li>File path vectors</li>
<li>Temporary buffers</li>
</ul>
<p>Pointers to fMsrInfo and fAny2ManyInfo are NOT deleted (owned externally).</p>
<p>Destructor. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00202">202</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, and <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aff9fe2710e4776fc867e50bb192a0049" name="aff9fe2710e4776fc867e50bb192a0049"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff9fe2710e4776fc867e50bb192a0049">&#9670;&#160;</a></span>ConvertData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PRunDataHandler::ConvertData </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>Performs format conversion (for any2many utility). </p>
<p>Converts data already loaded by <a class="el" href="#a659f648d3039a91f323ca6718bdb2674" title="Reads all data files specified in MSR file or configuration.">ReadData()</a> to the output format specified in fAny2ManyInfo. This is an internal preprocessing step before <a class="el" href="#a77bd0ca0e394261bf0c3e9b6a833f3f4" title="Writes data to file in the specified format.">WriteData()</a>.</p>
<p>Conversion operations may include:</p><ul>
<li>Data structure reorganization</li>
<li>Metadata format translation</li>
<li>Histogram rebinning or resampling</li>
<li>Endianness conversion (for binary formats)</li>
</ul>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="#a659f648d3039a91f323ca6718bdb2674" title="Reads all data files specified in MSR file or configuration.">ReadData()</a> must have been called to load source data </dd>
<dd>
fAny2ManyInfo must specify valid output format</dd></dl>
<p>Read data and convert it. This routine is used by any2many. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00313">313</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00420">fAllDataAvailable</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="ada42d67e3656ac9a98560055b5c782b0" name="ada42d67e3656ac9a98560055b5c782b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada42d67e3656ac9a98560055b5c782b0">&#9670;&#160;</a></span>DateToISO8601()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PRunDataHandler::DateToISO8601 </td>
<td>(</td>
<td class="paramtype">std::string</td> <td class="paramname"><span class="paramname"><em>inDate</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string &amp;</td> <td class="paramname"><span class="paramname"><em>iso8601Date</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If possible converts a inDate, into a ISO8601 standard date.</p>
<p><b>return:</b> true if conversion was successfull otherwise false.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inDate</td><td>input date which should be converted to an ISO 8601 date. </td></tr>
<tr><td class="paramname">iso8601Date</td><td>on success the converted iso8601Date, otherwise an empty string </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06470">6470</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>.</p>
</div>
</div>
<a id="af4463cf30b54e1b345281464b9892693" name="af4463cf30b54e1b345281464b9892693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4463cf30b54e1b345281464b9892693">&#9670;&#160;</a></span>FileAlreadyRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::FileAlreadyRead </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>runName</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a file has been already read in order to prevent multiple reading of data files.</p>
<p><b>return:</b></p><ul>
<li>true if the file has been read before,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runName</td><td>run name to be check if the corresponding file is already read. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00921">921</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="ab6be323fc600af964b6b1a19108057d8" name="ab6be323fc600af964b6b1a19108057d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6be323fc600af964b6b1a19108057d8">&#9670;&#160;</a></span>FileExistsCheck() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::FileExistsCheck </td>
<td>(</td>
<td class="paramtype">const Bool_t</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Int_t</td> <td class="paramname"><span class="paramname"><em>idx</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a given data file exists. Used for the any2many program.</p>
<p><b>return:</b></p><ul>
<li>true if data file exists,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>flag showing if a file name shall be handled or a run number </td></tr>
<tr><td class="paramname">idx</td><td>index of the run. idx == -1 means that a single input data file name is given. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l01257">1257</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06381">FileNameFromTemplate()</a>, and <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>.</p>
</div>
</div>
<a id="a7777763ddb252b2be65b37611f9cb138" name="a7777763ddb252b2be65b37611f9cb138"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7777763ddb252b2be65b37611f9cb138">&#9670;&#160;</a></span>FileExistsCheck() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::FileExistsCheck </td>
<td>(</td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a given data file exists. Used for the any2many program.</p>
<p><b>return:</b></p><ul>
<li>true if data file exists,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>file name </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l01353">1353</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, and <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>.</p>
</div>
</div>
<a id="a8f71fe0cf40a7129d0bc229b2e0bb7f7" name="a8f71fe0cf40a7129d0bc229b2e0bb7f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f71fe0cf40a7129d0bc229b2e0bb7f7">&#9670;&#160;</a></span>FileExistsCheck() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::FileExistsCheck </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPMsrRunBlock.html">PMsrRunBlock</a> &amp;</td> <td class="paramname"><span class="paramname"><em>runInfo</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const UInt_t</td> <td class="paramname"><span class="paramname"><em>idx</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a given data file exists.</p>
<p><b>return:</b></p><ul>
<li>true if data file exists,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runInfo</td><td>reference to the msr-run-structure </td></tr>
<tr><td class="paramname">idx</td><td>index of the run (needed for ADDRUN feature). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">1048</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00418">fDataPath</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8cpp_source.html#l01327">PMsrRunBlock::GetBeamline()</a>, <a class="el" href="PMusr_8cpp_source.html#l01411">PMsrRunBlock::GetFileFormat()</a>, <a class="el" href="PMusr_8cpp_source.html#l01369">PMsrRunBlock::GetInstitute()</a>, <a class="el" href="PMusr_8cpp_source.html#l01285">PMsrRunBlock::GetRunName()</a>, <a class="el" href="PMusr_8cpp_source.html#l01344">PMsrRunBlock::SetBeamline()</a>, <a class="el" href="PMusr_8cpp_source.html#l01428">PMsrRunBlock::SetFileFormat()</a>, <a class="el" href="PMusr_8cpp_source.html#l01386">PMsrRunBlock::SetInstitute()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00942">TestFileName()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00099">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00116">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a1ff6678170a75dbdfa3cea3e339ff59f" name="a1ff6678170a75dbdfa3cea3e339ff59f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ff6678170a75dbdfa3cea3e339ff59f">&#9670;&#160;</a></span>FileNameFromTemplate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::FileNameFromTemplate </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>fileNameTemplate</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Int_t</td> <td class="paramname"><span class="paramname"><em>run</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>year</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Will, based on the fileNameTemplate construct a file name. The file name template has a run tag and a year tag. The run tag has the form [rrrr], whereas the number of 'r' defines the length of this string part. If the run number is shorter, leading zeros will be filled, e.g. [rrrrrr] and run==123 will lead to '000123'. The same is true for the year tag [yy], except that the length must agree. For example: fileNameTemplate = d[yyyy]/deltat_tdc_gps_[rrrr].bin, run = 123, year = 2009 will result in 'd2009/deltat_tdc_gps_0123.bin'.</p>
<p><b>return:</b></p><ul>
<li>constructed file name from template, run number, and year</li>
<li>empty string</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">template</td><td>template string </td></tr>
<tr><td class="paramname">run</td><td>run number </td></tr>
<tr><td class="paramname">year</td><td>year </td></tr>
<tr><td class="paramname">ok</td><td>true if operation went smooth, otherwise false </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06381">6381</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01257">FileExistsCheck()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a82e06902c11aef701afbe23c31fde820" name="a82e06902c11aef701afbe23c31fde820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82e06902c11aef701afbe23c31fde820">&#9670;&#160;</a></span>GenerateOutputFileName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::GenerateOutputFileName </td>
<td>(</td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>extension</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Generates the output file name (any2many). It also makes sure that the generated output file name does not coincidentally is identical to an already existing file.</p>
<p><b>return:</b></p><ul>
<li>constructed file name</li>
<li>empty string</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td></td></tr>
<tr><td class="paramname">extension</td><td>if the file name to be constructed </td></tr>
<tr><td class="paramname">ok</td><td>flag which is 'true' if the file name could be constructed, 'false' otherwise </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">6274</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l06330">GetFileName()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l05900">WriteAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">WriteMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">WriteMusrRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">WriteNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04813">WriteRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l05334">WriteWkmFile()</a>.</p>
</div>
</div>
<a id="ab197b73061ebbc13e00dc71a8e6873f3" name="ab197b73061ebbc13e00dc71a8e6873f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab197b73061ebbc13e00dc71a8e6873f3">&#9670;&#160;</a></span>GetDataTagIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Int_t PRunDataHandler::GetDataTagIndex </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> *</td> <td class="paramname"><span class="paramname"><em>dataTags</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if str is in a list of data tags</p>
<p><b>return:</b></p><ul>
<li>if found returns the data tag index (from the dataTags vector),</li>
<li>otherwise -1</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>data tag string (see description of nonMusr db-data) </td></tr>
<tr><td class="paramname">dataTags</td><td>vector of all data tags </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06242">6242</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">ReadDBFile()</a>.</p>
</div>
</div>
<a id="a9b8d3c170ed661111e7c69221d0dcda8" name="a9b8d3c170ed661111e7c69221d0dcda8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b8d3c170ed661111e7c69221d0dcda8">&#9670;&#160;</a></span>GetFileName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::GetFileName </td>
<td>(</td>
<td class="paramtype">const TString</td> <td class="paramname"><span class="paramname"><em>extension</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the file name based on the any2many request.</p>
<p><b>return:</b></p><ul>
<li>constructed file name</li>
<li>empty string</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extension</td><td>if the file name to be constructed </td></tr>
<tr><td class="paramname">ok</td><td>flag which is 'true' if the file name could be constructed, 'false' otherwise </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06330">6330</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, and <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>.</p>
</div>
</div>
<a id="aa32cf6a1af4f74111994cfb55ba69ee3" name="aa32cf6a1af4f74111994cfb55ba69ee3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa32cf6a1af4f74111994cfb55ba69ee3">&#9670;&#160;</a></span>GetMonth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::GetMonth </td>
<td>(</td>
<td class="paramtype">Int_t</td> <td class="paramname"><span class="paramname"><em>month</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>given the month as number, convert it to a 3 character month. If month is out of range (i.e. not between 1 and 12) a '???' will be returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">month</td><td>as number </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06527">6527</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>.</p>
</div>
</div>
<a id="a4d821b24a0e3caf548efa8737ca7f3c4" name="a4d821b24a0e3caf548efa8737ca7f3c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d821b24a0e3caf548efa8737ca7f3c4">&#9670;&#160;</a></span>GetNoOfRunData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Int_t PRunDataHandler::GetNoOfRunData </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 class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of loaded run data sets. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of runs currently loaded in fData </dd></dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00399">399</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>.</p>
</div>
</div>
<a id="a94d54d9c5198ff0b9e8f136eccd24a82" name="a94d54d9c5198ff0b9e8f136eccd24a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94d54d9c5198ff0b9e8f136eccd24a82">&#9670;&#160;</a></span>GetRunData() <span class="overload">[1/2]</span></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> * PRunDataHandler::GetRunData </td>
<td>(</td>
<td class="paramtype">const TString &amp;</td> <td class="paramname"><span class="paramname"><em>runName</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>Retrieves run data by run name. </p>
<p>Searches fData for a run with matching name. Run names are extracted from data files or MSR RUN blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runName</td><td>Name of run to retrieve (e.g., "2425", "run2425") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to <a class="el" href="classPRawRunData.html">PRawRunData</a> if found, nullptr otherwise</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Pointer is valid until handler destruction or data reload</dd></dl>
<p>Checks if runName is found, and if so return these data. runName is as given in the msr-file.</p>
<p><b>return:</b></p><ul>
<li>if data are found: pointer to the data.</li>
<li>otherwise the null pointer will be returned.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runName</td><td>run name, e.g. 2009/lem09_his_1234 </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00221">221</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>.</p>
<p class="reference">Referenced by <a class="el" href="musrFT_8cpp_source.html#l00787">musrFT_groupHistos()</a>.</p>
</div>
</div>
<a id="a7cfc369ee6d6f62e466e91181353d08b" name="a7cfc369ee6d6f62e466e91181353d08b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cfc369ee6d6f62e466e91181353d08b">&#9670;&#160;</a></span>GetRunData() <span class="overload">[2/2]</span></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> * PRunDataHandler::GetRunData </td>
<td>(</td>
<td class="paramtype">const UInt_t</td> <td class="paramname"><span class="paramname"><em>idx</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</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>Retrieves run data by index. </p>
<p>Returns run data from the internal list by position. Index corresponds to the order in the MSR file RUN blocks or any2many file list.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">idx</td><td>Run index (0-based, default=0 for first run) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to <a class="el" href="classPRawRunData.html">PRawRunData</a> if index valid, nullptr if out of range</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Pointer is valid until handler destruction or data reload</dd></dl>
<p>return data-set with index idx.</p>
<p><b>return:</b></p><ul>
<li>if data are found: pointer to the data.</li>
<li>otherwise the null pointer will be returned.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">idx</td><td>index of the raw data set. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00248">248</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>.</p>
</div>
</div>
<a id="afbbe7ca99e4c17414d3e24ea7af9063a" name="afbbe7ca99e4c17414d3e24ea7af9063a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbbe7ca99e4c17414d3e24ea7af9063a">&#9670;&#160;</a></span>GetYear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::GetYear </td>
<td>(</td>
<td class="paramtype">Int_t</td> <td class="paramname"><span class="paramname"><em>year</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>given the year as number, convert it to a 2 character year. If year is out of range '??' will be returned. This routine will break in the year 2100 or later ;-)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">year</td><td>as number </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06585">6585</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>.</p>
</div>
</div>
<a id="ae52ef738577fd00037ed585910ec2836" name="ae52ef738577fd00037ed585910ec2836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae52ef738577fd00037ed585910ec2836">&#9670;&#160;</a></span>Init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PRunDataHandler::Init </td>
<td>(</td>
<td class="paramtype">const Int_t</td> <td class="paramname"><span class="paramname"><em>tag</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Common initializer. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">428</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00420">fAllDataAvailable</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00421">fFileFormat</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00075">PHR_INIT_ALL</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00077">PHR_INIT_ANY2MANY</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00076">PHR_INIT_MSR</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00085">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00147">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00161">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00175">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00190">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00099">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00116">PRunDataHandler()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00134">PRunDataHandler()</a>.</p>
</div>
</div>
<a id="a8e086e154ce71a2bbb35f4ffe92b3c9c" name="a8e086e154ce71a2bbb35f4ffe92b3c9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e086e154ce71a2bbb35f4ffe92b3c9c">&#9670;&#160;</a></span>IsAllDataAvailable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Bool_t PRunDataHandler::IsAllDataAvailable </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</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>Checks if all required data files were successfully loaded. </p>
<p>Returns false if any file specified in the MSR file or configuration could not be found or loaded. Useful for validating data availability before starting a fit.</p>
<dl class="section return"><dt>Returns</dt><dd>True if all data loaded successfully, false if any file missing or failed </dd></dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00366">366</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00420">fAllDataAvailable</a>.</p>
</div>
</div>
<a id="a6935d38bd9a3f68c79bcc724a182de5f" name="a6935d38bd9a3f68c79bcc724a182de5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6935d38bd9a3f68c79bcc724a182de5f">&#9670;&#160;</a></span>IsWhitespace()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::IsWhitespace </td>
<td>(</td>
<td class="paramtype">const Char_t *</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a string consists only of white spaces, i.e. spaces and/or ctrl-characters.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to be checked </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06113">6113</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="a31fecb1005569147012fdf6733dee32a" name="a31fecb1005569147012fdf6733dee32a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31fecb1005569147012fdf6733dee32a">&#9670;&#160;</a></span>ReadAsciiFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadAsciiFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads ascii files. Intended for the nonMuSR data.</p>
<p>The file format definition is: Comment lines start with a '#' or '' character. The file can start with some header info. The header is optional, as all its tags, but if present it has the following format:</p>
<pre class="fragment">* HEADER
* TITLE: title
* X-AXIS-TITLE: x-axis title
* Y-AXIS-TITLE: y-axis title
* SETUP: setup
* FIELD: field
* TEMP: temperature
* ENERGY: energy
* </pre><p>field is assumed to be given in (G), the temperature in (K), the energy in (keV)</p>
<p>The data are read column like and start with the data tag DATA, followed by the data columns, i.e.:</p>
<pre class="fragment">* DATA
* x, y [, error y]
* </pre><p>where spaces, column, are a tab are possible separations. If no error in y is present, the weighting in the fit will be equal.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l03726">3726</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8h_source.html#l00590">PNonMusrRawRunData::AppendData()</a>, <a class="el" href="PMusr_8h_source.html#l00593">PNonMusrRawRunData::AppendErrData()</a>, <a class="el" href="PMusr_8h_source.html#l00575">PNonMusrRawRunData::AppendLabel()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PMusr_8h_source.html#l00918">PRawRunData::fDataNonMusr</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, <a class="el" href="PMusr_8h_source.html#l00911">PRawRunData::SetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00564">PNonMusrRawRunData::SetFromAscii()</a>, <a class="el" href="PMusr_8cpp_source.html#l00189">PNonMusrRawRunData::SetLabel()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, and <a class="el" href="PMusr_8h_source.html#l00912">PRawRunData::SetTransport()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="a659f648d3039a91f323ca6718bdb2674" name="a659f648d3039a91f323ca6718bdb2674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a659f648d3039a91f323ca6718bdb2674">&#9670;&#160;</a></span>ReadData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PRunDataHandler::ReadData </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>Reads all data files specified in MSR file or configuration. </p>
<p>Main data loading method that:</p><ol type="1">
<li>Iterates through run specifications (from MSR or any2many config)</li>
<li>Searches data paths for each file using template expansion</li>
<li>Detects file format (from extension or explicit specification)</li>
<li>Calls appropriate format-specific reader (ReadRootFile, ReadNexusFile, etc.)</li>
<li>Extracts metadata (field, temperature, time resolution)</li>
<li>Validates histogram data integrity</li>
<li>Caches data to avoid re-reading in global fits</li>
</ol>
<p>Must be called after construction and before accessing data via <a class="el" href="#a94d54d9c5198ff0b9e8f136eccd24a82" title="Retrieves run data by run name.">GetRunData()</a>. Sets fAllDataAvailable flag based on success/failure.</p>
<dl class="section post"><dt>Postcondition</dt><dd>fData contains loaded run data, fAllDataAvailable indicates success</dd></dl>
<p>Read data. Used to read data, either msr-file triggered, or a single explicit data file should be read. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">263</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00420">fAllDataAvailable</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00421">fFileFormat</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="afae6383d75da191154f179c2fcbb5cbf" name="afae6383d75da191154f179c2fcbb5cbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afae6383d75da191154f179c2fcbb5cbf">&#9670;&#160;</a></span>ReadDatFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadDatFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads column like data sets as generated by msr2data with the option 'data'. This can be used for the 'non muSR fit' type.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l04390">4390</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8h_source.html#l00587">PNonMusrRawRunData::AppendDataTag()</a>, <a class="el" href="PMusr_8h_source.html#l00575">PNonMusrRawRunData::AppendLabel()</a>, <a class="el" href="PMusr_8cpp_source.html#l00209">PNonMusrRawRunData::AppendSubData()</a>, <a class="el" href="PMusr_8cpp_source.html#l00229">PNonMusrRawRunData::AppendSubErrData()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PMusr_8h_source.html#l00918">PRawRunData::fDataNonMusr</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00558">PNonMusrRawRunData::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00560">PNonMusrRawRunData::GetErrData()</a>, <a class="el" href="PMusr_8h_source.html#l00564">PNonMusrRawRunData::SetFromAscii()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, and <a class="el" href="PMusr_8cpp_source.html#l00162">PNonMusrRawRunData::SetSize()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="a58ef02da0a82f28daec62fff5aff9f81" name="a58ef02da0a82f28daec62fff5aff9f81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58ef02da0a82f28daec62fff5aff9f81">&#9670;&#160;</a></span>ReadDBFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadDBFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads triumf db-files. Intended for the nonMuSR data.</p>
<p>The file format definition is: The following is a description of the features of the TRIUMF .db file format that are currently recognized by musrfit/musrview. The available commands include: title, abstract, comments, labels, and data.</p>
<pre class="fragment">* TITLE
* The following line must contain the title.
*
*
* ABSTRACT
* The abstract is read in starting with the following line until an empty line is reached.
*
* COMMENTS
* The comments are read in starting with the following line until an empty line is reached.
*
*
* LABELS
* One label must occupy each subsequent line until an empty line is reached. The number
* of labels should preferably match the number of variables in the data.
*
* DATA
* On the same line as the DATA command, there must appear a comma-delimited list of variable
* names. These names should be kept short (some applications truncate to 4 characters). The
* numerical data is read in beginning with the following line until an empty line is reached.
*
* In every line, there must appear exactly 3 comma-delimited fields for each specified name.
* The first field is the value, the second is the positive error, and the third is the negative
* error. If you leave the last field blank (the comma is still required), then the positive error
* will be interpreted as a symmetric error. If you include only the value, then the errors will be
* set to zero.
*
* To reiterate, if you provide a DATA command with 2 names, e.g. "DATA 1st, 2nd", then every subsequent
* line must contain 2*3 - 1 = 5 commas. If you give 3 names, then there must be 3*3 - 1 = 8 commas.
*
* Example
* TITLE
* Most Excellent Fake Data
*
* ABSTRACT
* This data was collected over
* many minutes of light work
* that was required to make it up.
*
* COMMENTS
* This data was generated using C++.
* The file was formatted with Emacs.
*
* LABEL
* Randomized Linear
* Randomized Gaussian
* Randomized Lorentzian
* Run
*
* DATA line, gauss, lrntz, run
* -1.966, -0.168, -0.106, 0.048, 0.002, 0.005, 0.184, 0.010, 0.017, 1001, , , run 1001 title
* -1.895, -0.151, -0.128, 0.014, 0.001, 0.001, 0.259, 0.017, 0.015, 1002, , , run 1002 title
* -1.836, -0.127, -0.184, 0.013, 0.001, 0.001, 0.202, 0.017, 0.020, 1003, , , run 1003 title
* -1.739, -0.064, -0.166, 0.057, 0.003, 0.004, 0.237, 0.016, 0.018, 1004, , , run 1004 title
* -1.601, -0.062, -0.147, 0.104, 0.008, 0.006, 0.271, 0.012, 0.025, 1005, , , run 1005 title
* . . . . . . . . .
* . . . . . . . . .
* . . . . . . . . .
* Alternatively, the data often utilizes the continuation character ('\') and is labelled like
* DATA line, gauss, lrntz
* linear = -1.966, -0.168, -0.106, \
* gaussn = 0.048, 0.002, 0.005, \
* lorntz = 0.184, 0.010, 0.017, \
* 1001,,, run 1001 title
* linear = -1.895, -0.151, -0.128, \
* gaussn = 0.014, 0.001, 0.001, \
* lorntz = 0.259, 0.017, 0.015, |
* 1002,,, run 1002 title
* linear = -1.836, -0.127, -0.184, \
* gaussn = 0.013, 0.001, 0.001, \
* lorntz = 0.202, 0.017, 0.020, |
* 1003,,, run 1003 title
* . . . .
* . . . .
* . . . .
* If there is a run line as in the above examples, it must be at the end of the data and given
* in this just slight odd manner (do not blame me, I haven't invented this format ;-) ).
* </pre><p><b>WARNING:</b>For the row like data representation (the top DATA representation shown) it is essential that there are always at least one space inbetween commas (the reason is that I am too lazy to write my own tokenizer), e.g.</p>
<pre class="fragment">* -1.966, -0.168, , 0.048, , , 0.184, 0.010, 0.017, 1001, , , run 1001 title
* </pre><p>which is ok, but</p>
<pre class="fragment">* -1.966, -0.168,, 0.048,,, 0.184, 0.010, 0.017, 1001,,, run 1001 title
* </pre><p>will <b>not</b> work!</p>
<p>Some db-files do have a '\-e' or '\e' label just between the DATA tag line and the real data. This tag will just be ignored.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">4044</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8h_source.html#l00590">PNonMusrRawRunData::AppendData()</a>, <a class="el" href="PMusr_8h_source.html#l00587">PNonMusrRawRunData::AppendDataTag()</a>, <a class="el" href="PMusr_8h_source.html#l00593">PNonMusrRawRunData::AppendErrData()</a>, <a class="el" href="PMusr_8h_source.html#l00575">PNonMusrRawRunData::AppendLabel()</a>, <a class="el" href="PMusr_8cpp_source.html#l00209">PNonMusrRawRunData::AppendSubData()</a>, <a class="el" href="PMusr_8cpp_source.html#l00229">PNonMusrRawRunData::AppendSubErrData()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PMusr_8h_source.html#l00918">PRawRunData::fDataNonMusr</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00558">PNonMusrRawRunData::GetData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06242">GetDataTagIndex()</a>, <a class="el" href="PMusr_8h_source.html#l00556">PNonMusrRawRunData::GetDataTags()</a>, <a class="el" href="PMusr_8h_source.html#l00560">PNonMusrRawRunData::GetErrData()</a>, <a class="el" href="PMusr_8h_source.html#l00554">PNonMusrRawRunData::GetLabels()</a>, <a class="el" href="PMusr_8h_source.html#l00564">PNonMusrRawRunData::SetFromAscii()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, and <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="a69ebc8312ebe174b5f3f974771738215" name="a69ebc8312ebe174b5f3f974771738215"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69ebc8312ebe174b5f3f974771738215">&#9670;&#160;</a></span>ReadFilesMsr()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadFilesMsr </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The main read file routine which is filtering what read sub-routine needs to be called. Called when the input is a msr-file.</p>
<p><b>return:</b></p><ul>
<li>true if reading was successful,</li>
<li>false if reading failed. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">452</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8cpp_source.html#l00921">FileAlreadyRead()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00416">fMsrInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00073">PRH_PPC_OFFSET</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03726">ReadAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04390">ReadDatFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">ReadDBFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03413">ReadMduAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>.</p>
</div>
</div>
<a id="ab1db7c3abeb5c4289de46075a64ac05b" name="ab1db7c3abeb5c4289de46075a64ac05b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1db7c3abeb5c4289de46075a64ac05b">&#9670;&#160;</a></span>ReadMduAsciiFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadMduAsciiFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the mdu ascii files (PSI). Needed to work around PSI-BIN limitations.</p>
<p>Lines starting with '#' or '' are considered as comment lines. The file has the following structure: </p><pre class="fragment">* HEADER
* TITLE: title-string
* SETUP: setup-string
* FIELD: val-string (G) or (T) (e.g. 123456 (G))
* TEMP: val-string (K)
* GROUPS: # of histograms written
* CHANNELS: # of bins per histogram written
* RESOLUTION: timeresolution (fs) or (ps) or (ns) or (us)
* </pre><p> followed by the data, which are written in column format, starting with the DATA tag, i.e. </p><pre class="fragment">* DATA
*
* </pre><p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l03413">3413</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, and <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="a8a3662595d127e5b19cd100d6b17d6ae" name="a8a3662595d127e5b19cd100d6b17d6ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a3662595d127e5b19cd100d6b17d6ae">&#9670;&#160;</a></span>ReadMudFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadMudFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the triumf mud-file format.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">3051</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, <a class="el" href="PMusr_8h_source.html#l00887">PRawRunData::SetBeamline()</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00911">PRawRunData::SetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00682">PRawRunDataSet::SetFirstBkgBin()</a>, <a class="el" href="PMusr_8h_source.html#l00676">PRawRunDataSet::SetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00888">PRawRunData::SetInstrument()</a>, <a class="el" href="PMusr_8h_source.html#l00886">PRawRunData::SetLaboratory()</a>, <a class="el" href="PMusr_8h_source.html#l00685">PRawRunDataSet::SetLastBkgBin()</a>, <a class="el" href="PMusr_8h_source.html#l00679">PRawRunDataSet::SetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00894">PRawRunData::SetRunNumber()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00906">PRawRunData::SetSample()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8h_source.html#l00898">PRawRunData::SetStartDate()</a>, <a class="el" href="PMusr_8h_source.html#l00899">PRawRunData::SetStartDateTime()</a>, <a class="el" href="PMusr_8h_source.html#l00897">PRawRunData::SetStartTime()</a>, <a class="el" href="PMusr_8h_source.html#l00901">PRawRunData::SetStopDate()</a>, <a class="el" href="PMusr_8h_source.html#l00902">PRawRunData::SetStopDateTime()</a>, <a class="el" href="PMusr_8h_source.html#l00900">PRawRunData::SetStopTime()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00670">PRawRunDataSet::SetTimeZeroBin()</a>, <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>, and <a class="el" href="PMusr_8h_source.html#l00912">PRawRunData::SetTransport()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a7a1488a41c8d729bf888111b0db332b6" name="a7a1488a41c8d729bf888111b0db332b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a1488a41c8d729bf888111b0db332b6">&#9670;&#160;</a></span>ReadNexusFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadNexusFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Will read the NeXuS File Format as soon as PSI will have an implementation.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">2137</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, <a class="el" href="PMusr_8h_source.html#l00887">PRawRunData::SetBeamline()</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00911">PRawRunData::SetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00676">PRawRunDataSet::SetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00888">PRawRunData::SetInstrument()</a>, <a class="el" href="PMusr_8h_source.html#l00886">PRawRunData::SetLaboratory()</a>, <a class="el" href="PMusr_8h_source.html#l00679">PRawRunDataSet::SetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00889">PRawRunData::SetMuonSource()</a>, <a class="el" href="PMusr_8h_source.html#l00890">PRawRunData::SetMuonSpecies()</a>, <a class="el" href="PMusr_8h_source.html#l00907">PRawRunData::SetOrientation()</a>, <a class="el" href="PMusr_8cpp_source.html#l00734">PRawRunData::SetRingAnode()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00894">PRawRunData::SetRunNumber()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00906">PRawRunData::SetSample()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8h_source.html#l00898">PRawRunData::SetStartDate()</a>, <a class="el" href="PMusr_8h_source.html#l00897">PRawRunData::SetStartTime()</a>, <a class="el" href="PMusr_8h_source.html#l00901">PRawRunData::SetStopDate()</a>, <a class="el" href="PMusr_8h_source.html#l00900">PRawRunData::SetStopTime()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00670">PRawRunDataSet::SetTimeZeroBin()</a>, <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>, <a class="el" href="PMusr_8h_source.html#l00912">PRawRunData::SetTransport()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l06500">SplitTimeDate()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="afa764ef9c4b1f226545d563749fcd16e" name="afa764ef9c4b1f226545d563749fcd16e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa764ef9c4b1f226545d563749fcd16e">&#9670;&#160;</a></span>ReadPsiBinFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadPsiBinFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the old-fashioned PSI-BIN data-files. The MuSR_td_PSI_bin class of Alex Amato is used. In case of problems, please contact <a href="#" onclick="location.href='mai'+'lto:'+'ale'+'x.'+'ama'+'to'+'@ps'+'i.'+'ch'; return false;">alex.<span class="obfuscator">.nosp@m.</span>amat<span class="obfuscator">.nosp@m.</span>o@psi<span class="obfuscator">.nosp@m.</span>.ch</a>.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">2805</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06470">DateToISO8601()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>, <a class="el" href="PMusr_8h_source.html#l00887">PRawRunData::SetBeamline()</a>, <a class="el" href="PMusr_8h_source.html#l00884">PRawRunData::SetComment()</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00911">PRawRunData::SetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00885">PRawRunData::SetFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00676">PRawRunDataSet::SetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00888">PRawRunData::SetInstrument()</a>, <a class="el" href="PMusr_8h_source.html#l00886">PRawRunData::SetLaboratory()</a>, <a class="el" href="PMusr_8h_source.html#l00679">PRawRunDataSet::SetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00889">PRawRunData::SetMuonSource()</a>, <a class="el" href="PMusr_8h_source.html#l00890">PRawRunData::SetMuonSpecies()</a>, <a class="el" href="PMusr_8h_source.html#l00664">PRawRunDataSet::SetName()</a>, <a class="el" href="PMusr_8h_source.html#l00907">PRawRunData::SetOrientation()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00894">PRawRunData::SetRunNumber()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00906">PRawRunData::SetSample()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8h_source.html#l00898">PRawRunData::SetStartDate()</a>, <a class="el" href="PMusr_8h_source.html#l00897">PRawRunData::SetStartTime()</a>, <a class="el" href="PMusr_8h_source.html#l00901">PRawRunData::SetStopDate()</a>, <a class="el" href="PMusr_8h_source.html#l00900">PRawRunData::SetStopTime()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00670">PRawRunDataSet::SetTimeZeroBin()</a>, <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>, <a class="el" href="PMusr_8h_source.html#l00912">PRawRunData::SetTransport()</a>, and <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a35b7c956c18e9615466b25b5ea2bfdb8" name="a35b7c956c18e9615466b25b5ea2bfdb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35b7c956c18e9615466b25b5ea2bfdb8">&#9670;&#160;</a></span>ReadRootFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadRootFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads both, the "old" LEM-data ROOT-files with TLemRunHeader, and the more general new MusrRoot file.</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">1419</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PMusr_8h_source.html#l00908">PRawRunData::ClearTemperature()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="TMusrRunHeader_8h_source.html#l00094">TMusrRunPhysicalQuantity::GetError()</a>, <a class="el" href="TMusrRunHeader_8h_source.html#l00095">TMusrRunPhysicalQuantity::GetUnit()</a>, <a class="el" href="TMusrRunHeader_8h_source.html#l00093">TMusrRunPhysicalQuantity::GetValue()</a>, <a class="el" href="TMusrRunHeader_8h_source.html#l00043">MRH_UNDEFINED</a>, <a class="el" href="PMusr_8h_source.html#l00163">POST_PILEUP_HISTO_OFFSET</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00070">PRH_LEM_ROOT</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00068">PRH_MUSR_ROOT</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00069">PRH_MUSR_ROOT_DIR</a>, <a class="el" href="PMusr_8h_source.html#l00887">PRawRunData::SetBeamline()</a>, <a class="el" href="PMusr_8h_source.html#l00884">PRawRunData::SetComment()</a>, <a class="el" href="PMusr_8h_source.html#l00905">PRawRunData::SetCryoName()</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00911">PRawRunData::SetEnergy()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00885">PRawRunData::SetFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00676">PRawRunDataSet::SetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00883">PRawRunData::SetGenerator()</a>, <a class="el" href="PMusr_8h_source.html#l00881">PRawRunData::SetGenericValidatorUrl()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00888">PRawRunData::SetInstrument()</a>, <a class="el" href="PMusr_8h_source.html#l00886">PRawRunData::SetLaboratory()</a>, <a class="el" href="PMusr_8h_source.html#l00679">PRawRunDataSet::SetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00903">PRawRunData::SetMagnetName()</a>, <a class="el" href="PMusr_8h_source.html#l00891">PRawRunData::SetMuonBeamMomentum()</a>, <a class="el" href="PMusr_8h_source.html#l00889">PRawRunData::SetMuonSource()</a>, <a class="el" href="PMusr_8h_source.html#l00890">PRawRunData::SetMuonSpecies()</a>, <a class="el" href="PMusr_8h_source.html#l00892">PRawRunData::SetMuonSpinAngle()</a>, <a class="el" href="PMusr_8h_source.html#l00664">PRawRunDataSet::SetName()</a>, <a class="el" href="PMusr_8h_source.html#l00907">PRawRunData::SetOrientation()</a>, <a class="el" href="PMusr_8h_source.html#l00915">PRawRunData::SetRedGreenOffset()</a>, <a class="el" href="PMusr_8cpp_source.html#l00734">PRawRunData::SetRingAnode()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00894">PRawRunData::SetRunNumber()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00906">PRawRunData::SetSample()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8h_source.html#l00882">PRawRunData::SetSpecificValidatorUrl()</a>, <a class="el" href="PMusr_8h_source.html#l00898">PRawRunData::SetStartDate()</a>, <a class="el" href="PMusr_8h_source.html#l00899">PRawRunData::SetStartDateTime()</a>, <a class="el" href="PMusr_8h_source.html#l00897">PRawRunData::SetStartTime()</a>, <a class="el" href="PMusr_8h_source.html#l00901">PRawRunData::SetStopDate()</a>, <a class="el" href="PMusr_8h_source.html#l00902">PRawRunData::SetStopDateTime()</a>, <a class="el" href="PMusr_8h_source.html#l00900">PRawRunData::SetStopTime()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00670">PRawRunDataSet::SetTimeZeroBin()</a>, <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>, <a class="el" href="PMusr_8h_source.html#l00661">PRawRunDataSet::SetTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00912">PRawRunData::SetTransport()</a>, and <a class="el" href="PMusr_8h_source.html#l00880">PRawRunData::SetVersion()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a32133ede62a5e9b0ff8c817c9cad88c8" name="a32133ede62a5e9b0ff8c817c9cad88c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32133ede62a5e9b0ff8c817c9cad88c8">&#9670;&#160;</a></span>ReadWkmFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadWkmFile </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads, for backwards compatibility, the ascii-wkm-file data format. The routine is clever enough to distinguish the different wkm-flavours (argh).</p>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">2499</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PMusr_8cpp_source.html#l00261">PRawRunDataSet::Clear()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00422">fRunName</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PMusr_8h_source.html#l00877">PRawRunData::GetDataBin()</a>, <a class="el" href="PMusr_8h_source.html#l00875">PRawRunData::GetNoOfHistos()</a>, <a class="el" href="PMusr_8h_source.html#l00868">PRawRunData::GetTimeResolution()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06113">IsWhitespace()</a>, <a class="el" href="PMusr_8h_source.html#l00688">PRawRunDataSet::SetData()</a>, <a class="el" href="PMusr_8h_source.html#l00916">PRawRunData::SetDataSet()</a>, <a class="el" href="PMusr_8h_source.html#l00904">PRawRunData::SetField()</a>, <a class="el" href="PMusr_8h_source.html#l00667">PRawRunDataSet::SetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00893">PRawRunData::SetRunName()</a>, <a class="el" href="PMusr_8h_source.html#l00894">PRawRunData::SetRunNumber()</a>, <a class="el" href="PMusr_8h_source.html#l00895">PRawRunData::SetRunTitle()</a>, <a class="el" href="PMusr_8h_source.html#l00896">PRawRunData::SetSetup()</a>, <a class="el" href="PMusr_8cpp_source.html#l00751">PRawRunData::SetTemperature()</a>, <a class="el" href="PMusr_8cpp_source.html#l00769">PRawRunData::SetTempError()</a>, <a class="el" href="PMusr_8h_source.html#l00914">PRawRunData::SetTimeResolution()</a>, <a class="el" href="PMusr_8h_source.html#l00673">PRawRunDataSet::SetTimeZeroBinEstimated()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06041">StripWhitespace()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06142">ToDouble()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l06192">ToInt()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="adaaff4e4775f482388d39833e6628b62" name="adaaff4e4775f482388d39833e6628b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaaff4e4775f482388d39833e6628b62">&#9670;&#160;</a></span>ReadWriteFilesList()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::ReadWriteFilesList </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 private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The main read file routine which is filtering what read sub-routine needs to be called. Called when the input is a list of runs. Used with any2many. If the input data file is successfully read, it will write the converted data file.</p>
<p><b>return:</b></p><ul>
<li>true if reading was successful,</li>
<li>false if reading failed. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">561</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00071">A2M_ASCII</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00065">A2M_MUD</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00057">A2M_MUSR_ROOT</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00059">A2M_MUSR_ROOT_DIR</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00067">A2M_NEXUS</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00061">A2M_PSIBIN</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00063">A2M_PSIMDU</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00055">A2M_ROOT</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00053">A2M_UNDEFINED</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00069">A2M_WKM</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06381">FileNameFromTemplate()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00423">fRunPathName</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05900">WriteAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">WriteMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">WriteMusrRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">WriteNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04813">WriteRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l05334">WriteWkmFile()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00313">ConvertData()</a>.</p>
</div>
</div>
<a id="ae44744cdb570304c30134e426b54d3a6" name="ae44744cdb570304c30134e426b54d3a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae44744cdb570304c30134e426b54d3a6">&#9670;&#160;</a></span>SetRunData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::SetRunData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPRawRunData.html">PRawRunData</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">UInt_t</td> <td class="paramname"><span class="paramname"><em>idx</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span>&#160;)</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>Sets or replaces run data at specified index. </p>
<p>Allows external modification or replacement of run data. Used in special cases like manual data manipulation or run merging.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Pointer to <a class="el" href="classPRawRunData.html">PRawRunData</a> to store (handler takes ownership) </td></tr>
<tr><td class="paramname">idx</td><td>Index where to store data (default=0) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on success, false if index out of range or data invalid</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Handler takes ownership and will delete data on destruction</dd></dl>
<p>Set a raw run data set.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>pointer to the raw run data set </td></tr>
<tr><td class="paramname">idx</td><td>index to where to write it.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true in case of success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00332">332</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>.</p>
</div>
</div>
<a id="a29352d28bc9270fe79c7f68e9697349e" name="a29352d28bc9270fe79c7f68e9697349e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29352d28bc9270fe79c7f68e9697349e">&#9670;&#160;</a></span>SplitTimeDate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PRunDataHandler::SplitTimeDate </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>timeData</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>time</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>date</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>splits an ISO 8601 timeDate into seperate time and data. The flag ok shows if it was successfull.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timeData</td><td>ISO 8601 timeData </td></tr>
<tr><td class="paramname">time</td><td>part of timeData </td></tr>
<tr><td class="paramname">date</td><td>part of timeData </td></tr>
<tr><td class="paramname">ok</td><td>flag showing if the splitting was successfull </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06500">6500</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="a65bab2c0be490a52775ede1116dd60ca" name="a65bab2c0be490a52775ede1116dd60ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65bab2c0be490a52775ede1116dd60ca">&#9670;&#160;</a></span>StripWhitespace()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::StripWhitespace </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Strip white spaces from a string. The hope is that future TString implementations of ROOT will make this routine obsolate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to be stripped. It will be modified directly on success.</td></tr>
</table>
</dd>
</dl>
<p><b>return:</b></p><ul>
<li>true at successful reading,</li>
<li>otherwise false. </li>
</ul>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06041">6041</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="ad48fbd1b5471055009e7991b80620952" name="ad48fbd1b5471055009e7991b80620952"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad48fbd1b5471055009e7991b80620952">&#9670;&#160;</a></span>TestFileName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PRunDataHandler::TestFileName </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>runName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TString &amp;</td> <td class="paramname"><span class="paramname"><em>ext</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests if a file exists (with or without given extension). The given file-name string will be modified to show the found file name or an empty string if no file is found.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">runName</td><td>run name with full path to be checked </td></tr>
<tr><td class="paramname">ext</td><td>extension to be checked </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00942">942</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>.</p>
</div>
</div>
<a id="aff949d7c5be00eea8c7eee2bea2449fd" name="aff949d7c5be00eea8c7eee2bea2449fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff949d7c5be00eea8c7eee2bea2449fd">&#9670;&#160;</a></span>ToDouble()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Double_t PRunDataHandler::ToDouble </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a string to a Double_t.</p>
<p><b>return:</b></p><ul>
<li>returns the converted string</li>
<li>otherwise 0.0 with ok==false</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to be converted </td></tr>
<tr><td class="paramname">ok</td><td>true on success, otherwise false. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06142">6142</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="a7119302842232cb5fc06e845c72110ef" name="a7119302842232cb5fc06e845c72110ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7119302842232cb5fc06e845c72110ef">&#9670;&#160;</a></span>ToInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Int_t PRunDataHandler::ToInt </td>
<td>(</td>
<td class="paramtype">TString &amp;</td> <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Bool_t &amp;</td> <td class="paramname"><span class="paramname"><em>ok</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a string to an Int_t.</p>
<p><b>return:</b></p><ul>
<li>returns the converted string</li>
<li>otherwise 0.0 with ok==false</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>string to be converted </td></tr>
<tr><td class="paramname">ok</td><td>true on success, otherwise false. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l06192">6192</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="a838489a7d54d0ed8b4054100f18ee588" name="a838489a7d54d0ed8b4054100f18ee588"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a838489a7d54d0ed8b4054100f18ee588">&#9670;&#160;</a></span>WriteAsciiFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteAsciiFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the ascii-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l05900">5900</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>, and <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a77bd0ca0e394261bf0c3e9b6a833f3f4" name="a77bd0ca0e394261bf0c3e9b6a833f3f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77bd0ca0e394261bf0c3e9b6a833f3f4">&#9670;&#160;</a></span>WriteData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteData </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fileName</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</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>Writes data to file in the specified format. </p>
<p>Writes loaded and (optionally) converted data to an output file. The format is determined by fAny2ManyInfo (for any2many) or fFileFormat.</p>
<p>Supported output formats:</p><ul>
<li>ROOT (generic or MusrRoot structure)</li>
<li>NeXus (HDF5)</li>
<li>WKM, PSI-BIN (legacy formats)</li>
<li>MUD (TRIUMF)</li>
<li>ASCII (text export)</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>Output file name (empty string = auto-generate from input name) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True on successful write, false on error</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd>Data must be loaded (ReadData called)</dd></dl>
<p>Write data. This routine is used to write a single file. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">353</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00065">A2M_MUD</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00057">A2M_MUSR_ROOT</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00059">A2M_MUSR_ROOT_DIR</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00067">A2M_NEXUS</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00061">A2M_PSIBIN</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00063">A2M_PSIMDU</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00053">A2M_UNDEFINED</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">WriteMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">WriteMusrRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">WriteNexusFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>.</p>
</div>
</div>
<a id="a9ffd77f6087994b447f98339b046b9c0" name="a9ffd77f6087994b447f98339b046b9c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ffd77f6087994b447f98339b046b9c0">&#9670;&#160;</a></span>WriteMudFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteMudFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the mud-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">5740</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00647">PRawRunDataSet::GetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00649">PRawRunDataSet::GetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00639">PRawRunDataSet::GetName()</a>, and <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">WriteData()</a>.</p>
</div>
</div>
<a id="aaf482b06f997ccab9c0f00adaa31499d" name="aaf482b06f997ccab9c0f00adaa31499d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf482b06f997ccab9c0f00adaa31499d">&#9670;&#160;</a></span>WriteMusrRootFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteMusrRootFile </td>
<td>(</td>
<td class="paramtype">Int_t</td> <td class="paramname"><span class="paramname"><em>tag</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__FileFormats.html#gaf78f32b6730f44eba257f55b27eb467f">A2M_MUSR_ROOT_DIR</a></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the MusrRoot file format. Only the required entries will be handled.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tag</td><td>= A2M_MUSR_ROOT (TFolder MusrRoot, deprecated), = A2M_MUSR_ROOT_DIR (TDirectory MusrRoot). </td></tr>
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on successful writting, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">4544</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00057">A2M_MUSR_ROOT</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00647">PRawRunDataSet::GetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00641">PRawRunDataSet::GetHistoNo()</a>, <a class="el" href="PMusr_8h_source.html#l00649">PRawRunDataSet::GetLastGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00639">PRawRunDataSet::GetName()</a>, <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>, <a class="el" href="TMusrRunHeader_8h_source.html#l00043">MRH_UNDEFINED</a>, and <a class="el" href="TMusrRunHeader_8cpp_source.html#l00144">TMusrRunPhysicalQuantity::Set()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">WriteData()</a>.</p>
</div>
</div>
<a id="af0e5bfb3df9ccb1892fc437c9ce00c5e" name="af0e5bfb3df9ccb1892fc437c9ce00c5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0e5bfb3df9ccb1892fc437c9ce00c5e">&#9670;&#160;</a></span>WriteNexusFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteNexusFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the nexus-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">5003</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00647">PRawRunDataSet::GetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00649">PRawRunDataSet::GetLastGoodBin()</a>, and <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">WriteData()</a>.</p>
</div>
</div>
<a id="a90b92ba9e43624c5fefb2155bed0a348" name="a90b92ba9e43624c5fefb2155bed0a348"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90b92ba9e43624c5fefb2155bed0a348">&#9670;&#160;</a></span>WritePsiBinFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WritePsiBinFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the psi-bin-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">5479</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, <a class="el" href="PMusr_8h_source.html#l00647">PRawRunDataSet::GetFirstGoodBin()</a>, <a class="el" href="PMusr_8h_source.html#l00649">PRawRunDataSet::GetLastGoodBin()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06527">GetMonth()</a>, <a class="el" href="PMusr_8h_source.html#l00639">PRawRunDataSet::GetName()</a>, <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06585">GetYear()</a>, and <a class="el" href="PStartupHandler_8cpp_source.html#l00106">status</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">WriteData()</a>.</p>
</div>
</div>
<a id="ab32fe06b585c59e1ad11bc1183077652" name="ab32fe06b585c59e1ad11bc1183077652"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab32fe06b585c59e1ad11bc1183077652">&#9670;&#160;</a></span>WriteRootFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteRootFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the PSI LEM root-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l04813">4813</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, and <a class="el" href="PMusr_8h_source.html#l00643">PRawRunDataSet::GetTimeZeroBin()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<a id="a4ef7d977726edd564586bb8b6b2cb494" name="a4ef7d977726edd564586bb8b6b2cb494"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ef7d977726edd564586bb8b6b2cb494">&#9670;&#160;</a></span>WriteWkmFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::WriteWkmFile </td>
<td>(</td>
<td class="paramtype">TString</td> <td class="paramname"><span class="paramname"><em>fln</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the wkm-file format.</p>
<p><b>return:</b></p><ul>
<li>true on successful writting,</li>
<li>otherwise false.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fln</td><td>file name. If empty, the routine will try to construct one </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8cpp_source.html#l05334">5334</a> of file <a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.cpp</a>.</p>
<p class="reference">References <a class="el" href="PRunDataHandler_8h_source.html#l00417">fAny2ManyInfo</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00424">fData</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PMusr_8h_source.html#l00655">PRawRunDataSet::GetData()</a>, and <a class="el" href="PMusr_8h_source.html#l00172">PMUSR_UNDEFINED</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a70b61abef2aefd96e733aa437ea72a22" name="a70b61abef2aefd96e733aa437ea72a22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70b61abef2aefd96e733aa437ea72a22">&#9670;&#160;</a></span>fAllDataAvailable</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Bool_t PRunDataHandler::fAllDataAvailable</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>Flag: true if all requested data files loaded successfully, false if any failed. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00420">420</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00313">ConvertData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00366">IsAllDataAvailable()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>.</p>
</div>
</div>
<a id="aeda2008b0fcf5d4db8c0ab38b98d1319" name="aeda2008b0fcf5d4db8c0ab38b98d1319"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeda2008b0fcf5d4db8c0ab38b98d1319">&#9670;&#160;</a></span>fAny2ManyInfo</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="structPAny2ManyInfo.html">PAny2ManyInfo</a>* PRunDataHandler::fAny2ManyInfo</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 any2many conversion configuration (not owned, don't delete) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00417">417</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01257">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06274">GenerateOutputFileName()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06330">GetFileName()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00147">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00161">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05900">WriteAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00353">WriteData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">WriteMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">WriteMusrRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">WriteNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04813">WriteRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l05334">WriteWkmFile()</a>.</p>
</div>
</div>
<a id="a721a85ce33ca8fb598b949266ac03132" name="a721a85ce33ca8fb598b949266ac03132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a721a85ce33ca8fb598b949266ac03132">&#9670;&#160;</a></span>fData</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#af71b9af496f6bfb296b60f7e2ca0d974">PRawRunDataList</a> PRunDataHandler::fData</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 all loaded raw run data (histograms + metadata) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00424">424</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00921">FileAlreadyRead()</a>, <a class="el" href="PRunDataHandler_8h_source.html#l00399">GetNoOfRunData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00221">GetRunData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00248">GetRunData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03726">ReadAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04390">ReadDatFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">ReadDBFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03413">ReadMduAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00332">SetRunData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05900">WriteAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05740">WriteMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04544">WriteMusrRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05003">WriteNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05479">WritePsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04813">WriteRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l05334">WriteWkmFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00202">~PRunDataHandler()</a>.</p>
</div>
</div>
<a id="ab7bb03b9bdcb26cdfdbb127b10b1573c" name="ab7bb03b9bdcb26cdfdbb127b10b1573c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7bb03b9bdcb26cdfdbb127b10b1573c">&#9670;&#160;</a></span>fDataPath</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="PMusr_8h.html#ae50e503cc0f1bbc1fda5b86735ea9983">PStringVector</a> PRunDataHandler::fDataPath</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>Search paths for data files (checked sequentially until file found) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00418">418</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01257">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01353">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00161">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00190">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00116">PRunDataHandler()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00202">~PRunDataHandler()</a>.</p>
</div>
</div>
<a id="aa089ac4276a7c0d44cb99e22b20a22e1" name="aa089ac4276a7c0d44cb99e22b20a22e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa089ac4276a7c0d44cb99e22b20a22e1">&#9670;&#160;</a></span>fFileFormat</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::fFileFormat</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>Explicitly specified file format (overrides auto-detection) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00421">421</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00099">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00116">PRunDataHandler()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>.</p>
</div>
</div>
<a id="a0ebfcbc48b8441228fc3dfdb953da04e" name="a0ebfcbc48b8441228fc3dfdb953da04e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ebfcbc48b8441228fc3dfdb953da04e">&#9670;&#160;</a></span>fMsrInfo</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPMsrHandler.html">PMsrHandler</a>* PRunDataHandler::fMsrInfo</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pointer to MSR file handler (not owned, don't delete) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00416">416</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00175">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00190">PRunDataHandler()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>.</p>
</div>
</div>
<a id="a5587ecec10f332fffc187aef1eacef0c" name="a5587ecec10f332fffc187aef1eacef0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5587ecec10f332fffc187aef1eacef0c">&#9670;&#160;</a></span>fRunName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::fRunName</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>Current run name being processed (used during file reading) </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00422">422</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03726">ReadAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04390">ReadDatFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">ReadDBFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00452">ReadFilesMsr()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03413">ReadMduAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>.</p>
</div>
</div>
<a id="ab958f1b2f8e79a685f058bc5a1e30c6d" name="ab958f1b2f8e79a685f058bc5a1e30c6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab958f1b2f8e79a685f058bc5a1e30c6d">&#9670;&#160;</a></span>fRunPathName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TString PRunDataHandler::fRunPathName</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>Full path to current data file being read. </p>
<p class="definition">Definition at line <a class="el" href="PRunDataHandler_8h_source.html#l00423">423</a> of file <a class="el" href="PRunDataHandler_8h_source.html">PRunDataHandler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PRunDataHandler_8cpp_source.html#l01257">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01353">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01048">FileExistsCheck()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l06330">GetFileName()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00428">Init()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03726">ReadAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l00263">ReadData()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04390">ReadDatFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l04044">ReadDBFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03413">ReadMduAsciiFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l03051">ReadMudFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02137">ReadNexusFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02805">ReadPsiBinFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l01419">ReadRootFile()</a>, <a class="el" href="PRunDataHandler_8cpp_source.html#l02499">ReadWkmFile()</a>, and <a class="el" href="PRunDataHandler_8cpp_source.html#l00561">ReadWriteFilesList()</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="PRunDataHandler_8h_source.html">PRunDataHandler.h</a></li>
<li>/workspace/LMU/musrfit/src/classes/<a class="el" href="PRunDataHandler_8cpp_source.html">PRunDataHandler.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="classPRunDataHandler.html">PRunDataHandler</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>