Ticket #4560: ExpDecayMuon.cpp

File ExpDecayMuon.cpp, 951 bytes (added by Anders Markvardsen, 9 years ago)
Line 
1//----------------------------------------------------------------------
2// Includes
3//----------------------------------------------------------------------
4#include "Muon_ExpDecay.h"
5#include <cmath>
6
7namespace Mantid
8{
9namespace CurveFitting
10{
11
12using namespace Kernel;
13using namespace API;
14
15DECLARE_FUNCTION(Muon_ExpDecay)
16
17void Muon_ExpDecay::init()
18{
19  declareParameter("A", 0.2);
20  declareParameter("lambda", 0.2);
21}
22
23
24void Muon_ExpDecay::functionLocal(double* out, const double* xValues, const int& nData)const
25{
26    const double& A = getParameter("A");
27    const double& lambda = getParameter("lambda");
28
29 
30   for (int i = 0; i < nData; i++) {
31        out[i] = A*exp(-lambda*xValues[i]);
32    }
33}
34void Muon_ExpDecay::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