Mantid
Loading...
Searching...
No Matches
Framework
CurveFitting
inc
MantidCurveFitting
Functions
ThermalNeutronBk2BkExpSigma.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2012 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
#include "
MantidAPI/IFunction1D.h
"
10
#include "
MantidAPI/ParamFunction.h
"
11
#include "MantidCurveFitting/DllConfig.h"
12
#include "
MantidKernel/System.h
"
13
14
namespace
Mantid
{
15
namespace
CurveFitting {
16
namespace
Functions {
17
22
class
MANTID_CURVEFITTING_DLL
ThermalNeutronBk2BkExpSigma
:
virtual
public
API::IFunction1D
,
public
API::ParamFunction
{
23
public
:
25
void
function1D(
double
*out,
const
double
*xValues,
const
size_t
nData)
const override
;
26
28
std::string
name
()
const override
{
return
"ThermalNeutronBk2BkExpSigma"
; }
29
31
const
std::string
category
()
const override
{
return
"General"
; }
32
33
protected
:
35
void
init()
override
;
36
37
private
:
39
void
functionDerivLocal
(
API::Jacobian
*,
const
double
*,
const
size_t
);
40
42
void
functionDeriv(
const
API::FunctionDomain
&domain,
API::Jacobian
&jacobian)
override
;
43
45
inline
double
corefunction(
double
dh,
double
sig0sq,
double
sig1sq,
double
sig2sq)
const
;
46
};
47
48
using
ThermalNeutronBk2BkExpSigma_sptr
= std::shared_ptr<ThermalNeutronBk2BkExpSigma>;
49
50
}
// namespace Functions
51
}
// namespace CurveFitting
52
}
// namespace Mantid
IFunction1D.h
ParamFunction.h
System.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::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::ThermalNeutronBk2BkExpSigma
ThermalNeutronBk2BkExpSIGMA : Function to calculate Sigma of Bk2Bk Exponential function from Thermal ...
Definition:
ThermalNeutronBk2BkExpSigma.h:22
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma::category
const std::string category() const override
Overwrite IFunction.
Definition:
ThermalNeutronBk2BkExpSigma.h:31
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma::functionDerivLocal
void functionDerivLocal(API::Jacobian *, const double *, const size_t)
Derivative.
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma::name
std::string name() const override
overwrite IFunction base class methods
Definition:
ThermalNeutronBk2BkExpSigma.h:28
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma_sptr
std::shared_ptr< ThermalNeutronBk2BkExpSigma > ThermalNeutronBk2BkExpSigma_sptr
Definition:
ThermalNeutronBk2BkExpSigma.h:48
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