Loading [MathJax]/extensions/tex2jax.js
Mantid
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
w
x
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Properties
a
b
e
f
i
l
m
o
s
t
u
w
Related Functions
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Variables
_
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
e
f
k
l
o
p
r
s
t
v
w
Macros
a
b
c
d
e
f
g
i
k
l
m
n
p
q
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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