#ifndef ROOT_Math_FitMethodFunction
#define ROOT_Math_FitMethodFunction
#ifndef ROOT_Math_IFunction
#include "Math/IFunction.h"
#endif
namespace ROOT { 
   namespace Math { 
 
template<class FunctionType>
class BasicFitMethodFunction : public FunctionType {
public:
   typedef  typename FunctionType::BaseFunc BaseFunction; 
   
   enum Type { kUndefined , kLeastSquare, kLogLikelihood }; 
  
    
   virtual ~BasicFitMethodFunction ()  {}  
   
   virtual double DataElement(const double *x, unsigned int i, double *g = 0) const = 0; 
   
   virtual unsigned int NPoints() const = 0; 
   
   virtual Type GetType() const { return kUndefined; }
   
   virtual unsigned int NCalls() const { return 0; }
public: 
protected: 
private: 
}; 
      
      typedef BasicFitMethodFunction<ROOT::Math::IMultiGenFunction>  FitMethodFunction;      
      typedef BasicFitMethodFunction<ROOT::Math::IMultiGradFunction> FitMethodGradFunction;
   } 
} 
#endif /* ROOT_Math_FitMethodFunction */
Last change: Tue May 13 17:00:58 2008
Last generated: 2008-05-13 17:00
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.