Ticket #4955: Muon_Stretched_Exponential.cpp

File Muon_Stretched_Exponential.cpp, 1.1 KB (added by Karl Palmen, 9 years ago)
Line 
1//----------------------------------------------------------------------
2// Includes
3//----------------------------------------------------------------------
4#include "Muon_Stretched_Exponential.h"
5#include <cmath>
6
7namespace Mantid
8{
9namespace CurveFitting
10{
11
12using namespace Kernel;
13using namespace API;
14
15DECLARE_FUNCTION(Muon_Stretched_Exponential)
16
17void Muon_Stretched_Exponential::init()
18{
19  declareParameter("A", 0.2);
20  declareParameter("lambda", 0.2);
21  declareParameter("beta",0.2);
22}
23
24
25void Muon_Stretched_Exponential::functionLocal(double* out, const double* xValues, const int& nData)const
26{
27    const double& A = getParameter("A");
28    const double& G = getParameter("lambda");
29        const double& b = getParameter("beta");
30
31 
32   for (int i = 0; i < nData; i++) {
33        out[i] = A*exp(-pow(G*xValues[i],b));
34    }
35}
36void Muon_Stretched_Exponential::functionDerivLocal(API::Jacobian* out, const double* xValues, const int& nData)
37{
38  calNumericalDeriv(out, xValues, nData);
39}
40
41
42
43
44} // namespace CurveFitting
45} // namespace Mantid
46
47