00001
00002
00014 #ifndef _Gaussian_H_
00015 #define _Gaussian_H_
00016
00017 #include "FunctionBase.h"
00018
00019 class IteratorBase;
00020
00031 class MDL_HIPPOPLOT_API Gaussian : public FunctionBase
00032 {
00033
00034 protected:
00035
00037 virtual void initialize ();
00038
00039 public:
00040
00042 Gaussian ();
00043
00045 Gaussian ( double norm, double mean, double sigma );
00046
00047 virtual FunctionBase * clone () const;
00048
00050 virtual double operator () ( double x ) const;
00051
00052 virtual void initialParameters ( const FunctionHelper * helper );
00053
00054 protected:
00055
00056 virtual double derivByParm ( int i, double x ) const;
00057
00058 private:
00059
00062 double derivByNorm ( double x ) const;
00063
00066 double derivByMean ( double x ) const;
00067
00070 double derivBySigma ( double x ) const;
00071
00072 };
00073
00074 #endif // _Gaussian_H_