00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: baseFunction.h,v 1.1 2005/11/21 19:27:02 anker Exp $ 00005 00006 #ifndef BALL_SCORING_COMMON_BASEFUNCTION 00007 #define BALL_SCORING_COMMON_BASEFUNCTION 00008 00009 namespace BALL 00010 { 00011 00014 class ScoringBaseFunction 00015 { 00016 00017 public: 00018 00021 enum BaseFunctionType 00022 { 00025 BASE_FUNCTION_TYPE__LINEAR, 00026 00029 BASE_FUNCTION_TYPE__FERMI 00030 }; 00031 00032 00034 ScoringBaseFunction() 00035 ; 00036 00038 ScoringBaseFunction(float lower, float upper) 00039 ; 00040 00042 virtual ~ScoringBaseFunction() 00043 ; 00044 00046 virtual void setLower(float lower) 00047 ; 00048 00050 virtual void setUpper(float upper) 00051 ; 00052 00054 virtual float calculate(float x) const 00055 ; 00056 00058 virtual float calculate(float x, float lower, float upper) 00059 ; 00060 00061 00062 protected: 00063 00064 //_ 00065 float lower_; 00066 00067 //_ 00068 float upper_; 00069 00070 }; 00071 00072 } 00073 00074 00075 #endif // BALL_SCORING_COMMON_BASEFUNCTION