Mantid
Loading...
Searching...
No Matches
Framework
Kernel
inc
MantidKernel
Math
ChebyshevPolyFit.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
13
#include "MantidKernel/DllConfig.h"
14
#include <memory>
15
#include <vector>
16
17
namespace
Mantid
{
18
namespace
Kernel {
19
// Keep the implementation out of here
20
class
ChebyshevPolyFitImpl;
21
28
class
MANTID_KERNEL_DLL
ChebyshevPolyFit
{
29
public
:
30
ChebyshevPolyFit
(
const
size_t
n
);
31
// Implemented in cpp so a unique_ptr member doesn't need to
32
// see full ChebyshevPolyFitPrivate implementation
33
~ChebyshevPolyFit
();
34
35
std::vector<double> operator()(
const
std::vector<double> &xs,
const
std::vector<double> &ys,
36
const
std::vector<double> &wgts);
37
38
private
:
39
std::unique_ptr<ChebyshevPolyFitImpl>
m_impl
;
40
};
41
42
}
// namespace Kernel
43
}
// namespace Mantid
n
size_t n
Definition
AugmentedLagrangianOptimizer.cpp:42
Mantid::Kernel::ChebyshevPolyFit
Compute a weighted least-squares polynomial approximations to an arbitrary set of data points.
Definition
ChebyshevPolyFit.h:28
Mantid::Kernel::ChebyshevPolyFit::~ChebyshevPolyFit
~ChebyshevPolyFit()
Destructor.
Mantid::Kernel::ChebyshevPolyFit::m_impl
std::unique_ptr< ChebyshevPolyFitImpl > m_impl
Definition
ChebyshevPolyFit.h:39
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition
AbsorptionCorrection.h:18
Generated by
1.9.8