Mantid
Loading...
Searching...
No Matches
FunctionDomain.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2009 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//----------------------------------------------------------------------
12#include "MantidAPI/DllConfig.h"
13//#include "MantidKernel/PropertyManager.h"
14#ifndef Q_MOC_RUN
15#include <memory>
16#endif
17#include <stdexcept>
18
19namespace Mantid {
20namespace API {
30class MANTID_API_DLL FunctionDomain //: public Kernel::PropertyManager
31{
32public:
34 virtual ~FunctionDomain() = default;
36 virtual size_t size() const = 0;
39 virtual void reset() const {}
40};
41
43using FunctionDomain_sptr = std::shared_ptr<FunctionDomain>;
44
45} // namespace API
46} // namespace Mantid
Base class that represents the domain of a function.
virtual ~FunctionDomain()=default
Virtual destructor.
virtual void reset() const
Reset the the domain so it can be reused.
virtual size_t size() const =0
Return the number of points in the domain.
std::shared_ptr< FunctionDomain > FunctionDomain_sptr
typedef for a shared pointer
Helper class which provides the Collimation Length for SANS instruments.