Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
egs4.C
Go to the documentation of this file.
1 {
2  gROOT->Reset();
3 
4  // Draw histogram filled by Geant4 TestEm2 simulation
5  TFile f("./93ref0.root");
6  TH1D* h1d = (TH1D*) f.Get("4");
7  h1d->SetTitle("30 GeV e- on 20 X0 Fe : energy dep, longit profil");
8  h1d->GetXaxis()->SetTitle("depth (X0)");
9  h1d->GetYaxis()->SetTitle("(100/E0) (dE/dt)");
10  h1d->SetStats(kFALSE); // Eliminate statistics box
11  h1d->Draw("HIST");
12 
13  // pdg.ascii came from egs4 simulation
14  ifstream in;
15  in.open("pdg.ascii");
16 
17  // Create a new histogramm which egs4.acsii values
18  int nb_bins = 40;
19  float x_min = 0;
20  float x_max = 20;
21  TH1F* h1f = new TH1F("h1f","",nb_bins,x_min,x_max);
22 
24  while (1) {
25  in >> x >> y ;
26  if (!in.good()) break;
27  h1f->Fill(x,y);
28  }
29  in.close();
30 
31  // Draw histogram fill by egs4.acsii values
32  h1f->SetLineColor(2);
33  h1f->Draw("SAME");
34 
35  // Print the histograms legend
36  TLegend *legend = new TLegend(0.65,0.55,0.85,0.68);
37  legend->AddEntry(h1d,"93ref0","l");
38  legend->AddEntry(h1f,"EGS4","L");
39  legend->Draw();
40 }