C++ main module for mmsd Package  1.0
MMSD_GaussianFDFunction.h
Go to the documentation of this file.
1 #ifndef MMSD_GaussianFDFunction_H
2 #define MMSD_GaussianFDFunction_H
3 
4 
5 #include "MATH_C1Function.h"
6 #include "MATH_DigammaFunction.h"
7 
8 
17  SP_OBJECT(MMSD_GaussianFDFunction);
18 
19  public:
20 
21 
22  // ATTRIBUTES
23  private:
24  //double mPSum;
25  //double mPfWSum;
26  //double mFxold;
27  double mConstant;
28  //
29  // ASSOCIATIONS
30 
31  protected:
32  // METHODS
33 
34  // CONSTRUCTORS
35 
38 
39 
40 
41  // DESTRUCTORS
42 
43 
46  virtual ~MMSD_GaussianFDFunction(void);
47 
48  // NEW methods
49 
50  public:
53  static inline SP::MMSD_GaussianFDFunction New() {
54  SP::MMSD_GaussianFDFunction p(new MMSD_GaussianFDFunction(),
56  p->setThis(p);
57  return p;
58  };
59 
60 
61 
62 
63  // GET methods
68  inline void setParameters(const double& Psum,const double& PfWsum,const double& Fxold) {
69  //mPSum=Psum;
70  //mPfWSum=PfWsum;
71  //mFxold=Fxold;
72  mConstant=1+(PfWsum/Psum)+MATH_DigammaFunction::ComputeFunction(Fxold)-log(Fxold);
73  }
74 
75 
76  // OTHERS methods
77 
86  virtual tReal computeFunction(const tReal& x);
87 
93  virtual tReal computeFunctionDerivative(const tReal& x);
94 
95 
96 };
97 
98 #endif
This class describes a function of classe C1.
Definition: MATH_C1Function.h:17
void setParameters(const double &Psum, const double &PfWsum, const double &Fxold)
set the parameters of the function
Definition: MMSD_GaussianFDFunction.h:68
MMSD_GaussianFDFunction(void)
create the gaussian freedom degrees updating function
Definition: MMSD_GaussianFDFunction.cpp:6
This class describes the function used in MMSD_GaussianCluster::updateFreedomDegrees() ...
Definition: MMSD_GaussianFDFunction.h:16
DEFINE_SPTR(MMSD_GaussianFDFunction)
virtual ~MMSD_GaussianFDFunction(void)
destroy an the gaussian freedom degrees updating funtion
Definition: MMSD_GaussianFDFunction.cpp:13
static tReal ComputeFunction(const tReal &x)
compute the function return digamma(x);
Definition: MATH_DigammaFunction.h:72
virtual tReal computeFunctionDerivative(const tReal &x)
compute the derivative of function
Definition: MMSD_GaussianFDFunction.cpp:39
static SP::MMSD_GaussianFDFunction New()
create a trigamma function
Definition: MMSD_GaussianFDFunction.h:53
#define tReal
Definition: types.h:18
virtual tReal computeFunction(const tReal &x)
compute the function
Definition: MMSD_GaussianFDFunction.cpp:17
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106