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
13
namespace
Mantid
{
14
namespace
CurveFitting {
15
namespace
Functions {
16
21
class
MANTID_CURVEFITTING_DLL
ThermalNeutronBk2BkExpSigma
:
virtual
public
API::IFunction1D
,
public
API::ParamFunction
{
22
public
:
24
void
function1D(
double
*out,
const
double
*xValues,
const
size_t
nData)
const override
;
25
27
std::string
name
()
const override
{
return
"ThermalNeutronBk2BkExpSigma"
; }
28
30
const
std::string
category
()
const override
{
return
"General"
; }
31
32
protected
:
34
void
init()
override
;
35
36
private
:
38
void
functionDerivLocal
(
API::Jacobian
*,
const
double
*,
const
size_t
);
39
41
void
functionDeriv(
const
API::FunctionDomain
&domain,
API::Jacobian
&jacobian)
override
;
42
44
inline
double
corefunction(
double
dh,
double
sig0sq,
double
sig1sq,
double
sig2sq)
const
;
45
};
46
47
using
ThermalNeutronBk2BkExpSigma_sptr
= std::shared_ptr<ThermalNeutronBk2BkExpSigma>;
48
49
}
// namespace Functions
50
}
// namespace CurveFitting
51
}
// namespace Mantid
IFunction1D.h
ParamFunction.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:21
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma::category
const std::string category() const override
Overwrite IFunction.
Definition
ThermalNeutronBk2BkExpSigma.h:30
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:27
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpSigma_sptr
std::shared_ptr< ThermalNeutronBk2BkExpSigma > ThermalNeutronBk2BkExpSigma_sptr
Definition
ThermalNeutronBk2BkExpSigma.h:47
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition
AbsorptionCorrection.h:18
Generated by
1.9.8