Hello, I have a function inherting from TF2 (which calculates a chi2 based on two parameters). I implemented the calculation in the method virtual Double_t EvalPar(const Double_t *x, const Double_t *params) in order to be able to call the Draw() method. Now, if I want to get a single value, using the Method Eval(..) in the interpreter interactively, it seems that this method is not called. Looking at the CVS HEAD of TF1.cxx, I see that TF1::EvalPar is explicitly called: Double_t TF1::Eval(Double_t x, Double_t y, Double_t z, Double_t t) { Double_t xx[4]; xx[0] = x; xx[1] = y; xx[2] = z; xx[3] = t; InitArgs(xx,fParams); return TF1::EvalPar(xx,fParams); } and thus bypassing the effect of the 'virtual' of the EvalPar method.. My question: Is there a reason why TF1::EvalPar is called explicitly ? Where should I implement the calculation of my result value ? best regards & thanks, André
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET