Ticket #4413: GausDecay.cpp

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