Mantid
Loading...
Searching...
No Matches
PowerLawCorrection.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 {
35class MANTID_ALGORITHMS_DLL PowerLawCorrection : public UnaryOperation {
36public:
40 const std::string name() const override { return "PowerLawCorrection"; }
42 const std::string summary() const override {
43 return "Corrects the data and error values on a workspace by the value of "
44 "an exponential function which is evaluated at the X value of each "
45 "data point: c0*x^C1. The data and error values are multiplied by "
46 "the value of this function.";
47 }
48
50 int version() const override { return 1; }
51 const std::vector<std::string> seeAlso() const override {
52 return {"PolynomialCorrection", "OneMinusExponentialCor", "MagFormFactorCorrection", "ExponentialCorrection"};
53 }
55 const std::string category() const override { return "CorrectionFunctions"; }
56
57private:
58 // Overridden UnaryOperation methods
59 void defineProperties() override;
60 void retrieveProperties() override;
61 void performUnaryOperation(const double XIn, const double YIn, const double EIn, double &YOut, double &EOut) override;
62
63 double m_c0;
64 double m_c1;
65};
66
67} // namespace Algorithms
68} // namespace Mantid
Corrects the data and error values on a workspace by the value of an exponential function which is ev...
const std::string name() const override
Algorithm's name for identification.
int version() const override
Algorithm's version for identification.
double m_c0
The constant by which to multiply.
const std::string summary() const override
Summary of algorithms purpose.
const std::vector< std::string > seeAlso() const override
Function to return all of the seeAlso algorithms related to this algorithm.
double m_c1
The power to raise by.
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.