Mantid
Loading...
Searching...
No Matches
LogarithmScale.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 <cmath>
13#include <vector>
14
15#include "MantidAPI/DllConfig.h"
17
18namespace Mantid {
19namespace API {
20/*Base class representing a logarithm scaling transformation acting on a
21 one-dimensional grid domain
22
23 @author Jose Borreguero
24 @date Aug/28/2012
25*/
26
27class MANTID_API_DLL LogarithmScale : public ITransformScale {
28public:
29 LogarithmScale() : m_base(M_E){};
30 const std::string name() const override { return "LogarithmScale"; }
31 void transform(std::vector<double> &gd) override;
32 void setBase(const double base);
35
36private:
37 double m_base; // base of the logarithm
38
39}; // class LogarithmScale
40
41} // namespace API
42} // namespace Mantid
const std::string name() const override
double m_base
The scaling transformation.
Helper class which provides the Collimation Length for SANS instruments.