Mantid
Loading...
Searching...
No Matches
GeneralFrame.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"
13#include <memory>
14
15namespace Mantid {
16namespace Geometry {
17
20class MANTID_GEOMETRY_DLL GeneralFrame : public MDFrame {
21public:
22 static const std::string GeneralFrameDistance;
23 static const std::string GeneralFrameTOF;
24 static const std::string GeneralFrameName;
25 GeneralFrame(std::string frameName, const Kernel::UnitLabel &unit);
26 GeneralFrame(std::string frameName, std::unique_ptr<Mantid::Kernel::MDUnit> unit);
27 Kernel::UnitLabel getUnitLabel() const override;
28 const Kernel::MDUnit &getMDUnit() const override;
29 bool setMDUnit(const Mantid::Kernel::MDUnit &newUnit) override;
30 bool canConvertTo(const Kernel::MDUnit &otherUnit) const override;
31 bool isQ() const override;
32 bool isSameType(const MDFrame &frame) const override;
33 std::string name() const override;
34 GeneralFrame *clone() const override;
35 Mantid::Kernel::SpecialCoordinateSystem equivalientSpecialCoordinateSystem() const override;
36
37private:
39 std::unique_ptr<Mantid::Kernel::MDUnit> m_unit;
41 const std::string m_frameName;
42};
43
44} // namespace Geometry
45} // namespace Mantid
std::string name
Definition Run.cpp:60
GeneralFrame : Any MDFrame that isn't related to momemtum transfer.
static const std::string GeneralFrameTOF
static const std::string GeneralFrameDistance
const std::string m_frameName
Frame name.
std::unique_ptr< Mantid::Kernel::MDUnit > m_unit
Label unit.
static const std::string GeneralFrameName
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.