00001 00017 #ifndef __BASECONTRAINT_H 00018 #define __BASECONTRAINT_H 00019 00020 class BaseFitObject; 00021 00022 // Class BaseConstraint: 00024 00061 class BaseConstraint { 00062 public: 00064 BaseConstraint() {}; 00066 virtual ~BaseConstraint() {}; 00067 00069 virtual double getValue() const = 0; 00070 00073 virtual void getDerivatives (int idim, 00074 double der[] 00075 ) const = 0; 00077 virtual void add1stDerivativesToMatrix (int idim, 00078 double *M 00079 ) const = 0; 00081 virtual void add2ndDerivativesToMatrix (int idim, 00082 double *M, 00083 double lambda 00084 ) const= 0; 00085 00087 virtual int getGlobalNum() const = 0; 00089 virtual void setGlobalNum (int iglobal 00090 ) = 0; 00091 }; 00092 00093 00094 #endif // __BASECONTRAINT_H