Mantid
Loading...
Searching...
No Matches
MDFramesToSpecialCoordinateSystem.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
10#include "MantidDataObjects/DllConfig.h"
13#include "boost/optional.hpp"
14namespace Mantid {
15namespace DataObjects {
16
20class MANTID_DATAOBJECTS_DLL MDFramesToSpecialCoordinateSystem {
21public:
22 boost::optional<Mantid::Kernel::SpecialCoordinateSystem> operator()(const Mantid::API::IMDWorkspace *workspace) const;
23
24private:
25 void checkQCompatibility(Mantid::Kernel::SpecialCoordinateSystem specialCoordinateSystem,
26 boost::optional<Mantid::Kernel::SpecialCoordinateSystem> qFrameType) const;
27 bool isUnknownFrame(const Mantid::Geometry::IMDDimension_const_sptr &dimension) const;
28};
29
30} // namespace DataObjects
31} // namespace Mantid
IPeaksWorkspace_sptr workspace
Definition: IndexPeaks.cpp:114
Basic MD Workspace Abstract Class.
Definition: IMDWorkspace.h:40
MDFrameFromMDWorkspace: Each dimension of the MDWorkspace contains an MDFrame.
std::shared_ptr< const IMDDimension > IMDDimension_const_sptr
Shared Pointer to const IMDDimension.
Definition: IMDDimension.h:101
SpecialCoordinateSystem
Special coordinate systems for Q3D.
Helper class which provides the Collimation Length for SANS instruments.