Mantid
Loading...
Searching...
No Matches
CompositeImplicitFunction.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2010 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//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
13#include <vector>
14#ifndef Q_MOC_RUN
15#include <memory>
16#endif
17
18namespace Mantid {
19namespace Geometry {
31public:
32 //---------------------------------- Override base-class methods---
33 bool isPointContained(const coord_t *coords) override;
34 bool isPointContained(const std::vector<coord_t> &coords) override;
35 // Unhide base class methods (avoids Intel compiler warning)
36 using MDImplicitFunction::isPointContained;
37 //-----------------------------------------------------------------
38
39 bool addFunction(const Mantid::Geometry::MDImplicitFunction_sptr &constituentFunction);
40 std::string getName() const override;
41 std::string toXMLString() const override;
42 int getNFunctions() const;
43 static std::string functionName() { return "CompositeImplicitFunction"; }
44
45protected:
46 std::vector<Mantid::Geometry::MDImplicitFunction_sptr> m_Functions;
47 using FunctionIterator = std::vector<Mantid::Geometry::MDImplicitFunction_sptr>::const_iterator;
48};
49} // namespace Geometry
50} // namespace Mantid
std::string getName(const IMDDimension &self)
This class represents a composite implicit function used for communicating and implementing an operat...
std::vector< Mantid::Geometry::MDImplicitFunction_sptr > m_Functions
std::vector< Mantid::Geometry::MDImplicitFunction_sptr >::const_iterator FunctionIterator
An "ImplicitFunction" defining a hyper-cuboid-shaped region in N dimensions.
std::shared_ptr< MDImplicitFunction > MDImplicitFunction_sptr
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