Hi Andre, In the CVS version, I have replaced the call to TF1::EvalPar by EvalPar. This call was left following an old implementation of the class TF12. Rene Brun On Sat, 6 Mar 2004, André Holzner wrote: > 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