Mantid
Loading...
Searching...
No Matches
Framework
CurveFitting
inc
MantidCurveFitting
Functions
DynamicKuboToyabe.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2007 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 "
MantidAPI/IFunctionMW.h
"
13
#include "
MantidAPI/IFunctionWithLocation.h
"
14
#include "
MantidAPI/IPeakFunction.h
"
15
#include "MantidCurveFitting/DllConfig.h"
16
#include <cmath>
17
18
namespace
Mantid
{
19
namespace
CurveFitting {
20
namespace
Functions {
29
class
MANTID_CURVEFITTING_DLL
DynamicKuboToyabe
:
public
API::ParamFunction
,
public
API::IFunction1D
{
30
public
:
32
DynamicKuboToyabe
();
33
35
std::string
name
()
const override
{
return
"DynamicKuboToyabe"
; }
36
const
std::string
category
()
const override
{
return
"Muon\\MuonGeneric"
; }
37
39
void
setAttribute(
const
std::string &attName,
const
Attribute
&)
override
;
40
41
protected
:
42
void
function1D(
double
*out,
const
double
*xValues,
const
size_t
nData)
const override
;
43
void
functionDeriv1D(
API::Jacobian
*out,
const
double
*xValues,
const
size_t
nData)
override
;
44
void
functionDeriv(
const
API::FunctionDomain
&domain,
API::Jacobian
&jacobian)
override
;
45
void
init()
override
;
46
void
setActiveParameter(
size_t
i,
double
value
)
override
;
47
48
private
:
49
// Evaluate DKT function for a given t, G, F, v and eps
50
double
getDKT(
double
t,
double
G,
double
F,
double
v,
double
eps)
const
;
51
53
double
m_eps
;
54
double
m_minEps,
m_maxEps
;
55
};
56
57
}
// namespace Functions
58
}
// namespace CurveFitting
59
}
// namespace Mantid
value
double value
The value of the point.
Definition:
FitMW.cpp:51
IFunctionMW.h
IFunctionWithLocation.h
IPeakFunction.h
Mantid::API::FunctionDomain
Base class that represents the domain of a function.
Definition:
FunctionDomain.h:31
Mantid::API::IFunction1D
This is a specialization of IFunction for functions of one real argument.
Definition:
IFunction1D.h:43
Mantid::API::IFunction::Attribute
Attribute is a non-fitting parameter.
Definition:
IFunction.h:282
Mantid::API::Jacobian
Represents the Jacobian in IFitFunction::functionDeriv.
Definition:
Jacobian.h:22
Mantid::API::ParamFunction
Implements the part of IFunction interface dealing with parameters.
Definition:
ParamFunction.h:33
Mantid::CurveFitting::Functions::DynamicKuboToyabe
Provide Dynamic Kubo Toyabe function interface to IFunction1D for muon scientists.
Definition:
DynamicKuboToyabe.h:29
Mantid::CurveFitting::Functions::DynamicKuboToyabe::m_maxEps
double m_maxEps
Definition:
DynamicKuboToyabe.h:54
Mantid::CurveFitting::Functions::DynamicKuboToyabe::name
std::string name() const override
overwrite base class methods
Definition:
DynamicKuboToyabe.h:35
Mantid::CurveFitting::Functions::DynamicKuboToyabe::m_eps
double m_eps
Bin width.
Definition:
DynamicKuboToyabe.h:53
Mantid::CurveFitting::Functions::DynamicKuboToyabe::category
const std::string category() const override
The categories the Fit function belong to.
Definition:
DynamicKuboToyabe.h:36
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition:
AbsorptionCorrection.h:18
Generated on Tue Jan 3 2023 11:57:26 for Mantid by
1.9.5