Mantid
Loading...
Searching...
No Matches
AffineMatrixParameter.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2018 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"
12#include "MantidKernel/Matrix.h"
13
14namespace Mantid {
15namespace DataObjects {
18
25public:
26 // ImplcitFunctionParameter Methods.
27 std::string getName() const override;
28 bool isValid() const override;
29 std::string toXMLString() const override;
30 AffineMatrixParameter *clone() const override;
31 void setMatrix(const AffineMatrixType &newMatrix);
32 AffineMatrixParameter(size_t outD, size_t inD);
34 AffineMatrixParameter &operator=(const AffineMatrixParameter &other);
35 ~AffineMatrixParameter() override;
36
37 coord_t **getRawMatrix();
38 AffineMatrixType getAffineMatrix() const;
39
44 static std::string parameterName() { return "AffineMatrixParameter"; }
45
46private:
47 void copyRawMatrix();
48
53
56};
57} // namespace DataObjects
58} // namespace Mantid
std::string getName(const IMDDimension &self)
Abstract parameter type for use with IImplicitFunctions.
Type to wrap an affine matrix and allow serialization via xml.
coord_t ** m_rawMatrix
Raw matrix used for speed (array of pointers to columns).
coord_t * m_rawMem
pointer to large memory block (matrix)
AffineMatrixType m_affineMatrix
Affine matrix.
static std::string parameterName()
Gets the type parameter name.
Helper class which provides the Collimation Length for SANS instruments.
float coord_t
Typedef for the data type to use for coordinate axes in MD objects such as MDBox, MDEventWorkspace,...
Definition: MDTypes.h:27