Mantid
Loading...
Searching...
No Matches
Framework
CurveFitting
inc
MantidCurveFitting
Functions
ThermalNeutronBk2BkExpBeta.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
ThermalNeutronBk2BkExpBeta
:
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
"ThermalNeutronBk2BkExpBeta"
; }
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
width,
double
tcross,
double
beta0,
double
beta1,
double
beta0t,
46
double
beta1t)
const
;
47
};
48
49
using
ThermalNeutronBk2BkExpBeta_sptr
= std::shared_ptr<ThermalNeutronBk2BkExpBeta>;
50
51
}
// namespace Functions
52
}
// namespace CurveFitting
53
}
// 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::ThermalNeutronBk2BkExpBeta
ThermalNeutronBk2BkExpBETA : Function to calculate Beta of Bk2Bk Exponential function from Thermal Ne...
Definition:
ThermalNeutronBk2BkExpBeta.h:22
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpBeta::functionDerivLocal
void functionDerivLocal(API::Jacobian *, const double *, const size_t)
Derivative.
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpBeta::name
std::string name() const override
overwrite IFunction base class methods
Definition:
ThermalNeutronBk2BkExpBeta.h:28
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpBeta::category
const std::string category() const override
Overwrite IFunction.
Definition:
ThermalNeutronBk2BkExpBeta.h:31
Mantid::CurveFitting::Functions::ThermalNeutronBk2BkExpBeta_sptr
std::shared_ptr< ThermalNeutronBk2BkExpBeta > ThermalNeutronBk2BkExpBeta_sptr
Definition:
ThermalNeutronBk2BkExpBeta.h:49
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