Mantid
Loading...
Searching...
No Matches
Framework
API
src
IFunction1DSpectrum.cpp
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2018 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
#include "
MantidAPI/IFunction1DSpectrum.h
"
8
9
namespace
Mantid::API
{
10
11
Kernel::Logger
IFunction1DSpectrum::g_log
(
"IFunction1DSpectrum"
);
12
13
void
IFunction1DSpectrum::function
(
const
FunctionDomain
&domain,
FunctionValues
&values)
const
{
14
try
{
15
const
auto
&spectrumDomain =
dynamic_cast<
const
FunctionDomain1DSpectrum
&
>
(domain);
16
function1DSpectrum
(spectrumDomain, values);
17
}
catch
(
const
std::bad_cast &) {
18
throw
std::invalid_argument(
"Provided domain is not of type FunctionDomain1DSpectrum."
);
19
}
20
}
21
22
void
IFunction1DSpectrum::functionDeriv
(
const
FunctionDomain
&domain,
Jacobian
&jacobian) {
23
try
{
24
const
auto
&spectrumDomain =
dynamic_cast<
const
FunctionDomain1DSpectrum
&
>
(domain);
25
functionDeriv1DSpectrum
(spectrumDomain, jacobian);
26
}
catch
(
const
std::bad_cast &) {
27
throw
std::invalid_argument(
"Provided domain is not of type FunctionDomain1DSpectrum."
);
28
}
29
}
30
31
void
IFunction1DSpectrum::functionDeriv1DSpectrum
(
const
FunctionDomain1DSpectrum
&domain,
Jacobian
&jacobian) {
32
calNumericalDeriv
(domain, jacobian);
33
}
34
35
}
// namespace Mantid::API
IFunction1DSpectrum.h
Mantid::API::FunctionDomain1DSpectrum
Specialization of FunctionDomain1DVector for spectra of MatrixWorkspaces.
Definition
FunctionDomain1D.h:120
Mantid::API::FunctionDomain
Base class that represents the domain of a function.
Definition
FunctionDomain.h:31
Mantid::API::FunctionValues
A class to store values calculated by a function.
Definition
FunctionValues.h:25
Mantid::API::IFunction1DSpectrum::function1DSpectrum
virtual void function1DSpectrum(const FunctionDomain1DSpectrum &domain, FunctionValues &values) const =0
Provide a concrete function in an implementation that operates on a FunctionDomain1DSpectrum.
Mantid::API::IFunction1DSpectrum::function
void function(const FunctionDomain &domain, FunctionValues &values) const override
Evaluates the function for all arguments in the domain.
Definition
IFunction1DSpectrum.cpp:13
Mantid::API::IFunction1DSpectrum::functionDeriv1DSpectrum
virtual void functionDeriv1DSpectrum(const FunctionDomain1DSpectrum &domain, Jacobian &jacobian)
Derivatives of the function.
Definition
IFunction1DSpectrum.cpp:31
Mantid::API::IFunction1DSpectrum::g_log
static Kernel::Logger g_log
Definition
IFunction1DSpectrum.h:40
Mantid::API::IFunction1DSpectrum::functionDeriv
void functionDeriv(const FunctionDomain &domain, Jacobian &jacobian) override
Derivatives of function with respect to active parameters.
Definition
IFunction1DSpectrum.cpp:22
Mantid::API::IFunction::calNumericalDeriv
void calNumericalDeriv(const FunctionDomain &domain, Jacobian &jacobian)
Calculate numerical derivatives.
Definition
IFunction.cpp:1106
Mantid::API::Jacobian
Represents the Jacobian in IFitFunction::functionDeriv.
Definition
Jacobian.h:22
Mantid::API
Definition
AbsorptionCorrection.h:20
Generated by
1.9.8