Mantid
Loading...
Searching...
No Matches
HKL.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 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 "MantidKernel/MDUnit.h"
12#include "MantidKernel/System.h"
14#include <memory>
15
16namespace Mantid {
17namespace Geometry {
18
21class MANTID_GEOMETRY_DLL HKL : public MDFrame {
22public:
23 HKL(const HKL &other);
24 HKL &operator=(const HKL &other);
25 HKL(std::unique_ptr<Kernel::MDUnit> &unit);
26 HKL(Kernel::MDUnit *unit);
27 static const std::string HKLName;
28
29 // MDFrame interface
30 Kernel::UnitLabel getUnitLabel() const override;
31 const Kernel::MDUnit &getMDUnit() const override;
32 bool setMDUnit(const Mantid::Kernel::MDUnit &newUnit) override;
33 bool canConvertTo(const Kernel::MDUnit &otherUnit) const override;
34 bool isQ() const override;
35 bool isSameType(const MDFrame &frame) const override;
36 std::string name() const override;
37 HKL *clone() const override;
38 Mantid::Kernel::SpecialCoordinateSystem equivalientSpecialCoordinateSystem() const override;
39
40private:
41 std::unique_ptr<Kernel::MDUnit> m_unit;
42};
43
44} // namespace Geometry
45} // namespace Mantid
HKL : HKL MDFrame.
Definition: HKL.h:21
static const std::string HKLName
Definition: HKL.h:27
std::unique_ptr< Kernel::MDUnit > m_unit
Definition: HKL.h:41
MDFrame : The coordinate frame for a dimension, or set of dimensions in a multidimensional workspace.
Definition: MDFrame.h:22
MDUnit : Unit type for multidimensional data types.
Definition: MDUnit.h:20
A base-class for the a class that is able to return unit labels in different representations.
Definition: UnitLabel.h:20
SpecialCoordinateSystem
Special coordinate systems for Q3D.
Helper class which provides the Collimation Length for SANS instruments.