swh:1:snp:af87cd67498ef4fe47c76ed3e7caffe5b61facaf
Tip revision: a50a9e1ad04c166f883037b0c555e4045ee4be0b authored by Unknown Author on 14 May 2001, 09:37:03 UTC
This commit was manufactured by cvs2svn to create tag 'v3-01-02'.
This commit was manufactured by cvs2svn to create tag 'v3-01-02'.
Tip revision: a50a9e1
hksimple.C
void padRefresh(TPad *pad,int flag=0);
void hksimple()
{
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//*-*
//*-* This script illustrates the advantages of a TH1K histogram
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
// Create a new canvas.
c1 = new TCanvas("c1","Dynamic Filling Example",200,10,600,900);
c1->SetFillColor(42);
// Create a normal histogram and two TH1K histograms
TH1 *hpx[3];
hpx[0] = new TH1F("hp0","Normal histogram",1000,-4,4);
hpx[1] = new TH1K("hk1","Nearest Neighboor of order 3",1000,-4,4);
hpx[2] = new TH1K("hk2","Nearest Neighboor of order 16",1000,-4,4,16);
c1->Divide(1,3);
Int_t j;
for (j=0;j<3;j++) {
c1->cd(j+1);
gPad->SetFrameFillColor(33);
hpx[j]->SetFillColor(48);
hpx[j]->Draw();
}
// Fill histograms randomly
gRandom->SetSeed();
Float_t px, py, pz;
const Int_t kUPDATE = 10;
for (Int_t i = 0; i <= 300; i++) {
gRandom->Rannor(px,py);
for (j=0;j<3;j++) {hpx[j]->Fill(px);}
if (i && (i%kUPDATE) == 0) {
padRefresh(c1);
}
}
for (j=0;j<3;j++) hpx[j]->Fit("gaus","","");
padRefresh(c1);
}
void padRefresh(TPad *pad,int flag)
{
if (!pad) return;
pad->Modified();
pad->Update();
TList *tl = pad->GetListOfPrimitives();
if (!tl) return;
TListIter next(tl);
TObject *to;
while ((to=next())) {
if (to->InheritsFrom(TPad::Class())) padRefresh((TPad*)to,1);}
if (flag) return;
gSystem->ProcessEvents();
}