Mantid
Loading...
Searching...
No Matches
MDGeometryXMLParser.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 "MantidGeometry/DllConfig.h"
11#include <string>
12
13namespace Mantid {
14namespace Geometry {
15
24class MANTID_GEOMETRY_DLL MDGeometryXMLParser {
25
26private:
28
29 std::string m_rootNodeName;
30
32
34
36
38
40
42
43 void validate() const;
44
45protected:
46 std::string m_xmlToProcess;
47
49
50public:
51 explicit MDGeometryXMLParser(std::string xmlToProcess);
52
53 virtual ~MDGeometryXMLParser() = default;
54
55 virtual void execute();
56
57 Mantid::Geometry::IMDDimension_sptr getXDimension() const;
58
59 Mantid::Geometry::IMDDimension_sptr getYDimension() const;
60
61 Mantid::Geometry::IMDDimension_sptr getZDimension() const;
62
63 Mantid::Geometry::IMDDimension_sptr getTDimension() const;
64
65 Mantid::Geometry::VecIMDDimension_sptr getNonMappedDimensions() const;
66
67 Mantid::Geometry::VecIMDDimension_sptr getNonIntegratedDimensions() const;
68
69 Mantid::Geometry::VecIMDDimension_sptr getIntegratedDimensions() const;
70
71 Mantid::Geometry::VecIMDDimension_sptr getAllDimensions() const;
72
73 bool hasXDimension() const;
74
75 bool hasYDimension() const;
76
77 bool hasZDimension() const;
78
79 bool hasTDimension() const;
80
81 bool isXDimension(const Mantid::Geometry::IMDDimension_sptr &) const;
82
83 bool isYDimension(const Mantid::Geometry::IMDDimension_sptr &) const;
84
85 bool isZDimension(const Mantid::Geometry::IMDDimension_sptr &) const;
86
87 bool isTDimension(const Mantid::Geometry::IMDDimension_sptr &) const;
88
89 void SetRootNodeCheck(std::string elementName);
90
91 MDGeometryXMLParser &operator=(const MDGeometryXMLParser &);
92
94};
95} // namespace Geometry
96} // namespace Mantid
Handles the extraction of dimensions from a xml xml string to determine how mappings have been formed...
Mantid::Geometry::VecIMDDimension_sptr m_vecAllDims
Mantid::Geometry::IMDDimension_sptr m_yDimension
Mantid::Geometry::IMDDimension_sptr m_tDimension
Mantid::Geometry::IMDDimension_sptr m_zDimension
Mantid::Geometry::VecIMDDimension_sptr m_vecNonMappedDims
Mantid::Geometry::IMDDimension_sptr m_xDimension
std::shared_ptr< IMDDimension > IMDDimension_sptr
Shared Pointer for IMDDimension. Frequently used type in framework.
Definition: IMDDimension.h:98
std::vector< IMDDimension_sptr > VecIMDDimension_sptr
Vector of shared pointers to IMDDimensions.
Definition: IMDDimension.h:105
Helper class which provides the Collimation Length for SANS instruments.