Mantid
Loading...
Searching...
No Matches
MaxentEntropy.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
19class MANTID_ALGORITHMS_DLL MaxentEntropy {
20public:
21 // Constructor
22 MaxentEntropy() = default;
23 // Destructor
24 virtual ~MaxentEntropy() = default;
25 // First derivative of the entropy
26 virtual std::vector<double> derivative(const std::vector<double> &values, double background) = 0;
27 // Second derivative of the entropy
28 virtual std::vector<double> secondDerivative(const std::vector<double> &values, double background) = 0;
29 // Corrects an invalid value
30 virtual std::vector<double> correctValues(const std::vector<double> &value, double newValue) = 0;
31};
32
33using MaxentEntropy_sptr = std::shared_ptr<MaxentEntropy>;
34
35} // namespace Algorithms
36} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
MaxentEntropy : Abstract base class defining the necessary methods to calculate any type of entropy t...
Definition: MaxentEntropy.h:19
virtual std::vector< double > secondDerivative(const std::vector< double > &values, double background)=0
virtual std::vector< double > derivative(const std::vector< double > &values, double background)=0
virtual std::vector< double > correctValues(const std::vector< double > &value, double newValue)=0
std::shared_ptr< MaxentEntropy > MaxentEntropy_sptr
Definition: MaxentEntropy.h:33
Helper class which provides the Collimation Length for SANS instruments.