Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
loopdir.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_io
3 /// \notebook -nodraw
4 /// Example of script to loop on all the objects of a ROOT file directory
5 /// and print on Postscript all TH1 derived objects.
6 /// This script uses the file generated by tutorial hsimple.C
7 ///
8 /// \macro_image
9 /// \macro_code
10 ///
11 /// \author Rene Brun
12 
13 void loopdir() {
14  TFile *f1 = TFile::Open("hsimple.root");
15  TIter keyList(f1->GetListOfKeys());
16  TKey *key;
17  TCanvas c1;
18  c1.Print("hsimple.ps[");
19  while ((key = (TKey*)keyList())) {
20  TClass *cl = gROOT->GetClass(key->GetClassName());
21  if (!cl->InheritsFrom("TH1")) continue;
22  TH1 *h = (TH1*)key->ReadObj();
23  h->Draw();
24  c1.Print("hsimple.ps");
25  }
26  c1.Print("hsimple.ps]");
27 }
28