00001 #ifndef _G1Contrast_H 00002 #define _G1Contrast_H 00003 00004 00005 00026 #include <math.h> 00027 00028 #include "AContrastFunction.hpp" 00029 00030 class G1Contrast : public AContrastFunction 00031 { 00032 private: 00033 00034 double a; 00035 00036 public: 00037 G1Contrast(double ax=1.0){a=ax;} 00038 virtual ~G1Contrast(){} 00039 00040 virtual double G(double u){return log(cosh(a*u))/a;} 00041 virtual double g(double u){return tanh(a*u); } 00042 virtual double gdiff(double u){double gval= g(u); return a*(1.0-gval*gval); } 00043 }; 00044 00045 #endif