Files
musrfit/doc/technical/html/classnxH5_1_1PNeXus.html
T
2026-07-29 11:05:16 +00:00

3117 lines
183 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: nxH5::PNeXus 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.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('classnxH5_1_1PNeXus.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-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classnxH5_1_1PNeXus-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">nxH5::PNeXus Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>NeXus HDF5 file reader with case-insensitive path lookup.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>&gt;</code></p>
<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:a89511ff345ac957688a161c9a148e6d6" id="r_a89511ff345ac957688a161c9a148e6d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a89511ff345ac957688a161c9a148e6d6">PNeXus</a> ()</td></tr>
<tr class="separator:a89511ff345ac957688a161c9a148e6d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa453d9896330c386f138b96c3fc17ffb" id="r_aa453d9896330c386f138b96c3fc17ffb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa453d9896330c386f138b96c3fc17ffb">PNeXus</a> (const std::string fln, const bool printDebug=false)</td></tr>
<tr class="separator:aa453d9896330c386f138b96c3fc17ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0357247e723611b64e524856daf9afe1" id="r_a0357247e723611b64e524856daf9afe1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0357247e723611b64e524856daf9afe1">GetFileName</a> () const</td></tr>
<tr class="memdesc:a0357247e723611b64e524856daf9afe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the filename of the NeXus file. <br /></td></tr>
<tr class="separator:a0357247e723611b64e524856daf9afe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac14888743d6ecbb0060fd21c9f37b38" id="r_aac14888743d6ecbb0060fd21c9f37b38"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac14888743d6ecbb0060fd21c9f37b38">GetHdf5LibVersion</a> () const</td></tr>
<tr class="memdesc:aac14888743d6ecbb0060fd21c9f37b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the HDF5 library version string. <br /></td></tr>
<tr class="separator:aac14888743d6ecbb0060fd21c9f37b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a6a7c334e17c16257ec19fd7468daf" id="r_ab0a6a7c334e17c16257ec19fd7468daf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0a6a7c334e17c16257ec19fd7468daf">GetHdf5Version</a> () const</td></tr>
<tr class="memdesc:ab0a6a7c334e17c16257ec19fd7468daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the HDF5 version string from the file. <br /></td></tr>
<tr class="separator:ab0a6a7c334e17c16257ec19fd7468daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a30f93d5019722df974112eee1ffdd9" id="r_a0a30f93d5019722df974112eee1ffdd9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a30f93d5019722df974112eee1ffdd9">GetNeXusVersion</a> () const</td></tr>
<tr class="memdesc:a0a30f93d5019722df974112eee1ffdd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the NeXus version of the file. <br /></td></tr>
<tr class="separator:a0a30f93d5019722df974112eee1ffdd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50c78c13b1b246a71e7da3015b3248fe" id="r_a50c78c13b1b246a71e7da3015b3248fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a50c78c13b1b246a71e7da3015b3248fe">GetIdfVersion</a> () const</td></tr>
<tr class="memdesc:a50c78c13b1b246a71e7da3015b3248fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the Idf version of the file. <br /></td></tr>
<tr class="separator:a50c78c13b1b246a71e7da3015b3248fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30e72b383e6299d99c5fe941be3dfc9c" id="r_a30e72b383e6299d99c5fe941be3dfc9c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a30e72b383e6299d99c5fe941be3dfc9c">ReadNexusFile</a> ()</td></tr>
<tr class="memdesc:a30e72b383e6299d99c5fe941be3dfc9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and parse the NeXus HDF5 file. <br /></td></tr>
<tr class="separator:a30e72b383e6299d99c5fe941be3dfc9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a80bf273c7b564740217682566f5bde" id="r_a3a80bf273c7b564740217682566f5bde"><td class="memItemLeft" align="right" valign="top">const std::map&lt; std::string, std::any &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a80bf273c7b564740217682566f5bde">GetDataMap</a> () const</td></tr>
<tr class="memdesc:a3a80bf273c7b564740217682566f5bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the data map containing all datasets. <br /></td></tr>
<tr class="separator:a3a80bf273c7b564740217682566f5bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae799b57ae883ef16b08cbc0d16b196" id="r_a0ae799b57ae883ef16b08cbc0d16b196"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::any &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0ae799b57ae883ef16b08cbc0d16b196">GetDataMap</a> ()</td></tr>
<tr class="memdesc:a0ae799b57ae883ef16b08cbc0d16b196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get mutable reference to the data map. <br /></td></tr>
<tr class="separator:a0ae799b57ae883ef16b08cbc0d16b196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a154e6293c701387b7fc6ab455fd3319e" id="r_a154e6293c701387b7fc6ab455fd3319e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a154e6293c701387b7fc6ab455fd3319e">HasDataset</a> (const std::string &amp;path) const</td></tr>
<tr class="memdesc:a154e6293c701387b7fc6ab455fd3319e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a dataset path exists in the data map. <br /></td></tr>
<tr class="separator:a154e6293c701387b7fc6ab455fd3319e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d16836f7f145c30675b9e3663b21549" id="r_a7d16836f7f145c30675b9e3663b21549"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a7d16836f7f145c30675b9e3663b21549"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a7d16836f7f145c30675b9e3663b21549">SetDataset</a> (const std::string &amp;path, const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;data)</td></tr>
<tr class="memdesc:a7d16836f7f145c30675b9e3663b21549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add or update a dataset in the data map. <br /></td></tr>
<tr class="separator:a7d16836f7f145c30675b9e3663b21549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9635f982853543e79ac32ef5a67b979a" id="r_a9635f982853543e79ac32ef5a67b979a"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a9635f982853543e79ac32ef5a67b979a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a9635f982853543e79ac32ef5a67b979a">GetDataset</a> (const std::string &amp;path) const</td></tr>
<tr class="memdesc:a9635f982853543e79ac32ef5a67b979a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a dataset from the data map. <br /></td></tr>
<tr class="separator:a9635f982853543e79ac32ef5a67b979a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf1ecd3da6aaee971062d65747927a6f" id="r_abf1ecd3da6aaee971062d65747927a6f"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:abf1ecd3da6aaee971062d65747927a6f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#abf1ecd3da6aaee971062d65747927a6f">GetDatasetRef</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:abf1ecd3da6aaee971062d65747927a6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a mutable reference to a dataset in the data map. <br /></td></tr>
<tr class="separator:abf1ecd3da6aaee971062d65747927a6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeee19b738675da7ae12a23e9e88104b" id="r_aeeee19b738675da7ae12a23e9e88104b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeeee19b738675da7ae12a23e9e88104b">RemoveDataset</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:aeeee19b738675da7ae12a23e9e88104b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a dataset from the data map. <br /></td></tr>
<tr class="separator:aeeee19b738675da7ae12a23e9e88104b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6e3d7366af4d0a4749e81aa6bbf127b" id="r_ab6e3d7366af4d0a4749e81aa6bbf127b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6e3d7366af4d0a4749e81aa6bbf127b">ClearDataMap</a> ()</td></tr>
<tr class="memdesc:ab6e3d7366af4d0a4749e81aa6bbf127b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all datasets from the data map. <br /></td></tr>
<tr class="separator:ab6e3d7366af4d0a4749e81aa6bbf127b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7272e137044fbaad8d449c872eb002d0" id="r_a7272e137044fbaad8d449c872eb002d0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7272e137044fbaad8d449c872eb002d0">GetNumDatasets</a> () const</td></tr>
<tr class="memdesc:a7272e137044fbaad8d449c872eb002d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of datasets in the data map. <br /></td></tr>
<tr class="separator:a7272e137044fbaad8d449c872eb002d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a861851379eaa66eaeee3f7f099011452" id="r_a861851379eaa66eaeee3f7f099011452"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a861851379eaa66eaeee3f7f099011452"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a861851379eaa66eaeee3f7f099011452">UpdateDatasetData</a> (const std::string &amp;path, const std::vector&lt; T &gt; &amp;newData)</td></tr>
<tr class="memdesc:a861851379eaa66eaeee3f7f099011452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the data of an existing dataset. <br /></td></tr>
<tr class="separator:a861851379eaa66eaeee3f7f099011452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964f642b5192fca9d37f8c0fe1283ebb" id="r_a964f642b5192fca9d37f8c0fe1283ebb"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a964f642b5192fca9d37f8c0fe1283ebb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a964f642b5192fca9d37f8c0fe1283ebb">UpdateDatasetDimensions</a> (const std::string &amp;path, const std::vector&lt; hsize_t &gt; &amp;newDimensions)</td></tr>
<tr class="memdesc:a964f642b5192fca9d37f8c0fe1283ebb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the dimensions of an existing dataset. <br /></td></tr>
<tr class="separator:a964f642b5192fca9d37f8c0fe1283ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4b55c1abcc4a0a704148cf04f62f71c" id="r_af4b55c1abcc4a0a704148cf04f62f71c"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:af4b55c1abcc4a0a704148cf04f62f71c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#af4b55c1abcc4a0a704148cf04f62f71c">AddDatasetAttribute</a> (const std::string &amp;path, const std::string &amp;attrName, const std::any &amp;attrValue)</td></tr>
<tr class="memdesc:af4b55c1abcc4a0a704148cf04f62f71c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add or update an attribute for a dataset. <br /></td></tr>
<tr class="separator:af4b55c1abcc4a0a704148cf04f62f71c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d7e9ad432bd5646e8fb54e2b469fc2" id="r_a15d7e9ad432bd5646e8fb54e2b469fc2"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a15d7e9ad432bd5646e8fb54e2b469fc2"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a15d7e9ad432bd5646e8fb54e2b469fc2">RemoveDatasetAttribute</a> (const std::string &amp;path, const std::string &amp;attrName)</td></tr>
<tr class="memdesc:a15d7e9ad432bd5646e8fb54e2b469fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an attribute from a dataset. <br /></td></tr>
<tr class="separator:a15d7e9ad432bd5646e8fb54e2b469fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a69d1521a0c416863c65a74e952fa8f" id="r_a7a69d1521a0c416863c65a74e952fa8f"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a7a69d1521a0c416863c65a74e952fa8f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a7a69d1521a0c416863c65a74e952fa8f">AddDataset</a> (const std::string &amp;path, const std::vector&lt; T &gt; &amp;data, const std::vector&lt; hsize_t &gt; &amp;dimensions, const H5::DataType &amp;dataType=H5::PredType::NATIVE_INT)</td></tr>
<tr class="memdesc:a7a69d1521a0c416863c65a74e952fa8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create and add a new dataset with data, dimensions, and optional attributes. <br /></td></tr>
<tr class="separator:a7a69d1521a0c416863c65a74e952fa8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ff57bae4b8d0a69bd70ffd6a5a3c117" id="r_a2ff57bae4b8d0a69bd70ffd6a5a3c117"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a2ff57bae4b8d0a69bd70ffd6a5a3c117"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a2ff57bae4b8d0a69bd70ffd6a5a3c117">ModifyDataset</a> (const std::string &amp;path, const std::vector&lt; T &gt; &amp;newData, const std::vector&lt; hsize_t &gt; &amp;newDimensions)</td></tr>
<tr class="memdesc:a2ff57bae4b8d0a69bd70ffd6a5a3c117"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify an existing dataset's data and dimensions. <br /></td></tr>
<tr class="separator:a2ff57bae4b8d0a69bd70ffd6a5a3c117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10028340ceb2d7b84786a6a47274d700" id="r_a10028340ceb2d7b84786a6a47274d700"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10028340ceb2d7b84786a6a47274d700">Dump</a> ()</td></tr>
<tr class="separator:a10028340ceb2d7b84786a6a47274d700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac03aaa912f670af4e8f053ddbcf71007" id="r_ac03aaa912f670af4e8f053ddbcf71007"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac03aaa912f670af4e8f053ddbcf71007">WriteNexusFile</a> (const std::string &amp;filename, int idfVersion=2)</td></tr>
<tr class="separator:ac03aaa912f670af4e8f053ddbcf71007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a480dc64ef2257ea2f44e7a10b02add0b" id="r_a480dc64ef2257ea2f44e7a10b02add0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a480dc64ef2257ea2f44e7a10b02add0b">AddGroupAttribute</a> (const std::string &amp;groupPath, const std::string &amp;attrName, const std::any &amp;attrValue)</td></tr>
<tr class="separator:a480dc64ef2257ea2f44e7a10b02add0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f9095938a997704a5e37ba3fd43fd6" id="r_a20f9095938a997704a5e37ba3fd43fd6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20f9095938a997704a5e37ba3fd43fd6">RemoveGroupAttribute</a> (const std::string &amp;groupPath, const std::string &amp;attrName)</td></tr>
<tr class="memdesc:a20f9095938a997704a5e37ba3fd43fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an attribute from a group. <br /></td></tr>
<tr class="separator:a20f9095938a997704a5e37ba3fd43fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ed88327c0d6360ae62c9470acf63f5" id="r_a64ed88327c0d6360ae62c9470acf63f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64ed88327c0d6360ae62c9470acf63f5">HasGroupAttribute</a> (const std::string &amp;groupPath, const std::string &amp;attrName) const</td></tr>
<tr class="memdesc:a64ed88327c0d6360ae62c9470acf63f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a group has a specific attribute. <br /></td></tr>
<tr class="separator:a64ed88327c0d6360ae62c9470acf63f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7d0ba33a07dea50e3b32be0dd4c942" id="r_a8a7d0ba33a07dea50e3b32be0dd4c942"><td class="memItemLeft" align="right" valign="top">std::any&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8a7d0ba33a07dea50e3b32be0dd4c942">GetGroupAttribute</a> (const std::string &amp;groupPath, const std::string &amp;attrName) const</td></tr>
<tr class="memdesc:a8a7d0ba33a07dea50e3b32be0dd4c942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an attribute value from a group. <br /></td></tr>
<tr class="separator:a8a7d0ba33a07dea50e3b32be0dd4c942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83d00985df38625e28f033ebb8cba9c4" id="r_a83d00985df38625e28f033ebb8cba9c4"><td class="memItemLeft" align="right" valign="top">const std::map&lt; std::string, std::any &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83d00985df38625e28f033ebb8cba9c4">GetGroupAttributes</a> (const std::string &amp;groupPath) const</td></tr>
<tr class="memdesc:a83d00985df38625e28f033ebb8cba9c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all attributes for a group. <br /></td></tr>
<tr class="separator:a83d00985df38625e28f033ebb8cba9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a684b6b924d828e1f1840390a385c3abc" id="r_a684b6b924d828e1f1840390a385c3abc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a684b6b924d828e1f1840390a385c3abc">ClearGroupAttributes</a> (const std::string &amp;groupPath)</td></tr>
<tr class="memdesc:a684b6b924d828e1f1840390a385c3abc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all attributes from a group. <br /></td></tr>
<tr class="separator:a684b6b924d828e1f1840390a385c3abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a285b88cb5a7e038ec8aa809cfd9eaaa5" id="r_a285b88cb5a7e038ec8aa809cfd9eaaa5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a285b88cb5a7e038ec8aa809cfd9eaaa5">AddRootAttribute</a> (const std::string &amp;attrName, const std::any &amp;attrValue)</td></tr>
<tr class="separator:a285b88cb5a7e038ec8aa809cfd9eaaa5"><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:a1239efc1c69ffe974bac37d9908a6a04" id="r_a1239efc1c69ffe974bac37d9908a6a04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1239efc1c69ffe974bac37d9908a6a04">HandleIdfV1</a> (H5::H5File &amp;file)</td></tr>
<tr class="memdesc:a1239efc1c69ffe974bac37d9908a6a04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read datasets for IDF version 1 file structure. <br /></td></tr>
<tr class="separator:a1239efc1c69ffe974bac37d9908a6a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09aea551cccee2bbfa3df77cf2b9e4e0" id="r_a09aea551cccee2bbfa3df77cf2b9e4e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a09aea551cccee2bbfa3df77cf2b9e4e0">HandleIdfV2</a> (H5::H5File &amp;file)</td></tr>
<tr class="memdesc:a09aea551cccee2bbfa3df77cf2b9e4e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read datasets for IDF version 2 file structure. <br /></td></tr>
<tr class="separator:a09aea551cccee2bbfa3df77cf2b9e4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a561c1aeaf5a5101a579f183f97543821" id="r_a561c1aeaf5a5101a579f183f97543821"><td class="memItemLeft" align="right" valign="top">H5::Group&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a561c1aeaf5a5101a579f183f97543821">CreateGroupHierarchy</a> (H5::H5File &amp;file, const std::string &amp;path)</td></tr>
<tr class="memdesc:a561c1aeaf5a5101a579f183f97543821"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create nested group hierarchy for a given path. <br /></td></tr>
<tr class="separator:a561c1aeaf5a5101a579f183f97543821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f9ef8e19f021ca4e18c46629abafa7f" id="r_a3f9ef8e19f021ca4e18c46629abafa7f"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a3f9ef8e19f021ca4e18c46629abafa7f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a3f9ef8e19f021ca4e18c46629abafa7f">WriteDatasetAttributes</a> (H5::DataSet &amp;dataset, const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;data)</td></tr>
<tr class="memdesc:a3f9ef8e19f021ca4e18c46629abafa7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write dataset attributes from <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object. <br /></td></tr>
<tr class="separator:a3f9ef8e19f021ca4e18c46629abafa7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c84f381b528fee00e2453d1bd88d94b" id="r_a3c84f381b528fee00e2453d1bd88d94b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c84f381b528fee00e2453d1bd88d94b">WriteGroupAttributes</a> (H5::Group &amp;group, const std::map&lt; std::string, std::any &gt; &amp;attributes)</td></tr>
<tr class="memdesc:a3c84f381b528fee00e2453d1bd88d94b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write attributes to a group. <br /></td></tr>
<tr class="separator:a3c84f381b528fee00e2453d1bd88d94b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593c9c480428534ac2b642dcb14c93eb" id="r_a593c9c480428534ac2b642dcb14c93eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a593c9c480428534ac2b642dcb14c93eb">WriteIntDataset</a> (H5::H5File &amp;file, const std::string &amp;path, const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; int &gt; &amp;data)</td></tr>
<tr class="memdesc:a593c9c480428534ac2b642dcb14c93eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write an integer dataset with attributes. <br /></td></tr>
<tr class="separator:a593c9c480428534ac2b642dcb14c93eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0740086cba77a21371a973f17f8c5c86" id="r_a0740086cba77a21371a973f17f8c5c86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0740086cba77a21371a973f17f8c5c86">WriteFloatDataset</a> (H5::H5File &amp;file, const std::string &amp;path, const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; float &gt; &amp;data)</td></tr>
<tr class="memdesc:a0740086cba77a21371a973f17f8c5c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a float dataset with attributes. <br /></td></tr>
<tr class="separator:a0740086cba77a21371a973f17f8c5c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b953c9906017fe6f99509c5583ef8b" id="r_ad8b953c9906017fe6f99509c5583ef8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8b953c9906017fe6f99509c5583ef8b">WriteStringDataset</a> (H5::H5File &amp;file, const std::string &amp;path, const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; std::string &gt; &amp;data)</td></tr>
<tr class="memdesc:ad8b953c9906017fe6f99509c5583ef8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a string dataset with attributes. <br /></td></tr>
<tr class="separator:ad8b953c9906017fe6f99509c5583ef8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23fd35145b29843735e8f82201af7ade" id="r_a23fd35145b29843735e8f82201af7ade"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a23fd35145b29843735e8f82201af7ade">WriteFileAttributes</a> (H5::H5File &amp;file)</td></tr>
<tr class="memdesc:a23fd35145b29843735e8f82201af7ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write root-level file attributes. <br /></td></tr>
<tr class="separator:a23fd35145b29843735e8f82201af7ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a7544ce77228a82b0f2143c93bbbdc8" id="r_a1a7544ce77228a82b0f2143c93bbbdc8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1a7544ce77228a82b0f2143c93bbbdc8">FindAttributeName</a> (H5::H5File &amp;obj, const std::string &amp;requestedName)</td></tr>
<tr class="separator:a1a7544ce77228a82b0f2143c93bbbdc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf5b758501cad7e2df11c155f734786" id="r_a0cf5b758501cad7e2df11c155f734786"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cf5b758501cad7e2df11c155f734786">FindGroupPath</a> (H5::H5File &amp;parent, const std::string &amp;requestedPath)</td></tr>
<tr class="separator:a0cf5b758501cad7e2df11c155f734786"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e53121efb4688c150bccdbd4566fa8b" id="r_a8e53121efb4688c150bccdbd4566fa8b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e53121efb4688c150bccdbd4566fa8b">FindGroupPath</a> (H5::Group &amp;parent, const std::string &amp;requestedPath)</td></tr>
<tr class="memdesc:a8e53121efb4688c150bccdbd4566fa8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find group path with case-insensitive matching (Group version) <br /></td></tr>
<tr class="separator:a8e53121efb4688c150bccdbd4566fa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38a81003b9f79ee2e096c01077c615e" id="r_ab38a81003b9f79ee2e096c01077c615e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab38a81003b9f79ee2e096c01077c615e">FindDatasetPath</a> (H5::H5File &amp;parent, const std::string &amp;requestedPath)</td></tr>
<tr class="separator:ab38a81003b9f79ee2e096c01077c615e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dbb9197e087c876949179a6d95b75d9" id="r_a0dbb9197e087c876949179a6d95b75d9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0dbb9197e087c876949179a6d95b75d9">FindDatasetPath</a> (H5::Group &amp;parent, const std::string &amp;requestedPath)</td></tr>
<tr class="memdesc:a0dbb9197e087c876949179a6d95b75d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find dataset path with case-insensitive matching (Group version) <br /></td></tr>
<tr class="separator:a0dbb9197e087c876949179a6d95b75d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3409cf70d346b0693261b68dca28d05c" id="r_a3409cf70d346b0693261b68dca28d05c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3409cf70d346b0693261b68dca28d05c">ReadIntDataset</a> (H5::H5File &amp;file, const std::string &amp;path)</td></tr>
<tr class="memdesc:a3409cf70d346b0693261b68dca28d05c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an integer dataset and store in data map. <br /></td></tr>
<tr class="separator:a3409cf70d346b0693261b68dca28d05c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2890222826d4afeb105d82937fe5c150" id="r_a2890222826d4afeb105d82937fe5c150"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2890222826d4afeb105d82937fe5c150">ReadFloatDataset</a> (H5::H5File &amp;file, const std::string &amp;path)</td></tr>
<tr class="memdesc:a2890222826d4afeb105d82937fe5c150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a float dataset and store in data map. <br /></td></tr>
<tr class="separator:a2890222826d4afeb105d82937fe5c150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a5b92108f2e71eea20c2079b287554e" id="r_a6a5b92108f2e71eea20c2079b287554e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a5b92108f2e71eea20c2079b287554e">ReadStringDataset</a> (H5::H5File &amp;file, const std::string &amp;path)</td></tr>
<tr class="memdesc:a6a5b92108f2e71eea20c2079b287554e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a string dataset and store in data map. <br /></td></tr>
<tr class="separator:a6a5b92108f2e71eea20c2079b287554e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52d5ea06a6e4ba5715a43607a08adac8" id="r_a52d5ea06a6e4ba5715a43607a08adac8"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a52d5ea06a6e4ba5715a43607a08adac8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a52d5ea06a6e4ba5715a43607a08adac8">ReadDatasetAttributes</a> (H5::DataSet &amp;dataset, <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;data)</td></tr>
<tr class="memdesc:a52d5ea06a6e4ba5715a43607a08adac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read dataset attributes and add to <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object. <br /></td></tr>
<tr class="separator:a52d5ea06a6e4ba5715a43607a08adac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:ae2cf89f180fa9f8cd85de31e2887f8b7" id="r_ae2cf89f180fa9f8cd85de31e2887f8b7"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2cf89f180fa9f8cd85de31e2887f8b7">CaseInsensitiveEquals</a> (const std::string &amp;a, const std::string &amp;b)</td></tr>
<tr class="memdesc:ae2cf89f180fa9f8cd85de31e2887f8b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings case-insensitively. <br /></td></tr>
<tr class="separator:ae2cf89f180fa9f8cd85de31e2887f8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a6dbaad374b66344d91d7fbd031758" id="r_a42a6dbaad374b66344d91d7fbd031758"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a42a6dbaad374b66344d91d7fbd031758">SplitPath</a> (const std::string &amp;path)</td></tr>
<tr class="separator:a42a6dbaad374b66344d91d7fbd031758"><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:a869e662f3f3dfb3dce15babf76fe261e" id="r_a869e662f3f3dfb3dce15babf76fe261e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a869e662f3f3dfb3dce15babf76fe261e">fPrintDebug</a> {false}</td></tr>
<tr class="memdesc:a869e662f3f3dfb3dce15babf76fe261e"><td class="mdescLeft">&#160;</td><td class="mdescRight">if true print additional debug information <br /></td></tr>
<tr class="separator:a869e662f3f3dfb3dce15babf76fe261e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba557ebc96d99a8df645143ee89dd67" id="r_a2ba557ebc96d99a8df645143ee89dd67"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ba557ebc96d99a8df645143ee89dd67">fFileName</a> {&quot;&quot;}</td></tr>
<tr class="memdesc:a2ba557ebc96d99a8df645143ee89dd67"><td class="mdescLeft">&#160;</td><td class="mdescRight">NeXus HDF5 filename. <br /></td></tr>
<tr class="separator:a2ba557ebc96d99a8df645143ee89dd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b9bce7851277b26917d3841cbfc3a9f" id="r_a9b9bce7851277b26917d3841cbfc3a9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b9bce7851277b26917d3841cbfc3a9f">fIdfVersion</a> {-1}</td></tr>
<tr class="memdesc:a9b9bce7851277b26917d3841cbfc3a9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDF version of the NeXus file. <br /></td></tr>
<tr class="separator:a9b9bce7851277b26917d3841cbfc3a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b8257b92917173989fc5f848084f260" id="r_a7b8257b92917173989fc5f848084f260"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b8257b92917173989fc5f848084f260">fHdf5LibVersion</a> {&quot;n/a&quot;}</td></tr>
<tr class="memdesc:a7b8257b92917173989fc5f848084f260"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDF5 library version used when calling <a class="el" href="classnxH5_1_1PNeXus.html" title="NeXus HDF5 file reader with case-insensitive path lookup.">PNeXus</a>. <br /></td></tr>
<tr class="separator:a7b8257b92917173989fc5f848084f260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31664351733e7ababd403d3a628c6e83" id="r_a31664351733e7ababd403d3a628c6e83"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31664351733e7ababd403d3a628c6e83">fHdf5Version</a> {&quot;&quot;}</td></tr>
<tr class="memdesc:a31664351733e7ababd403d3a628c6e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">HDF5 version of the file. <br /></td></tr>
<tr class="separator:a31664351733e7ababd403d3a628c6e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf9b7177ad51a887ce7c0a90591b91f6" id="r_adf9b7177ad51a887ce7c0a90591b91f6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adf9b7177ad51a887ce7c0a90591b91f6">fNeXusVersion</a> {&quot;&quot;}</td></tr>
<tr class="memdesc:adf9b7177ad51a887ce7c0a90591b91f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">NeXus version of the file. <br /></td></tr>
<tr class="separator:adf9b7177ad51a887ce7c0a90591b91f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad488eb658bbb83d9130a512dbe3d9bdc" id="r_ad488eb658bbb83d9130a512dbe3d9bdc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad488eb658bbb83d9130a512dbe3d9bdc">fFileNameNxs</a> {&quot;&quot;}</td></tr>
<tr class="separator:ad488eb658bbb83d9130a512dbe3d9bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14afb0e7643e1e445641d67e9b72c89c" id="r_a14afb0e7643e1e445641d67e9b72c89c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a14afb0e7643e1e445641d67e9b72c89c">fFileTimeNxs</a> {&quot;&quot;}</td></tr>
<tr class="separator:a14afb0e7643e1e445641d67e9b72c89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a120eb945306df0a2bc4d8e92dfd785cd" id="r_a120eb945306df0a2bc4d8e92dfd785cd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a120eb945306df0a2bc4d8e92dfd785cd">fCreatorNxs</a> {&quot;&quot;}</td></tr>
<tr class="separator:a120eb945306df0a2bc4d8e92dfd785cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9dd76da18bab38fb1887f09af27d735" id="r_ac9dd76da18bab38fb1887f09af27d735"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9dd76da18bab38fb1887f09af27d735">fUserV1</a> {&quot;&quot;}</td></tr>
<tr class="separator:ac9dd76da18bab38fb1887f09af27d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f2b34f4be043ed2a1cd36b758b0600" id="r_a65f2b34f4be043ed2a1cd36b758b0600"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::any &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a65f2b34f4be043ed2a1cd36b758b0600">fDataMap</a></td></tr>
<tr class="memdesc:a65f2b34f4be043ed2a1cd36b758b0600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of HDF5 paths to <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> objects. <br /></td></tr>
<tr class="separator:a65f2b34f4be043ed2a1cd36b758b0600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b570fe1bf4051f0d9addf54e721d1a" id="r_a31b570fe1bf4051f0d9addf54e721d1a"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::map&lt; std::string, std::any &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31b570fe1bf4051f0d9addf54e721d1a">fGroupAttributes</a></td></tr>
<tr class="memdesc:a31b570fe1bf4051f0d9addf54e721d1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of group paths to their attributes. <br /></td></tr>
<tr class="separator:a31b570fe1bf4051f0d9addf54e721d1a"><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>NeXus HDF5 file reader with case-insensitive path lookup. </p>
<p>The <a class="el" href="classnxH5_1_1PNeXus.html" title="NeXus HDF5 file reader with case-insensitive path lookup.">PNeXus</a> class provides functionality for reading ISIS muon NeXus HDF5 files using the HDF5 C++ API. It implements case-insensitive path lookup for datasets, groups, and attributes to handle files with varying path casings.</p>
<p>Key features:</p><ul>
<li>Automatic file reading upon construction</li>
<li>Case-insensitive path resolution for datasets and groups</li>
<li>Case-insensitive attribute name matching</li>
<li>Comprehensive exception handling with HDF5 C++ exceptions </li>
</ul>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#_a81">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01463">1463</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a89511ff345ac957688a161c9a148e6d6" name="a89511ff345ac957688a161c9a148e6d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89511ff345ac957688a161c9a148e6d6">&#9670;&#160;</a></span>PNeXus() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">nxH5::PNeXus::PNeXus </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a48">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a104">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03451">3451</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01877">fHdf5LibVersion</a>, and <a class="el" href="PStartupHandler_8cpp_source.html#l00105">status</a>.</p>
</div>
</div>
<a id="aa453d9896330c386f138b96c3fc17ffb" name="aa453d9896330c386f138b96c3fc17ffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa453d9896330c386f138b96c3fc17ffb">&#9670;&#160;</a></span>PNeXus() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">nxH5::PNeXus::PNeXus </td>
<td>(</td>
<td class="paramtype">const std::string</td> <td class="paramname"><span class="paramname"><em>fln</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool</td> <td class="paramname"><span class="paramname"><em>printDebug</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03490">3490</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01875">fFileName</a>, <a class="el" href="PNeXus_8h_source.html#l01877">fHdf5LibVersion</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>, and <a class="el" href="PStartupHandler_8cpp_source.html#l00105">status</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7a69d1521a0c416863c65a74e952fa8f" name="a7a69d1521a0c416863c65a74e952fa8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a69d1521a0c416863c65a74e952fa8f">&#9670;&#160;</a></span>AddDataset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::AddDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; hsize_t &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>dimensions</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const H5::DataType &amp;</td> <td class="paramname"><span class="paramname"><em>dataType</em></span><span class="paramdefsep"> = </span><span class="paramdefval">H5::PredType::NATIVE_INT</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create and add a new dataset with data, dimensions, and optional attributes. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path for the new dataset </td></tr>
<tr><td class="paramname">data</td><td>Data vector </td></tr>
<tr><td class="paramname">dimensions</td><td>Dimensions vector </td></tr>
<tr><td class="paramname">dataType</td><td>HDF5 DataType (optional, uses default if not provided) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if dataset was created, false if path already exists </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a123">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01723">1723</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01357">nxH5::PNXdata&lt; T &gt;::SetData()</a>, and <a class="el" href="PNeXus_8h_source.html#l01369">nxH5::PNXdata&lt; T &gt;::SetDimensions()</a>.</p>
</div>
</div>
<a id="af4b55c1abcc4a0a704148cf04f62f71c" name="af4b55c1abcc4a0a704148cf04f62f71c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4b55c1abcc4a0a704148cf04f62f71c">&#9670;&#160;</a></span>AddDatasetAttribute()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::AddDatasetAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::any &amp;</td> <td class="paramname"><span class="paramname"><em>attrValue</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add or update an attribute for a dataset. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name </td></tr>
<tr><td class="paramname">attrValue</td><td>Attribute value (stored as std::any) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was added, false if dataset doesn't exist </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a121">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01677">1677</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, and <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>.</p>
</div>
</div>
<a id="a480dc64ef2257ea2f44e7a10b02add0b" name="a480dc64ef2257ea2f44e7a10b02add0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a480dc64ef2257ea2f44e7a10b02add0b">&#9670;&#160;</a></span>AddGroupAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::AddGroupAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::any &amp;</td> <td class="paramname"><span class="paramname"><em>attrValue</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Add or update an attribute for a group.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group (e.g., "/raw_data_1") </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name </td></tr>
<tr><td class="paramname">attrValue</td><td>Attribute value (stored as std::any) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was added successfully </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a67">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a127">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05605">5605</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05712">AddRootAttribute()</a>.</p>
</div>
</div>
<a id="a285b88cb5a7e038ec8aa809cfd9eaaa5" name="a285b88cb5a7e038ec8aa809cfd9eaaa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a285b88cb5a7e038ec8aa809cfd9eaaa5">&#9670;&#160;</a></span>AddRootAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::AddRootAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::any &amp;</td> <td class="paramname"><span class="paramname"><em>attrValue</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Add or update an attribute at the root level "/". This is a convenience method that calls AddGroupAttribute("/", attrName, attrValue).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">attrName</td><td>Attribute name </td></tr>
<tr><td class="paramname">attrValue</td><td>Attribute value (stored as std::any) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was added successfully </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a73">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a133">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05712">5712</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l05605">AddGroupAttribute()</a>.</p>
</div>
</div>
<a id="ae2cf89f180fa9f8cd85de31e2887f8b7" name="ae2cf89f180fa9f8cd85de31e2887f8b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2cf89f180fa9f8cd85de31e2887f8b7">&#9670;&#160;</a></span>CaseInsensitiveEquals()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::CaseInsensitiveEquals </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>b</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compare two strings case-insensitively. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>First string to compare </td></tr>
<tr><td class="paramname">b</td><td>Second string to compare </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if strings are equal (ignoring case), false otherwise </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Uses std::tolower for character-by-character comparison </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a43">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a143">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03015">3015</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03090">FindAttributeName()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03372">FindDatasetPath()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03200">FindGroupPath()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03131">FindGroupPath()</a>.</p>
</div>
</div>
<a id="ab6e3d7366af4d0a4749e81aa6bbf127b" name="ab6e3d7366af4d0a4749e81aa6bbf127b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6e3d7366af4d0a4749e81aa6bbf127b">&#9670;&#160;</a></span>ClearDataMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::ClearDataMap </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear all datasets from the data map. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a117">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01622">1622</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a684b6b924d828e1f1840390a385c3abc" name="a684b6b924d828e1f1840390a385c3abc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a684b6b924d828e1f1840390a385c3abc">&#9670;&#160;</a></span>ClearGroupAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::ClearGroupAttributes </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear all attributes from a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if group was found and attributes cleared, false otherwise</dd></dl>
<p>Clear all attributes from a group.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if group was found and attributes cleared, false otherwise </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a72">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a132">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05693">5693</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
</div>
</div>
<a id="a561c1aeaf5a5101a579f183f97543821" name="a561c1aeaf5a5101a579f183f97543821"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a561c1aeaf5a5101a579f183f97543821">&#9670;&#160;</a></span>CreateGroupHierarchy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">H5::Group nxH5::PNeXus::CreateGroupHierarchy </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create nested group hierarchy for a given path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Full path (e.g., "/raw_data_1/detector_1") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>H5::Group handle to the deepest created/opened group </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::GroupIException</td><td>if group creation fails</td></tr>
</table>
</dd>
</dl>
<p>Create nested group hierarchy for a given path. Groups are created recursively if they don't exist. If a group already exists, it is opened and returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Full path (e.g., "/raw_data_1/detector_1") </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>H5::Group handle to the deepest created/opened group </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::GroupIException</td><td>if group creation fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a59">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a136">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05027">5027</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l03052">SplitPath()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05396">WriteGroupAttributes()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05248">WriteFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05176">WriteIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05321">WriteStringDataset()</a>.</p>
</div>
</div>
<a id="a10028340ceb2d7b84786a6a47274d700" name="a10028340ceb2d7b84786a6a47274d700"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10028340ceb2d7b84786a6a47274d700">&#9670;&#160;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::Dump </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a53">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a125">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03761">3761</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8h_source.html#l01875">fFileName</a>, <a class="el" href="PNeXus_8h_source.html#l01880">fFileNameNxs</a>, <a class="el" href="PNeXus_8h_source.html#l01881">fFileTimeNxs</a>, <a class="el" href="PNeXus_8h_source.html#l01878">fHdf5Version</a>, <a class="el" href="PNeXus_8h_source.html#l01876">fIdfVersion</a>, <a class="el" href="PNeXus_8h_source.html#l01879">fNeXusVersion</a>, and <a class="el" href="PNeXus_8h_source.html#l01883">fUserV1</a>.</p>
</div>
</div>
<a id="a1a7544ce77228a82b0f2143c93bbbdc8" name="a1a7544ce77228a82b0f2143c93bbbdc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a7544ce77228a82b0f2143c93bbbdc8">&#9670;&#160;</a></span>FindAttributeName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::FindAttributeName </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>obj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>requestedName</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a45">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a145">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03090">3090</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03015">CaseInsensitiveEquals()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="a0dbb9197e087c876949179a6d95b75d9" name="a0dbb9197e087c876949179a6d95b75d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dbb9197e087c876949179a6d95b75d9">&#9670;&#160;</a></span>FindDatasetPath() <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">std::string nxH5::PNeXus::FindDatasetPath </td>
<td>(</td>
<td class="paramtype">H5::Group &amp;</td> <td class="paramname"><span class="paramname"><em>parent</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>requestedPath</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Find dataset path with case-insensitive matching (Group version) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>HDF5 Group object to start search from </td></tr>
<tr><td class="paramname">requestedPath</td><td>Requested dataset path (any case) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Correctly-cased dataset path as it exists in the file </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::DataSetIException</td><td>if dataset not found or path invalid </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Validates that final path component is actually a dataset </dd></dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03372">3372</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03015">CaseInsensitiveEquals()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03052">SplitPath()</a>.</p>
</div>
</div>
<a id="ab38a81003b9f79ee2e096c01077c615e" name="ab38a81003b9f79ee2e096c01077c615e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab38a81003b9f79ee2e096c01077c615e">&#9670;&#160;</a></span>FindDatasetPath() <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">std::string nxH5::PNeXus::FindDatasetPath </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>parent</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>requestedPath</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a47">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a147">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03292">3292</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03015">CaseInsensitiveEquals()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03052">SplitPath()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>.</p>
</div>
</div>
<a id="a8e53121efb4688c150bccdbd4566fa8b" name="a8e53121efb4688c150bccdbd4566fa8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e53121efb4688c150bccdbd4566fa8b">&#9670;&#160;</a></span>FindGroupPath() <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">std::string nxH5::PNeXus::FindGroupPath </td>
<td>(</td>
<td class="paramtype">H5::Group &amp;</td> <td class="paramname"><span class="paramname"><em>parent</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>requestedPath</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Find group path with case-insensitive matching (Group version) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>HDF5 Group object to start search from </td></tr>
<tr><td class="paramname">requestedPath</td><td>Requested group path (any case) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Correctly-cased group path as it exists in the file </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::GroupIException</td><td>if group not found or path invalid </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03200">3200</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03015">CaseInsensitiveEquals()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03052">SplitPath()</a>.</p>
</div>
</div>
<a id="a0cf5b758501cad7e2df11c155f734786" name="a0cf5b758501cad7e2df11c155f734786"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf5b758501cad7e2df11c155f734786">&#9670;&#160;</a></span>FindGroupPath() <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">std::string nxH5::PNeXus::FindGroupPath </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>parent</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>requestedPath</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a46">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a146">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03131">3131</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03015">CaseInsensitiveEquals()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03052">SplitPath()</a>.</p>
</div>
</div>
<a id="a0ae799b57ae883ef16b08cbc0d16b196" name="a0ae799b57ae883ef16b08cbc0d16b196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ae799b57ae883ef16b08cbc0d16b196">&#9670;&#160;</a></span>GetDataMap() <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">std::map&lt; std::string, std::any &gt; &amp; nxH5::PNeXus::GetDataMap </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get mutable reference to the data map. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to the data map </dd></dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01559">1559</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a3a80bf273c7b564740217682566f5bde" name="a3a80bf273c7b564740217682566f5bde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a80bf273c7b564740217682566f5bde">&#9670;&#160;</a></span>GetDataMap() <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">const std::map&lt; std::string, std::any &gt; &amp; nxH5::PNeXus::GetDataMap </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the data map containing all datasets. </p>
<dl class="section return"><dt>Returns</dt><dd>Reference to the data map (path -&gt; <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> stored in std::any) </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a111">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01553">1553</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a9635f982853543e79ac32ef5a67b979a" name="a9635f982853543e79ac32ef5a67b979a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9635f982853543e79ac32ef5a67b979a">&#9670;&#160;</a></span>GetDataset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; nxH5::PNeXus::GetDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a dataset from the data map. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>if path doesn't exist </td></tr>
<tr><td class="paramname">std::bad_any_cast</td><td>if type T doesn't match stored type </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a114">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01588">1588</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="abf1ecd3da6aaee971062d65747927a6f" name="abf1ecd3da6aaee971062d65747927a6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf1ecd3da6aaee971062d65747927a6f">&#9670;&#160;</a></span>GetDatasetRef()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp; nxH5::PNeXus::GetDatasetRef </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a mutable reference to a dataset in the data map. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>if path doesn't exist </td></tr>
<tr><td class="paramname">std::bad_any_cast</td><td>if type T doesn't match stored type </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a115">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01601">1601</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a0357247e723611b64e524856daf9afe1" name="a0357247e723611b64e524856daf9afe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0357247e723611b64e524856daf9afe1">&#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">std::string nxH5::PNeXus::GetFileName </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the filename of the NeXus file. </p>
<dl class="section return"><dt>Returns</dt><dd>The filename as a string </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a105">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01514">1514</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01875">fFileName</a>.</p>
</div>
</div>
<a id="a8a7d0ba33a07dea50e3b32be0dd4c942" name="a8a7d0ba33a07dea50e3b32be0dd4c942"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a7d0ba33a07dea50e3b32be0dd4c942">&#9670;&#160;</a></span>GetGroupAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::any nxH5::PNeXus::GetGroupAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>&#160;) const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an attribute value from a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The attribute value as std::any </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>if group or attribute doesn't exist</td></tr>
</table>
</dd>
</dl>
<p>Get an attribute value from a group.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The attribute value as std::any </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::out_of_range</td><td>if group or attribute doesn't exist </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a70">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a130">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05666">5666</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
</div>
</div>
<a id="a83d00985df38625e28f033ebb8cba9c4" name="a83d00985df38625e28f033ebb8cba9c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83d00985df38625e28f033ebb8cba9c4">&#9670;&#160;</a></span>GetGroupAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::map&lt; std::string, std::any &gt; &amp; nxH5::PNeXus::GetGroupAttributes </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get all attributes for a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Map of attribute names to values</dd></dl>
<p>Get all attributes for a group.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Map of attribute names to values </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a71">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a131">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05677">5677</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
</div>
</div>
<a id="aac14888743d6ecbb0060fd21c9f37b38" name="aac14888743d6ecbb0060fd21c9f37b38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac14888743d6ecbb0060fd21c9f37b38">&#9670;&#160;</a></span>GetHdf5LibVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::GetHdf5LibVersion </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the HDF5 library version string. </p>
<dl class="section return"><dt>Returns</dt><dd>The HDF5 version as a string (e.g., "1.10.4") </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a106">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01520">1520</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01877">fHdf5LibVersion</a>.</p>
</div>
</div>
<a id="ab0a6a7c334e17c16257ec19fd7468daf" name="ab0a6a7c334e17c16257ec19fd7468daf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0a6a7c334e17c16257ec19fd7468daf">&#9670;&#160;</a></span>GetHdf5Version()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::GetHdf5Version </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the HDF5 version string from the file. </p>
<dl class="section return"><dt>Returns</dt><dd>The HDF5 version as a string (e.g., "1.10.4") </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a107">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01526">1526</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01878">fHdf5Version</a>.</p>
</div>
</div>
<a id="a50c78c13b1b246a71e7da3015b3248fe" name="a50c78c13b1b246a71e7da3015b3248fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50c78c13b1b246a71e7da3015b3248fe">&#9670;&#160;</a></span>GetIdfVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int nxH5::PNeXus::GetIdfVersion </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the Idf version of the file. </p>
<dl class="section return"><dt>Returns</dt><dd>The Idf version tag </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a109">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01538">1538</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01876">fIdfVersion</a>.</p>
</div>
</div>
<a id="a0a30f93d5019722df974112eee1ffdd9" name="a0a30f93d5019722df974112eee1ffdd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a30f93d5019722df974112eee1ffdd9">&#9670;&#160;</a></span>GetNeXusVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::GetNeXusVersion </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the NeXus version of the file. </p>
<dl class="section return"><dt>Returns</dt><dd>The NeXus version as a string </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a108">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01532">1532</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01879">fNeXusVersion</a>.</p>
</div>
</div>
<a id="a7272e137044fbaad8d449c872eb002d0" name="a7272e137044fbaad8d449c872eb002d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7272e137044fbaad8d449c872eb002d0">&#9670;&#160;</a></span>GetNumDatasets()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t nxH5::PNeXus::GetNumDatasets </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of datasets in the data map. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of datasets stored </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a118">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01628">1628</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a1239efc1c69ffe974bac37d9908a6a04" name="a1239efc1c69ffe974bac37d9908a6a04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1239efc1c69ffe974bac37d9908a6a04">&#9670;&#160;</a></span>HandleIdfV1()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::HandleIdfV1 </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read datasets for IDF version 1 file structure. </p>
<p>Reads datasets specific to the IDF version 1 NeXus format, which uses a "/run/" group hierarchy. Datasets are organized under paths like:</p><ul>
<li>/run/IDF_version, /run/number, /run/title</li>
<li>/run/sample/temperature, /run/sample/magnetic_field</li>
<li>/run/histogram_data_1/counts, /run/histogram_data_1/raw_time</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object to read from</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>IDF v1 is an older format primarily used by ISIS facilities </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a51">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a134">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03631">3631</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l03090">FindAttributeName()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8h_source.html#l01883">fUserV1</a>, <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="a09aea551cccee2bbfa3df77cf2b9e4e0" name="a09aea551cccee2bbfa3df77cf2b9e4e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09aea551cccee2bbfa3df77cf2b9e4e0">&#9670;&#160;</a></span>HandleIdfV2()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::HandleIdfV2 </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read datasets for IDF version 2 file structure. </p>
<p>Reads datasets specific to the IDF version 2 NeXus format, which uses a "/raw_data_1/" group hierarchy. Datasets are organized under paths like:</p><ul>
<li>/raw_data_1/IDF_version, /raw_data_1/run_number, /raw_data_1/title</li>
<li>/raw_data_1/instrument/detector_1/counts</li>
<li>/raw_data_1/instrument/detector_1/resolution</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object to read from</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>IDF v2 is the current standard format for ISIS muon NeXus files </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a52">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a135">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03693">3693</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01880">fFileNameNxs</a>, <a class="el" href="PNeXus_8h_source.html#l01881">fFileTimeNxs</a>, <a class="el" href="PNeXus_8cpp_source.html#l03090">FindAttributeName()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="a154e6293c701387b7fc6ab455fd3319e" name="a154e6293c701387b7fc6ab455fd3319e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a154e6293c701387b7fc6ab455fd3319e">&#9670;&#160;</a></span>HasDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::HasDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a dataset path exists in the data map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path to check </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if path exists, false otherwise </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a112">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01566">1566</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8h_source.html#l01723">AddDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01677">AddDatasetAttribute()</a>, <a class="el" href="PNeXus_8h_source.html#l01743">ModifyDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01697">RemoveDatasetAttribute()</a>, <a class="el" href="PNeXus_8h_source.html#l01638">UpdateDatasetData()</a>, and <a class="el" href="PNeXus_8h_source.html#l01657">UpdateDatasetDimensions()</a>.</p>
</div>
</div>
<a id="a64ed88327c0d6360ae62c9470acf63f5" name="a64ed88327c0d6360ae62c9470acf63f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64ed88327c0d6360ae62c9470acf63f5">&#9670;&#160;</a></span>HasGroupAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::HasGroupAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>&#160;) const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if a group has a specific attribute. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name to check </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute exists, false otherwise</dd></dl>
<p>Check if a group has a specific attribute.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name to check </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute exists, false otherwise </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a69">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a129">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05648">5648</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
</div>
</div>
<a id="a2ff57bae4b8d0a69bd70ffd6a5a3c117" name="a2ff57bae4b8d0a69bd70ffd6a5a3c117"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ff57bae4b8d0a69bd70ffd6a5a3c117">&#9670;&#160;</a></span>ModifyDataset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::ModifyDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>newData</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; hsize_t &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>newDimensions</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify an existing dataset's data and dimensions. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
<tr><td class="paramname">newData</td><td>New data vector </td></tr>
<tr><td class="paramname">newDimensions</td><td>New dimensions vector </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if modification succeeded, false if path doesn't exist </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a124">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01743">1743</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, and <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>.</p>
</div>
</div>
<a id="a52d5ea06a6e4ba5715a43607a08adac8" name="a52d5ea06a6e4ba5715a43607a08adac8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52d5ea06a6e4ba5715a43607a08adac8">&#9670;&#160;</a></span>ReadDatasetAttributes()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::ReadDatasetAttributes </td>
<td>(</td>
<td class="paramtype">H5::DataSet &amp;</td> <td class="paramname"><span class="paramname"><em>dataset</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read dataset attributes and add to <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dataset</td><td>HDF5 dataset object </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object to add attributes to</td></tr>
</table>
</dd>
</dl>
<p>Reads all attributes from an HDF5 dataset and adds them to a <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object. Attributes can be integers, floats, or strings.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dataset</td><td>HDF5 dataset object </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object to add attributes to </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a58">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a151">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l04971">4971</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01395">nxH5::PNXdata&lt; T &gt;::AddAttribute()</a>, and <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>.</p>
</div>
</div>
<a id="a2890222826d4afeb105d82937fe5c150" name="a2890222826d4afeb105d82937fe5c150"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2890222826d4afeb105d82937fe5c150">&#9670;&#160;</a></span>ReadFloatDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::ReadFloatDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a float dataset and store in data map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails</td></tr>
</table>
</dd>
</dl>
<p>Reads a float dataset from the HDF5 file and stores it in the data map. Handles multi-dimensional datasets by flattening them into a vector.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a56">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a149">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l04835">4835</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l04971">ReadDatasetAttributes()</a>, <a class="el" href="PNeXus_8h_source.html#l01357">nxH5::PNXdata&lt; T &gt;::SetData()</a>, and <a class="el" href="PNeXus_8h_source.html#l01369">nxH5::PNXdata&lt; T &gt;::SetDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>.</p>
</div>
</div>
<a id="a3409cf70d346b0693261b68dca28d05c" name="a3409cf70d346b0693261b68dca28d05c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3409cf70d346b0693261b68dca28d05c">&#9670;&#160;</a></span>ReadIntDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::ReadIntDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read an integer dataset and store in data map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails</td></tr>
</table>
</dd>
</dl>
<p>Reads an integer dataset from the HDF5 file and stores it in the data map. Handles multi-dimensional datasets by flattening them into a vector.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a54">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a148">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l04769">4769</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l04971">ReadDatasetAttributes()</a>, <a class="el" href="PNeXus_8h_source.html#l01357">nxH5::PNXdata&lt; T &gt;::SetData()</a>, and <a class="el" href="PNeXus_8h_source.html#l01369">nxH5::PNXdata&lt; T &gt;::SetDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>.</p>
</div>
</div>
<a id="a30e72b383e6299d99c5fe941be3dfc9c" name="a30e72b383e6299d99c5fe941be3dfc9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30e72b383e6299d99c5fe941be3dfc9c">&#9670;&#160;</a></span>ReadNexusFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int nxH5::PNeXus::ReadNexusFile </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read and parse the NeXus HDF5 file. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 on error </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::FileIException</td><td>if file cannot be opened </td></tr>
<tr><td class="paramname">H5::AttributeIException</td><td>if required attributes are missing </td></tr>
<tr><td class="paramname">H5::DataSetIException</td><td>if required datasets are missing</td></tr>
</table>
</dd>
</dl>
<p>Reads and parses the NeXus HDF5 file. Opens the file in read-only mode, loads the NeXus version attribute, and reads the IDF version dataset. Uses case-insensitive path lookup to handle varying path casings.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 on error </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::FileIException</td><td>if file cannot be opened </td></tr>
<tr><td class="paramname">H5::AttributeIException</td><td>if NeXus_version attribute is missing </td></tr>
<tr><td class="paramname">H5::DataSetIException</td><td>if IDF_version dataset is missing</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This method is called automatically by the constructor. It performs case-insensitive lookups for both attributes and datasets to handle NeXus files with varying naming conventions. </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a50">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a110">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03531">3531</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01875">fFileName</a>, <a class="el" href="PNeXus_8h_source.html#l01878">fHdf5Version</a>, <a class="el" href="PNeXus_8h_source.html#l01876">fIdfVersion</a>, <a class="el" href="PNeXus_8cpp_source.html#l03090">FindAttributeName()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8h_source.html#l01879">fNeXusVersion</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03490">PNeXus()</a>.</p>
</div>
</div>
<a id="a6a5b92108f2e71eea20c2079b287554e" name="a6a5b92108f2e71eea20c2079b287554e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a5b92108f2e71eea20c2079b287554e">&#9670;&#160;</a></span>ReadStringDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::ReadStringDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a string dataset and store in data map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails</td></tr>
</table>
</dd>
</dl>
<p>Reads a string dataset from the HDF5 file and stores it in the data map.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Path to the dataset </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if reading fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a57">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a150">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l04900">4900</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l04971">ReadDatasetAttributes()</a>, <a class="el" href="PNeXus_8h_source.html#l01357">nxH5::PNXdata&lt; T &gt;::SetData()</a>, and <a class="el" href="PNeXus_8h_source.html#l01369">nxH5::PNXdata&lt; T &gt;::SetDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>.</p>
</div>
</div>
<a id="aeeee19b738675da7ae12a23e9e88104b" name="aeeee19b738675da7ae12a23e9e88104b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeeee19b738675da7ae12a23e9e88104b">&#9670;&#160;</a></span>RemoveDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::RemoveDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a dataset from the data map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset to remove </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if dataset was removed, false if path didn't exist </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a116">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01610">1610</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a15d7e9ad432bd5646e8fb54e2b469fc2" name="a15d7e9ad432bd5646e8fb54e2b469fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d7e9ad432bd5646e8fb54e2b469fc2">&#9670;&#160;</a></span>RemoveDatasetAttribute()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::RemoveDatasetAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove an attribute from a dataset. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name to remove </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was removed, false if dataset doesn't exist or attribute not found </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a122">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01697">1697</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, and <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>.</p>
</div>
</div>
<a id="a20f9095938a997704a5e37ba3fd43fd6" name="a20f9095938a997704a5e37ba3fd43fd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20f9095938a997704a5e37ba3fd43fd6">&#9670;&#160;</a></span>RemoveGroupAttribute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::RemoveGroupAttribute </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>groupPath</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>attrName</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove an attribute from a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name to remove </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was removed, false if group or attribute not found</dd></dl>
<p>Remove an attribute from a group.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">groupPath</td><td>HDF5 path of the group </td></tr>
<tr><td class="paramname">attrName</td><td>Attribute name to remove </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if attribute was removed, false if group or attribute not found </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a68">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a128">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05619">5619</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>.</p>
</div>
</div>
<a id="a7d16836f7f145c30675b9e3663b21549" name="a7d16836f7f145c30675b9e3663b21549"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d16836f7f145c30675b9e3663b21549">&#9670;&#160;</a></span>SetDataset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::SetDataset </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add or update a dataset in the data map. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path for the dataset </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object to store </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a113">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01575">1575</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>.</p>
</div>
</div>
<a id="a42a6dbaad374b66344d91d7fbd031758" name="a42a6dbaad374b66344d91d7fbd031758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42a6dbaad374b66344d91d7fbd031758">&#9670;&#160;</a></span>SplitPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::string &gt; nxH5::PNeXus::SplitPath </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a44">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a144">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l03052">3052</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03372">FindDatasetPath()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03292">FindDatasetPath()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03200">FindGroupPath()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03131">FindGroupPath()</a>.</p>
</div>
</div>
<a id="a861851379eaa66eaeee3f7f099011452" name="a861851379eaa66eaeee3f7f099011452"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a861851379eaa66eaeee3f7f099011452">&#9670;&#160;</a></span>UpdateDatasetData()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::UpdateDatasetData </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>newData</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the data of an existing dataset. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
<tr><td class="paramname">newData</td><td>New data vector to set </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if update succeeded, false if path doesn't exist </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a119">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01638">1638</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, and <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>.</p>
</div>
</div>
<a id="a964f642b5192fca9d37f8c0fe1283ebb" name="a964f642b5192fca9d37f8c0fe1283ebb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964f642b5192fca9d37f8c0fe1283ebb">&#9670;&#160;</a></span>UpdateDatasetDimensions()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::UpdateDatasetDimensions </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; hsize_t &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>newDimensions</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the dimensions of an existing dataset. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>HDF5 path of the dataset </td></tr>
<tr><td class="paramname">newDimensions</td><td>New dimensions vector to set </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if update succeeded, false if path doesn't exist </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a120">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01657">1657</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, and <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>.</p>
</div>
</div>
<a id="a3f9ef8e19f021ca4e18c46629abafa7f" name="a3f9ef8e19f021ca4e18c46629abafa7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f9ef8e19f021ca4e18c46629abafa7f">&#9670;&#160;</a></span>WriteDatasetAttributes()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteDatasetAttributes </td>
<td>(</td>
<td class="paramtype">H5::DataSet &amp;</td> <td class="paramname"><span class="paramname"><em>dataset</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; T &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write dataset attributes from <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dataset</td><td>HDF5 dataset object to write attributes to </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing attributes</td></tr>
</table>
</dd>
</dl>
<p>Writes all attributes from a <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object to an HDF5 dataset. Supports int, float, and string attribute types.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The data type of the <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dataset</td><td>HDF5 dataset object to write attributes to </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing attributes </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a60">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a137">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05089">5089</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, and <a class="el" href="PNeXus_8h_source.html#l01422">nxH5::PNXdata&lt; T &gt;::GetAttributes()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05248">WriteFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05176">WriteIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05321">WriteStringDataset()</a>.</p>
</div>
</div>
<a id="a23fd35145b29843735e8f82201af7ade" name="a23fd35145b29843735e8f82201af7ade"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23fd35145b29843735e8f82201af7ade">&#9670;&#160;</a></span>WriteFileAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteFileAttributes </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write root-level file attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails</td></tr>
</table>
</dd>
</dl>
<p>Writes root-level file attributes such as NeXus_version, HDF5_version, file_name, and file_time to the HDF5 file.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a66">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a142">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05479">5479</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01880">fFileNameNxs</a>, <a class="el" href="PNeXus_8h_source.html#l01881">fFileTimeNxs</a>, <a class="el" href="PNeXus_8h_source.html#l01885">fGroupAttributes</a>, <a class="el" href="PNeXus_8h_source.html#l01878">fHdf5Version</a>, <a class="el" href="PNeXus_8h_source.html#l01879">fNeXusVersion</a>, and <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>.</p>
</div>
</div>
<a id="a0740086cba77a21371a973f17f8c5c86" name="a0740086cba77a21371a973f17f8c5c86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0740086cba77a21371a973f17f8c5c86">&#9670;&#160;</a></span>WriteFloatDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteFloatDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; float &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a float dataset with attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails</td></tr>
</table>
</dd>
</dl>
<p>Writes a float dataset to the HDF5 file with all its attributes. The parent group hierarchy is created automatically if it doesn't exist.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a63">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a140">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05248">5248</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8h_source.html#l01345">nxH5::PNXdata&lt; T &gt;::GetData()</a>, <a class="el" href="PNeXus_8h_source.html#l01363">nxH5::PNXdata&lt; T &gt;::GetDimensions()</a>, <a class="el" href="PNeXus_8h_source.html#l01381">nxH5::PNXdata&lt; T &gt;::GetNumElements()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05089">WriteDatasetAttributes()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>.</p>
</div>
</div>
<a id="a3c84f381b528fee00e2453d1bd88d94b" name="a3c84f381b528fee00e2453d1bd88d94b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c84f381b528fee00e2453d1bd88d94b">&#9670;&#160;</a></span>WriteGroupAttributes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteGroupAttributes </td>
<td>(</td>
<td class="paramtype">H5::Group &amp;</td> <td class="paramname"><span class="paramname"><em>group</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::map&lt; std::string, std::any &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>attributes</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write attributes to a group. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">group</td><td>HDF5 group object to write attributes to </td></tr>
<tr><td class="paramname">attributes</td><td>Map of attribute names to values</td></tr>
</table>
</dd>
</dl>
<p>Writes attributes to an HDF5 group object. Supports int, float, and string attribute types.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">group</td><td>HDF5 group object to write attributes to </td></tr>
<tr><td class="paramname">attributes</td><td>Map of attribute names to values (stored as std::any) </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a65">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a138">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05396">5396</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>.</p>
</div>
</div>
<a id="a593c9c480428534ac2b642dcb14c93eb" name="a593c9c480428534ac2b642dcb14c93eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a593c9c480428534ac2b642dcb14c93eb">&#9670;&#160;</a></span>WriteIntDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteIntDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write an integer dataset with attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails</td></tr>
</table>
</dd>
</dl>
<p>Writes an integer dataset to the HDF5 file with all its attributes. The parent group hierarchy is created automatically if it doesn't exist.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a61">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a139">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05176">5176</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8h_source.html#l01345">nxH5::PNXdata&lt; T &gt;::GetData()</a>, <a class="el" href="PNeXus_8h_source.html#l01363">nxH5::PNXdata&lt; T &gt;::GetDimensions()</a>, <a class="el" href="PNeXus_8h_source.html#l01381">nxH5::PNXdata&lt; T &gt;::GetNumElements()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05089">WriteDatasetAttributes()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>.</p>
</div>
</div>
<a id="ac03aaa912f670af4e8f053ddbcf71007" name="ac03aaa912f670af4e8f053ddbcf71007"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac03aaa912f670af4e8f053ddbcf71007">&#9670;&#160;</a></span>WriteNexusFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int nxH5::PNeXus::WriteNexusFile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>filename</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>idfVersion</em></span><span class="paramdefsep"> = </span><span class="paramdefval">2</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes the data map contents to a new NeXus HDF5 file. This is the main public API for writing NeXus files.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>Path to the output NeXus HDF5 file </td></tr>
<tr><td class="paramname">idfVersion</td><td>IDF version to write (default: 2) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 on error </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::FileIException</td><td>if file cannot be created </td></tr>
<tr><td class="paramname">H5::GroupIException</td><td>if group creation fails </td></tr>
<tr><td class="paramname">H5::DataSetIException</td><td>if dataset writing fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a74">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a126">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05731">5731</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8h_source.html#l01884">fDataMap</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05248">WriteFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05176">WriteIntDataset()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05321">WriteStringDataset()</a>.</p>
</div>
</div>
<a id="ad8b953c9906017fe6f99509c5583ef8b" name="ad8b953c9906017fe6f99509c5583ef8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8b953c9906017fe6f99509c5583ef8b">&#9670;&#160;</a></span>WriteStringDataset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void nxH5::PNeXus::WriteStringDataset </td>
<td>(</td>
<td class="paramtype">H5::H5File &amp;</td> <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classnxH5_1_1PNXdata.html">PNXdata</a>&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a string dataset with attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails</td></tr>
</table>
</dd>
</dl>
<p>Writes a string dataset to the HDF5 file with all its attributes. The parent group hierarchy is created automatically if it doesn't exist. Handles both scalar strings and arrays of strings.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">file</td><td>HDF5 file object </td></tr>
<tr><td class="paramname">path</td><td>Dataset path (groups created automatically) </td></tr>
<tr><td class="paramname">data</td><td><a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> object containing data, dimensions, and attributes </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">H5::Exception</td><td>if writing fails </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8cpp-example.html#a64">/workspace/LMU/musrfit/src/external/nexus/PNeXus.cpp</a>, and <a class="el" href="_2workspace_2LMU_2musrfit_2src_2external_2nexus_2PNeXus_8h-example.html#a141">/workspace/LMU/musrfit/src/external/nexus/PNeXus.h</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="PNeXus_8cpp_source.html#l05321">5321</a> of file <a class="el" href="PNeXus_8cpp_source.html">PNeXus.cpp</a>.</p>
<p class="reference">References <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8h_source.html#l01874">fPrintDebug</a>, <a class="el" href="PNeXus_8h_source.html#l01345">nxH5::PNXdata&lt; T &gt;::GetData()</a>, <a class="el" href="PNeXus_8h_source.html#l01363">nxH5::PNXdata&lt; T &gt;::GetDimensions()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05089">WriteDatasetAttributes()</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a120eb945306df0a2bc4d8e92dfd785cd" name="a120eb945306df0a2bc4d8e92dfd785cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a120eb945306df0a2bc4d8e92dfd785cd">&#9670;&#160;</a></span>fCreatorNxs</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fCreatorNxs {&quot;&quot;}</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 class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01882">1882</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
</div>
</div>
<a id="a65f2b34f4be043ed2a1cd36b758b0600" name="a65f2b34f4be043ed2a1cd36b758b0600"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65f2b34f4be043ed2a1cd36b758b0600">&#9670;&#160;</a></span>fDataMap</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::map&lt;std::string, std::any&gt; nxH5::PNeXus::fDataMap</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>Map of HDF5 paths to <a class="el" href="classnxH5_1_1PNXdata.html" title="Template class for storing HDF5 dataset content with attributes.">PNXdata</a> objects. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01884">1884</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8h_source.html#l01723">AddDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01677">AddDatasetAttribute()</a>, <a class="el" href="PNeXus_8h_source.html#l01622">ClearDataMap()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8h_source.html#l01559">GetDataMap()</a>, <a class="el" href="PNeXus_8h_source.html#l01553">GetDataMap()</a>, <a class="el" href="PNeXus_8h_source.html#l01588">GetDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01601">GetDatasetRef()</a>, <a class="el" href="PNeXus_8h_source.html#l01628">GetNumDatasets()</a>, <a class="el" href="PNeXus_8h_source.html#l01566">HasDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01743">ModifyDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01610">RemoveDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01697">RemoveDatasetAttribute()</a>, <a class="el" href="PNeXus_8h_source.html#l01575">SetDataset()</a>, <a class="el" href="PNeXus_8h_source.html#l01638">UpdateDatasetData()</a>, <a class="el" href="PNeXus_8h_source.html#l01657">UpdateDatasetDimensions()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>.</p>
</div>
</div>
<a id="a2ba557ebc96d99a8df645143ee89dd67" name="a2ba557ebc96d99a8df645143ee89dd67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba557ebc96d99a8df645143ee89dd67">&#9670;&#160;</a></span>fFileName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fFileName {&quot;&quot;}</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>NeXus HDF5 filename. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01875">1875</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8h_source.html#l01514">GetFileName()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03490">PNeXus()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="ad488eb658bbb83d9130a512dbe3d9bdc" name="ad488eb658bbb83d9130a512dbe3d9bdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad488eb658bbb83d9130a512dbe3d9bdc">&#9670;&#160;</a></span>fFileNameNxs</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fFileNameNxs {&quot;&quot;}</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 class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01880">1880</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>.</p>
</div>
</div>
<a id="a14afb0e7643e1e445641d67e9b72c89c" name="a14afb0e7643e1e445641d67e9b72c89c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14afb0e7643e1e445641d67e9b72c89c">&#9670;&#160;</a></span>fFileTimeNxs</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fFileTimeNxs {&quot;&quot;}</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 class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01881">1881</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>.</p>
</div>
</div>
<a id="a31b570fe1bf4051f0d9addf54e721d1a" name="a31b570fe1bf4051f0d9addf54e721d1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31b570fe1bf4051f0d9addf54e721d1a">&#9670;&#160;</a></span>fGroupAttributes</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::map&lt;std::string, std::map&lt;std::string, std::any&gt; &gt; nxH5::PNeXus::fGroupAttributes</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>Map of group paths to their attributes. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01885">1885</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05605">AddGroupAttribute()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05693">ClearGroupAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05666">GetGroupAttribute()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05677">GetGroupAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05648">HasGroupAttribute()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05619">RemoveGroupAttribute()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>.</p>
</div>
</div>
<a id="a7b8257b92917173989fc5f848084f260" name="a7b8257b92917173989fc5f848084f260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b8257b92917173989fc5f848084f260">&#9670;&#160;</a></span>fHdf5LibVersion</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fHdf5LibVersion {&quot;n/a&quot;}</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>HDF5 library version used when calling <a class="el" href="classnxH5_1_1PNeXus.html" title="NeXus HDF5 file reader with case-insensitive path lookup.">PNeXus</a>. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01877">1877</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8h_source.html#l01520">GetHdf5LibVersion()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03451">PNeXus()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03490">PNeXus()</a>.</p>
</div>
</div>
<a id="a31664351733e7ababd403d3a628c6e83" name="a31664351733e7ababd403d3a628c6e83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31664351733e7ababd403d3a628c6e83">&#9670;&#160;</a></span>fHdf5Version</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fHdf5Version {&quot;&quot;}</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>HDF5 version of the file. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01878">1878</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8h_source.html#l01526">GetHdf5Version()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>.</p>
</div>
</div>
<a id="a9b9bce7851277b26917d3841cbfc3a9f" name="a9b9bce7851277b26917d3841cbfc3a9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b9bce7851277b26917d3841cbfc3a9f">&#9670;&#160;</a></span>fIdfVersion</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int nxH5::PNeXus::fIdfVersion {-1}</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>IDF version of the NeXus file. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01876">1876</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8h_source.html#l01538">GetIdfVersion()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>.</p>
</div>
</div>
<a id="adf9b7177ad51a887ce7c0a90591b91f6" name="adf9b7177ad51a887ce7c0a90591b91f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf9b7177ad51a887ce7c0a90591b91f6">&#9670;&#160;</a></span>fNeXusVersion</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fNeXusVersion {&quot;&quot;}</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>NeXus version of the file. </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01879">1879</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, <a class="el" href="PNeXus_8h_source.html#l01532">GetNeXusVersion()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>.</p>
</div>
</div>
<a id="a869e662f3f3dfb3dce15babf76fe261e" name="a869e662f3f3dfb3dce15babf76fe261e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869e662f3f3dfb3dce15babf76fe261e">&#9670;&#160;</a></span>fPrintDebug</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nxH5::PNeXus::fPrintDebug {false}</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>if true print additional debug information </p>
<p class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01874">1874</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l05027">CreateGroupHierarchy()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03693">HandleIdfV2()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03490">PNeXus()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04971">ReadDatasetAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04835">ReadFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04769">ReadIntDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l03531">ReadNexusFile()</a>, <a class="el" href="PNeXus_8cpp_source.html#l04900">ReadStringDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05089">WriteDatasetAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05479">WriteFileAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05248">WriteFloatDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05396">WriteGroupAttributes()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05176">WriteIntDataset()</a>, <a class="el" href="PNeXus_8cpp_source.html#l05731">WriteNexusFile()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l05321">WriteStringDataset()</a>.</p>
</div>
</div>
<a id="ac9dd76da18bab38fb1887f09af27d735" name="ac9dd76da18bab38fb1887f09af27d735"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9dd76da18bab38fb1887f09af27d735">&#9670;&#160;</a></span>fUserV1</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string nxH5::PNeXus::fUserV1 {&quot;&quot;}</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 class="definition">Definition at line <a class="el" href="PNeXus_8h_source.html#l01883">1883</a> of file <a class="el" href="PNeXus_8h_source.html">PNeXus.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="PNeXus_8cpp_source.html#l03761">Dump()</a>, and <a class="el" href="PNeXus_8cpp_source.html#l03631">HandleIdfV1()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/workspace/LMU/musrfit/src/external/nexus/<a class="el" href="PNeXus_8h_source.html">PNeXus.h</a></li>
<li>/workspace/LMU/musrfit/src/external/nexus/<a class="el" href="PNeXus_8cpp_source.html">PNeXus.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="namespacenxH5.html">nxH5</a></li><li class="navelem"><a class="el" href="classnxH5_1_1PNeXus.html">PNeXus</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>