#ifndef ROOT_TFitter
#define ROOT_TFitter

//+SEQ,CopyRight,T=NOINCLUDE.

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TFitter                                                              //
//                                                                      //
// The ROOT standard fitter based on TMinuit                            //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TVirtualFitter
//*KEEP,TVirtualFitter,T=C++.
#include "TVirtualFitter.h"
//*KEND.
#endif


class TFitter : public TVirtualFitter {

private:
   Int_t      fNlog;       //Number of elements in fSunLog
   Double_t  *fSumLog;     //Sum of logs (array of fNlog elements)

   public:
   TFitter(Int_t maxpar = 25);
   virtual ~TFitter();
   virtual void     Clear(Option_t *option="");
   virtual Int_t    ExecuteCommand(const char *command, Double_t *args, Int_t nargs);
   virtual void     FixParameter(Int_t ipar);
   virtual Int_t    GetErrors(Int_t ipar,Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc);
   virtual Int_t    GetMaxIterations();
   virtual TObject *GetObjectFit();
   virtual Int_t    GetParameter(Int_t ipar,char *name,Double_t &value,Double_t &verr,Double_t &vlow, Double_t &vhigh);
   virtual Int_t    GetStats(Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx);
   virtual Double_t GetSumLog(Int_t i);
   virtual void     PrintResults(Int_t level, Double_t amin);
   virtual void     ReleaseParameter(Int_t ipar);
   virtual void     SetFCN(void *fcn);
   virtual void     SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
   virtual void     SetObjectFit(TObject *obj);
   virtual void     SetMaxIterations(Int_t niter);
   virtual Int_t    SetParameter(Int_t ipar,const char *parname,Double_t value,Double_t verr,Double_t vlow, Double_t vhigh);

    ClassDef(TFitter,0)  //The ROOT standard fitter based on TMinuit
};

#endif