Mantid
Loading...
Searching...
No Matches
MDFrame.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"
10
11#include "MantidKernel/MDUnit.h"
14#include <memory>
15
16namespace Mantid {
17namespace Geometry {
18
22class MANTID_GEOMETRY_DLL MDFrame {
23public:
25 virtual const Mantid::Kernel::MDUnit &getMDUnit() const = 0;
26 virtual bool setMDUnit(const Mantid::Kernel::MDUnit &newUnit) = 0;
27 virtual bool canConvertTo(const Mantid::Kernel::MDUnit &otherUnit) const = 0;
28 virtual bool isQ() const = 0;
29 virtual bool isSameType(const MDFrame &frame) const = 0;
30 virtual std::string name() const = 0;
32 virtual MDFrame *clone() const = 0;
33 virtual ~MDFrame() = default;
34};
35
36using MDFrame_uptr = std::unique_ptr<MDFrame>;
37using MDFrame_const_uptr = std::unique_ptr<const MDFrame>;
38using MDFrame_sptr = std::shared_ptr<MDFrame>;
39using MDFrame_const_sptr = std::shared_ptr<const MDFrame>;
40
41} // namespace Geometry
42} // namespace Mantid
MDFrame : The coordinate frame for a dimension, or set of dimensions in a multidimensional workspace.
Definition: MDFrame.h:22
virtual std::string name() const =0
virtual bool canConvertTo(const Mantid::Kernel::MDUnit &otherUnit) const =0
virtual Mantid::Kernel::UnitLabel getUnitLabel() const =0
virtual bool isSameType(const MDFrame &frame) const =0
virtual bool isQ() const =0
virtual Mantid::Kernel::SpecialCoordinateSystem equivalientSpecialCoordinateSystem() const =0
virtual MDFrame * clone() const =0
virtual ~MDFrame()=default
virtual bool setMDUnit(const Mantid::Kernel::MDUnit &newUnit)=0
virtual const Mantid::Kernel::MDUnit & getMDUnit() const =0
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
std::unique_ptr< MDFrame > MDFrame_uptr
Definition: MDFrame.h:36
std::shared_ptr< MDFrame > MDFrame_sptr
Definition: MDFrame.h:38
std::unique_ptr< const MDFrame > MDFrame_const_uptr
Definition: MDFrame.h:37
std::shared_ptr< const MDFrame > MDFrame_const_sptr
Definition: MDFrame.h:39
SpecialCoordinateSystem
Special coordinate systems for Q3D.
Helper class which provides the Collimation Length for SANS instruments.