Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Erfc.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00011 #ifndef _Erfc_H_
00012 #define _Erfc_H_
00013 
00014 #include "FunctionBase.h"
00015 
00016 
00043 class MDL_HIPPOPLOT_API Erfc : public FunctionBase
00044 {
00045  private:
00046   enum{MEAN,SIGMA,NORM};
00047 
00048  protected:
00050   virtual void initialize();
00051 
00052  public:
00054   Erfc ();
00055   
00057   Erfc ( double mean, double sigma, double norm );
00058   
00059   virtual FunctionBase * clone () const;
00060   
00062   virtual double operator () ( double x ) const;
00063   
00064   virtual void initialParameters ( const FunctionHelper * helper );
00065   
00066   //Help functions:
00067   double calcErfc(double x) const;
00068 
00069  protected:
00070   virtual double derivByParm ( int i, double x ) const;
00071 
00072   double Erfc::derivByRed(const double value) const;
00073 
00074 private:
00076   inline double calcRed(double value) const 
00077   {
00078     if(m_parms[SIGMA] == 0.0) {
00079       Erfc * p = const_cast < Erfc * > ( this );
00080       p->m_parms[SIGMA] = 0.0001; //dummy lower value
00081     }
00082 
00083     return (value - m_parms[MEAN])/m_parms[SIGMA];
00084   }
00085 
00086 
00087 
00088 };
00089 
00090 #endif// _Erfc_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3