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