Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/electromagnetic/TestEm2/egs4/egs4.C

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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 
 23    Float_t x, y;
 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 }
 41