Thank you, Rene.
But this solves only the problem with FillRandom since it accasses
function via gROOT->GetListOfFunctions()->FindObject("functionname").
The problem with TH1::Fit remains since in uses gF1 defined in TH1.cxx. In
TH1::Fit also gF1->GetParameter(i) is called and because
TFormula::GetParameter(...) in NOT virtual I cant't
override it and provide
my own.
Would it be feasible to make TFormula::GetParameter virtual.
The same is true for TFormula::GetNpar, TFormula::GetParNumber,
TF1::GetParError, TF1::GetParErrors and others that do not deal with
parameters?
Regards, Miha.
On Wed, 27 Feb 2002, Rene Brun wrote:
> Hi Miha,
>
> In your TModelFunction constructor, add the following statement:
> gROOT->GetListOfFunctions()->Add(this);
>
> see example in:
> TF1::TF1(const char *name, Double_t xmin, Double_t xmax, Int_t npar)
>
> Rene Brun
>
>
> On Wed, 27 Feb 2002 miha.puc@marvin.fmf.uni-lj.si wrote:
>
> > Hi!
> >
> > Ok. Thank you. And here is another problem:
> > In TModelFunction I override TF1's EvalPar and some other methods. But
> > when I fit or FillRandom a histogram with a TModelFunction the
> > TF1::EvalPar is called which is not what I want.
> >
> > Is there a solution?
> >
> > When I call TH1's Add, Divide or Multipy with TModelFunction::EvalPar is
> > called which is OK.
> > Also Draw() method works well for TModelFunction objects.
> >
> > I use Version 3.03/00 6 February 2002.
> >
> > Miha
> >
> >
> > On Tue, 26 Feb 2002, Rene Brun wrote:
> >
> > > Hi Miha,
> > >
> > > The message from the compiler is clear. Both TF1 and TDataSet
> > > derive from TObject. Do not mix apples and oranges.
> > > Use TDataSet as a member of your class instead.
> > >
> > > Rene Brun
> > >
> > > On Tue, 26 Feb 2002 miha.puc@marvin.fmf.uni-lj.si wrote:
> > >
> > > > Hi!
> > > > I have a class
> > > > class TModelFunction : public TF1, public TDataSet { .....
> > > >
> > > > and when compiling I get messages like
> > > >
> > > > TModelFunction.cxx:121: type `TObject' is ambiguous base class for type
> > > > `TModelFunction'
> > > > TModelFunction.cxx:121: type `TModelFunction' is ambiguous baseclass of
> > > > `TObject'
> > > >
> > > > line 121 is:
> > > > _Foo = (TModelFunction *) (fList->After(_Foo));
> > > > where _Foo is a pointer to TModelFunction object.
> > > >
> > > > What shall I do?
> > > >
> > > > Regards,
> > > > Miha
> > > > --
> > > >
> > > >
> > >
> > >
> >
> > --
> >
>
>
--
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:43 MET