Hi Remi,
This problem happens when creating a TF1 object with the same name
as a previous TF1 object in the case of a compiled function only.
The problem is fixed in the CVS version.
Rene Brun
Remi Mommsen wrote:
>
> Dear rooters,
>
> I have a problem with the representation of a fitted function to
> TGraph. I use a code which boils down to the following macro:
>
> macro tgraph.C:
> ====================================================================
> #if !defined( __CINT__ ) || defined( __MAKECINT__ )
> #include "TGraph.h"
> #include "TF1.h"
> #include "TMath.h"
> #endif
>
> Double_t sine(Double_t *x, Double_t *par) {
> return par[0]*TMath::Sin(par[1]*x[0]);
> }
>
> TF1* getFunction() {
> TF1* func = new TF1("sine",sine,0,7,2);
> return func;
> }
>
> Bool_t tgraph() {
> Double_t x[5] = {0,1.57,3.14,4.71,6.24};
> Double_t y[5] = {0,1,0,-1,0};
>
> TGraph* graph = new TGraph(5, x, y);
> graph->SetMarkerStyle(8);
> graph->Draw("ap");
>
> Double_t par[2] = {1,1};
>
> TF1* func2 = getFunction(); // <--- causes the problem
> TF1* func = getFunction();
> func->SetParameters(par);
> graph->Fit(func);
>
> return true;
> }
> ====================================================================
>
> The result of this macro is okay if I interpret it in root (i.e. .x
> tgraph.C), but if I compile it in root (i.e. .x tgraph.C+) I get the
> function plotted in fill mode (see attached gif file). None of the
> goption does affect the way it is plotted. The problem vanishes if I
> remove the line defining func2.
>
> I see this problem with root 3.05/07 and 3.10/01 on both Mac OS X and
> RH9, however it seems to be okay for root 3.02/07 on RH7.2.
>
> Thanks for your help.
>
> Cheers,
> Remi
>
> --------------------------------------------------------------------------------
> Name: c1.gif
> c1.gif Type: GIF Image (image/gif)
> Encoding: base64
>
> Part 1.3 Type: Plain Text (text/plain)
> Encoding: 7bit
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET