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