Hello,
why does the following not compile under CINT, but work without problems
in the uncompiled version?
I took the tutorial fit1.C, reduced it to the essentials and changed it
to the way I would like it to work.
The idea I want to achieve is to jump out of a loop, do a fit with the
current state of a histogram and continue looping afterwards.
But it doesn't compile even in this simple version, so how do I do it
correctly?
Many thanks,
Michael
PS.:root3.03/09cvs20020930 with gcc3.2.2, can't change root version
unfortunately.
#ifndef __CINT__
#include "TCanvas.h"
#include "TSystem.h"
#include "TFrame.h"
#include "TFile.h"
#include "TH1F.h"
#include "TF1.h"
#include "TPaveText.h"
#endif
void DoFit(TH1F* h1f, TFile* fill)
{
TF1* sqroot = (TF1*)fill->Get("sqroot");
h1f->Fit("sqroot");
return;
}
void MyFit1()
{
//
// To see the output of this macro, click begin_html <a
href="gif/fit1.gif">here</a>. end_html
//
gROOT->Reset();
TCanvas* c1 = new TCanvas("c1","The Fit Canvas",200,10,700,500);
//
// We connect the ROOT file generated in a previous tutorial
// (see begin_html <a href="fillrandom.C.html">Filling histograms
with random numbers from a function</a>) end_html
//
TFile* fill=new TFile("fillrandom.root");
//
// Get object "sqroot" from the file. Undefined objects are searched
// for using gROOT->FindObject("xxx"), e.g.:
TF1 *sqroot = (TF1*)fill->Get("sqroot");
//
sqroot->Print();
//
// Now fit histogram h1f with the function sqroot
//
TH1F* h1f =(TH1F*)fill->Get("h1f");
h1f->SetFillColor(45);
// h1f->Fit("sqroot","+");
DoFit(h1f, fill);
c1->Update();
return;
}
--
Michael Aye, Dept. of Physics, University of Durham
Phone@Office:+44-191-374-2345, Fax@Office:+44-191-374-3749
"If a nation expects to be ignorant and free in a state of civilization,
it expects what never was and never will be." --- Thomas Jefferson
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET