Mantid
Loading...
Searching...
No Matches
ExponentialCorrection.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//----------------------------------------------------------------------
13
14namespace Mantid {
15namespace Algorithms {
39class MANTID_ALGORITHMS_DLL ExponentialCorrection : public UnaryOperation {
40public:
44 const std::string name() const override { return "ExponentialCorrection"; }
46 const std::string summary() const override {
47 return "Corrects the data in a workspace by the value of an "
48 "exponential function which is evaluated at the X value of each "
49 "data point.";
50 }
52 int version() const override { return 1; }
53 const std::vector<std::string> seeAlso() const override {
54 return {"MagFormFactorCorrection", "PowerLawCorrection", "OneMinusExponentialCor", "PolynomialCorrection"};
55 }
57 const std::string category() const override { return "CorrectionFunctions"; }
58
59private:
60 // Overridden UnaryOperation methods
61 void defineProperties() override;
62 void retrieveProperties() override;
63 void performUnaryOperation(const double XIn, const double YIn, const double EIn, double &YOut, double &EOut) override;
64
65 double m_c0,
67 bool m_divide;
69};
70
71} // namespace Algorithms
72} // namespace Mantid
Corrects the data and error values on a workspace by the value of an exponential function which is ev...
int version() const override
Algorithm's version for identification.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
double m_c0
The constant by which to multiply the exponential.
const std::string name() const override
Algorithm's name for identification.
double m_c1
The constant term in the exponent.
const std::string summary() const override
Summary of algorithms purpose.
bool m_divide
Whether the data should be divided by the correction (true) or multiplied by it (false)
const std::string category() const override
Algorithm's category for identification overriding a virtual method.
UnaryOperation supports the implementation of a Unary operation on an input workspace.
Helper class which provides the Collimation Length for SANS instruments.