Hi, The function called by Minuit must be a static function. It cannot be a class member function. From the static function, you can call a class member function using a global object pointer. Rene Brun On Sat, 27 Jul 2002 kmakonyi@nist.gov wrote: > Dear All, > > Is there any trick to take a "user defined function" to a member of a class? > I've tried the follow and it didn't work. > The error message: > "Symbol A is not defined in current scope". > > > class probe{ > public: > probe::probe(); > probe::~probe(); > Double_t Voigt(Double_t* x, Double_t* par); > }; > > Double_t probe::Voigt(Double_t* x, Double_t* par){ > Double_t arg = 0; > if(par[2]) > arg = (x[0] - par[1]) / par[2]; > Double_t Gaus = TMath::Exp( -0.5 * arg * arg ); > Double_t Lorentz = 1 / ( 1 + arg * arg ); > return par[0] * ( par[3] * Gaus + ( 1- par[3] ) * Lorentz ); > } > > main(){ > probe A; > TF1* f1 = new TF1("f1", A.Voigt, 100, 200, 4); > } >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:02 MET