#ifndef ROOT_TFcnAdapter_H_
#define ROOT_TFcnAdapter_H_
#ifndef ROOT_Minuit2_FCNGradientBase
#include "Minuit2/FCNGradientBase.h"
#endif
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
class TFcnAdapter : public ROOT::Minuit2::FCNGradientBase {
public:
   TFcnAdapter(void (*fcn)(int&, double*, double&, double*, int)) : fFCN(fcn), fUp(1) {}
   virtual ~TFcnAdapter() {}
   const ROOT::Minuit2::FCNBase& Base() const {return *this;}
  
   double operator()(const std::vector<double>&) const;
   double Up() const {return fUp; }
  
   void SetErrorDef(double up) { fUp = up; }
   std::vector<double> Gradient(const std::vector<double>&) const;
   
   double operator()(int npar, double* params,int iflag = 4) const;
private:
   void (*fFCN)(int&, double*, double&, double*, int);
   double fUp; 
   mutable std::vector<double> fGradCache; 
   ClassDef(TFcnAdapter,0)  
};
#endif //ROOT_GFcnAdapter_H_
Last update: Thu Jan 17 08:50:03 2008
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.