Mantid
Loading...
Searching...
No Matches
NexusHDF5Descriptor.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include "MantidKernel/DllConfig.h"
10
11#include <map>
12#include <set>
13#include <string>
14
15namespace Mantid {
16namespace Kernel {
17
18class MANTID_KERNEL_DLL NexusHDF5Descriptor {
19
20public:
25 NexusHDF5Descriptor(std::string filename);
26
28
33
35 static bool isReadable(const std::string &filename);
36
41 std::string getFilename() const noexcept;
42
53 const std::map<std::string, std::set<std::string>> &getAllEntries() const noexcept;
54
62 bool isEntry(const std::string &entryName, const std::string &groupClass) const noexcept;
63
69 bool isEntry(const std::string &entryName) const noexcept;
70
71private:
76 std::map<std::string, std::set<std::string>> initAllEntries();
77
79 std::string m_filename;
80
89 const std::map<std::string, std::set<std::string>> m_allEntries;
90};
91
92} // namespace Kernel
93} // namespace Mantid
~NexusHDF5Descriptor()=default
Using RAII components, no need to deallocate explicitly.
Helper class which provides the Collimation Length for SANS instruments.
STL namespace.