Mantid
Loading...
Searching...
No Matches
MDPlaneImplicitFunction.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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
11namespace Mantid {
12namespace Geometry {
13
20class MANTID_GEOMETRY_DLL MDPlaneImplicitFunction : public MDImplicitFunction {
21public:
25 MDPlaneImplicitFunction(const size_t nd, const float *normal, const float *point);
26 MDPlaneImplicitFunction(const size_t nd, const double *normal, const double *point);
27
29 void addPlane(const MDPlane &plane);
30
32 std::string getName() const override;
34 std::string toXMLString() const override;
35
36private:
38 void checkOrigin();
40 std::string coordValue(const coord_t *arr) const;
41
42 std::vector<coord_t> origin;
43};
44
45} // namespace Geometry
46} // namespace Mantid
std::string getName(const IMDDimension &self)
An "ImplicitFunction" defining a hyper-cuboid-shaped region in N dimensions.
A general N-dimensional plane implicit function.
std::vector< coord_t > origin
The origin point of the implicit plane.
A generalized description of a N-dimensional hyperplane.
Definition: MDPlane.h:41
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