Mantid
Loading...
Searching...
No Matches
Framework
CurveFitting
src
Functions
ProductFunction.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
//----------------------------------------------------------------------
8
// Includes
9
//----------------------------------------------------------------------
10
#include "
MantidCurveFitting/Functions/ProductFunction.h
"
11
#include "
MantidAPI/FunctionFactory.h
"
12
13
namespace
Mantid::CurveFitting::Functions
{
14
15
using namespace
CurveFitting;
16
17
DECLARE_FUNCTION
(ProductFunction)
18
19
23
void
ProductFunction
::function(const
API
::
FunctionDomain
&domain,
API
::
FunctionValues
&values)
const
{
24
API::FunctionValues
tmp
(domain);
25
values.setCalculated(1.0);
26
for
(
size_t
iFun = 0; iFun < nFunctions(); ++iFun) {
27
domain.reset();
28
getFunction(iFun)->function(domain,
tmp
);
29
values *=
tmp
;
30
}
31
}
32
38
void
ProductFunction::functionDeriv
(
const
API::FunctionDomain
&domain,
API::Jacobian
&jacobian) {
39
calNumericalDeriv
(domain, jacobian);
40
}
41
42
}
// namespace Mantid::CurveFitting::Functions
tmp
gsl_vector * tmp
Definition:
AugmentedLagrangianOptimizer.cpp:49
FunctionFactory.h
DECLARE_FUNCTION
#define DECLARE_FUNCTION(classname)
Macro for declaring a new type of function to be used with the FunctionFactory.
Definition:
FunctionFactory.h:151
ProductFunction.h
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::IFunction::calNumericalDeriv
void calNumericalDeriv(const FunctionDomain &domain, Jacobian &jacobian)
Calculate numerical derivatives.
Definition:
IFunction.cpp:1031
Mantid::API::Jacobian
Represents the Jacobian in IFitFunction::functionDeriv.
Definition:
Jacobian.h:22
Mantid::CurveFitting::Functions::ProductFunction
Allow user to create a fit function which is the product of two or more other fit functions.
Definition:
ProductFunction.h:27
Mantid::CurveFitting::Functions::ProductFunction::functionDeriv
void functionDeriv(const API::FunctionDomain &domain, API::Jacobian &jacobian) override
Calculate the derivatives.
Definition:
ProductFunction.cpp:38
API
Definition:
ChudleyElliotSQE.h:16
Mantid::CurveFitting::Functions
Definition:
VesuvioCalculateGammaBackground.h:23
Generated on Tue Jan 3 2023 11:57:36 for Mantid by
1.9.5