Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
loopdir11.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 loopdir11() {
14  TFile *f1 = TFile::Open("hsimple.root");
15  TCanvas c1;
16  c1.Print("hsimple.ps[");
17  for(auto k : *f1->GetListOfKeys()) {
18  TKey *key = static_cast<TKey*>(k);
19  TClass *cl = gROOT->GetClass(key->GetClassName());
20  if (!cl->InheritsFrom("TH1")) continue;
21  TH1 *h = key->ReadObject<TH1>();
22  h->Draw();
23  c1.Print("hsimple.ps");
24  }
25  c1.Print("hsimple.ps]");
26 }