Mantid
Loading...
Searching...
No Matches
MaxentSpace.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2016 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#include "MantidAlgorithms/DllConfig.h"
10#include <memory>
11#include <vector>
12
13namespace Mantid {
14namespace Algorithms {
15
21class MANTID_ALGORITHMS_DLL MaxentSpace {
22public:
23 // Constructor
24 MaxentSpace() = default;
25 // Destructor
26 virtual ~MaxentSpace() = default;
27 // Converts a given vector to a complex vector
28 virtual std::vector<double> toComplex(const std::vector<double> &values) = 0;
29 // Converts to a complex vector
30 virtual std::vector<double> fromComplex(const std::vector<double> &values) = 0;
31};
32
33using MaxentSpace_sptr = std::shared_ptr<MaxentSpace>;
34
35} // namespace Algorithms
36} // namespace Mantid
MaxentSpace : Abstract base class defining a MaxentSpace.
Definition: MaxentSpace.h:21
virtual std::vector< double > toComplex(const std::vector< double > &values)=0
virtual ~MaxentSpace()=default
virtual std::vector< double > fromComplex(const std::vector< double > &values)=0
std::shared_ptr< MaxentSpace > MaxentSpace_sptr
Definition: MaxentSpace.h:33
Helper class which provides the Collimation Length for SANS instruments.