00001
00002
00014 #ifndef _Novosibirsk_H_
00015 #define _Novosibirsk_H_
00016
00017 #include "FunctionBase.h"
00018
00019 namespace hippodraw {
00020
00028 class MDL_HIPPOPLOT_API Novosibirsk : public FunctionBase
00029 {
00030
00031 private:
00032
00033 enum { norm = 0, mean = 1, sigma = 2,
00034 tail = 3 };
00035
00036 protected:
00037
00039 virtual void initialize ();
00040
00041 virtual double derivByParm ( int i, double x ) const;
00042
00043 public:
00044
00046 Novosibirsk ();
00047
00051 Novosibirsk ( double norm, double mean, double sigma, double tail );
00052
00053 virtual FunctionBase * clone () const;
00054
00056 virtual double operator () ( double x ) const;
00057
00058 virtual void initialParameters ( const FunctionHelper * helper );
00059
00064 virtual bool hasDerivatives () const;
00065
00066 };
00067
00068 }
00069
00070 #endif // _Novosibirsk_H_