Mantid
Loading...
Searching...
No Matches
ChebyshevSeries.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2015 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 "MantidKernel/DllConfig.h"
13#include <vector>
14
15namespace Mantid {
16namespace Kernel {
17
25class MANTID_KERNEL_DLL ChebyshevSeries {
26public:
27 ChebyshevSeries(const size_t degree);
28 double operator()(const std::vector<double> &c, const double x);
29
30private:
31 // Storage for n+3 coefficents in the recurrence relation
32 std::vector<double> m_bk;
33};
34
35} // namespace Kernel
36} // namespace Mantid
Evaluate an approximation to a nth order polynomial using a Chebyshev series through Crenshaw's algor...
std::vector< double > m_bk
Helper class which provides the Collimation Length for SANS instruments.