Files
musrfit/doc/technical/html/PNeXus_8cpp.html
Gitea Actions b6fac619f9 Deploy site
2026-05-28 07:32:41 +00:00

193 lines
11 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: /workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp File 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.10.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(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('PNeXus_8cpp.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">PNeXus.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implementation of the PNeXus class - NeXus HDF4/HDF5 file reader and writer.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;fstream&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
<code>#include &lt;stdexcept&gt;</code><br />
<code>#include &lt;cstring&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;chrono&gt;</code><br />
<code>#include &lt;ctime&gt;</code><br />
<code>#include &lt;iomanip&gt;</code><br />
<code>#include &quot;Minuit2/MnStrategy.h&quot;</code><br />
<code>#include &quot;Minuit2/MnMinimize.h&quot;</code><br />
<code>#include &quot;Minuit2/FunctionMinimum.h&quot;</code><br />
<code>#include &quot;<a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for PNeXus.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="PNeXus_8cpp__incl.png" border="0" usemap="#a_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp" alt=""/></div>
<map name="a_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp" id="a_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp">
<area shape="rect" title="Implementation of the PNeXus class &#45; NeXus HDF4/HDF5 file reader and writer." alt="" coords="490,5,702,50"/>
<area shape="rect" title=" " alt="" coords="5,98,80,126"/>
<area shape="poly" title=" " alt="" coords="489,43,309,65,95,100,94,95,308,60,489,37"/>
<area shape="rect" title=" " alt="" coords="104,98,173,126"/>
<area shape="poly" title=" " alt="" coords="490,47,350,69,188,100,187,95,350,64,489,41"/>
<area shape="rect" title=" " alt="" coords="197,98,266,126"/>
<area shape="poly" title=" " alt="" coords="491,53,282,100,281,95,490,48"/>
<area shape="rect" title=" " alt="" coords="291,98,370,126"/>
<area shape="poly" title=" " alt="" coords="526,53,386,96,384,91,525,48"/>
<area shape="rect" title=" " alt="" coords="394,98,456,126"/>
<area shape="poly" title=" " alt="" coords="552,53,467,93,465,89,549,48"/>
<area shape="rect" title=" " alt="" coords="481,98,540,126"/>
<area shape="poly" title=" " alt="" coords="575,52,537,89,533,85,572,48"/>
<area shape="rect" title=" " alt="" coords="564,98,628,126"/>
<area shape="poly" title=" " alt="" coords="598,50,598,82,593,82,593,50"/>
<area shape="rect" title=" " alt="" coords="653,98,707,126"/>
<area shape="poly" title=" " alt="" coords="620,48,657,85,654,89,616,52"/>
<area shape="rect" title=" " alt="" coords="731,98,802,126"/>
<area shape="poly" title=" " alt="" coords="642,48,727,89,724,93,640,53"/>
<area shape="rect" title=" " alt="" coords="826,98,976,126"/>
<area shape="poly" title=" " alt="" coords="678,48,838,91,837,96,676,53"/>
<area shape="rect" title=" " alt="" coords="1000,98,1154,126"/>
<area shape="poly" title=" " alt="" coords="703,44,986,92,985,98,702,50"/>
<area shape="rect" title=" " alt="" coords="1178,98,1368,126"/>
<area shape="poly" title=" " alt="" coords="703,39,1163,95,1162,100,702,44"/>
<area shape="rect" href="PNeXus_8h.html" title="NeXus HDF4/HDF5 file reader and writer for muon spin rotation data." alt="" coords="1393,98,1471,126"/>
<area shape="poly" title=" " alt="" coords="703,31,1002,51,1188,69,1378,95,1377,101,1187,75,1002,56,702,36"/>
<area shape="rect" title=" " alt="" coords="988,174,1044,201"/>
<area shape="poly" title=" " alt="" coords="1393,126,1380,128,1292,143,1221,150,1150,159,1060,176,1059,171,1149,154,1220,145,1291,137,1379,123,1392,120"/>
<area shape="rect" title=" " alt="" coords="1068,174,1126,201"/>
<area shape="poly" title=" " alt="" coords="1393,125,1380,128,1262,151,1142,176,1141,171,1261,146,1379,123,1392,120"/>
<area shape="rect" title=" " alt="" coords="1150,174,1199,201"/>
<area shape="poly" title=" " alt="" coords="1393,126,1214,175,1213,170,1391,121"/>
<area shape="rect" title=" " alt="" coords="1222,174,1282,201"/>
<area shape="poly" title=" " alt="" coords="1401,129,1297,171,1295,166,1399,124"/>
<area shape="rect" title=" " alt="" coords="1306,174,1387,201"/>
<area shape="poly" title=" " alt="" coords="1418,128,1375,165,1372,161,1415,124"/>
<area shape="rect" title=" " alt="" coords="1411,174,1453,201"/>
<area shape="poly" title=" " alt="" coords="1434,126,1434,158,1429,158,1429,126"/>
<area shape="rect" title=" " alt="" coords="1477,174,1539,201"/>
<area shape="poly" title=" " alt="" coords="1447,124,1485,161,1482,165,1444,128"/>
<area shape="rect" title=" " alt="" coords="1564,174,1700,201"/>
<area shape="poly" title=" " alt="" coords="1469,124,1583,165,1581,171,1467,129"/>
<area shape="rect" title=" " alt="" coords="1725,174,1795,201"/>
<area shape="poly" title=" " alt="" coords="1472,119,1710,171,1709,176,1471,124"/>
<area shape="rect" title=" " alt="" coords="1818,174,1872,201"/>
<area shape="poly" title=" " alt="" coords="1472,115,1615,134,1707,150,1804,171,1803,176,1706,156,1614,140,1471,120"/>
<area shape="rect" title=" " alt="" coords="1896,174,1970,201"/>
<area shape="poly" title=" " alt="" coords="1472,114,1645,134,1881,171,1880,176,1645,139,1471,120"/>
</map>
</div>
</div>
<p><a href="PNeXus_8cpp_source.html">Go to the source code of this file.</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of the PNeXus class - NeXus HDF4/HDF5 file reader and writer. </p>
<p>This file contains the implementation of the PNeXus class for reading and writing ISIS muon NeXus HDF5 files. It provides case-insensitive path lookup functionality using the HDF4 C / HDF5 C++ API.</p>
<p>The implementation includes:</p>
<p><b>Read Functionality:</b></p><ul>
<li>String utilities for case-insensitive comparison</li>
<li>Path parsing for HDF4 / HDF5 hierarchical paths</li>
<li>Recursive path traversal with case-insensitive matching</li>
<li>Attribute, group, and dataset lookup functions</li>
<li>Support for IDF version 1 and 2</li>
</ul>
<p><b>Write Functionality:</b></p><ul>
<li>Group hierarchy creation</li>
<li>Dataset writing for int, float, and string types</li>
<li>Attribute preservation</li>
<li>Multi-dimensional array support</li>
<li>Type-safe operations using PNXdata template class</li>
</ul>
<p><b>Error Handling:</b></p><ul>
<li>Comprehensive error handling with descriptive exceptions</li>
<li>Validation of data consistency</li>
<li>HDF4 error propagation / HDF5 exception propagation</li>
</ul>
<dl class="section author"><dt>Author</dt><dd>Andreas Suter </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2007-2026 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>GNU General Public License v2 </dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.0</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnxH4_1_1PNeXus.html" title="NeXus HDF4 file reader with case-insensitive path lookup.">nxH4::PNeXus</a> </dd>
<dd>
<a class="el" href="classnxH4_1_1PNXdata.html" title="Template class for storing HDF4 dataset content with attributes.">nxH4::PNXdata</a> </dd>
<dd>
<a class="el" href="classnxH5_1_1PNeXus.html" title="NeXus HDF5 file reader with case-insensitive path lookup.">nxH5::PNeXus</a> </dd>
<dd>
<a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">nxH5::PNXdata</a> </dd></dl>
<p class="definition">Definition in file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
</div></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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_805a0af995e93a362739e98abd740eb2.html">external</a></li><li class="navelem"><a class="el" href="dir_60282c550f34101343df9c617db06b8c.html">nexus</a></li><li class="navelem"><a class="el" href="PNeXus_8cpp.html">PNeXus.cpp</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>