Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/electromagnetic/TestEm5/berger/berger.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 ]

Diff markup

Differences between /examples/extended/electromagnetic/TestEm5/berger/berger.C (Version 11.3.0) and /examples/extended/electromagnetic/TestEm5/berger/berger.C (Version 10.6.p1)


  1 {                                                   1 {
  2    gROOT->Reset();                                  2    gROOT->Reset();
  3                                                     3 
  4    // Draw histograms fill by Geant4 TestEm5 s      4    // Draw histograms fill by Geant4 TestEm5 simulation
  5    TFile f1("./local.root");                   <<   5    TFile f1("./msc93.root");
  6    TH1D* h1 = (TH1D*) f1.Get("h1");            <<   6    TH1D* h1 = (TH1D*) f1.Get("1");
  7    h1->SetTitle("Energy deposited in 530 um of      7    h1->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-");
  8    h1->GetXaxis()->SetTitle("Ekine (MeV)");         8    h1->GetXaxis()->SetTitle("Ekine (MeV)");
  9    h1->GetYaxis()->SetTitle("nb / MeV");            9    h1->GetYaxis()->SetTitle("nb / MeV");
 10    h1->SetStats(kFALSE);  // Eliminate statist     10    h1->SetStats(kFALSE);  // Eliminate statistics box
 11    h1->SetLineColor(kBlue);                    <<  11    h1->SetLineColor(1);   // black
 12    h1->Draw("HIST");                               12    h1->Draw("HIST");
 13                                                    13    
 14    TFile f2("./opt4.root");                    <<  14    TFile f2("./local.root");
 15    TH1D* h2 = (TH1D*) f2.Get("h1");            <<  15    TH1D* h2 = (TH1D*) f2.Get("1");
 16    h2->SetStats(kFALSE);  // Eliminate statist     16    h2->SetStats(kFALSE);  // Eliminate statistics box
 17    h2->SetLineColor(kRed);                     <<  17    h2->SetLineColor(4);   // blue
 18    h2->Draw("SAME HIST");                          18    h2->Draw("SAME HIST");
 19 /*                                                 19 /*
 20 * e- 1 MeV in Silicon 530 um                       20 * e- 1 MeV in Silicon 530 um 
 21 * M.J. Berger et al. NIM 69 (p.181) 1969           21 * M.J. Berger et al. NIM 69 (p.181) 1969
 22 * distribution of energy deposition                22 * distribution of energy deposition
 23 * (from 110 keV to 1.03 MeV by bin of 10 keV -     23 * (from 110 keV to 1.03 MeV by bin of 10 keV --> 93 bins) 
 24 */                                                 24 */
 25                                                    25 
 26   ifstream in;                                 <<  26    ifstream in;
 27   in.open("530um.ascii");                      <<  27    in.open("530um.ascii");
 28                                                    28    
 29   TMarker *pt;                                 <<  29    // First indicate number of data
 30   Double_t x, y;                               <<  30    int nbdata = 0;
 31   // First indicate number of data             <<  31    in >> nbdata;
 32   int nbdata = 0;                              <<  32    
 33   in >> nbdata;                                <<  33    // Create a new histogram with data.acsii values
 34   for ( int i = 0 ; i < nbdata ; i++ ) {       <<  34    float x_min = 0.110;
                                                   >>  35    float x_max = 1.030;
                                                   >>  36    TH1F* h3 = new TH1F("h1f","",nbdata,x_min,x_max);
                                                   >>  37 
                                                   >>  38    Float_t x, y;
                                                   >>  39    while (1) {
 35       in >> x >> y ;                               40       in >> x >> y ;
 36       if (!in.good()) break;                       41       if (!in.good()) break;
 37       pt = new TMarker(x,y,32); // 32 for open <<  42       h3->Fill(x,y);
 38       pt->SetMarkerColor(kGreen);              <<  43    }
 39       pt->Draw();                              <<  44    in.close();
 40   }                                            <<  45 
 41   in.close();                                  <<  46    // Draw histogram fill by data.acsii values
 42                                                <<  47    h3->SetLineColor(2);   // red
 43   // Print the histograms legend               <<  48    h3->Draw("SAME");
 44   TLegend *legend = new TLegend(0.6,0.6,0.8,0. <<  49 
 45   legend->AddEntry(h1,"local","l");            <<  50    // Print the histograms legend
 46   legend->AddEntry(h2,"opt4 ","l");            <<  51    TLegend *legend = new TLegend(0.6,0.6,0.8,0.8);
 47   legend->AddEntry(pt,"Berger data","P");      <<  52    legend->AddEntry(h1,"Urban93","l");
 48   legend->Draw();                              <<  53    legend->AddEntry(h2,"Urban95","l");   
                                                   >>  54    legend->AddEntry(h3,"Berger data","L");
                                                   >>  55    legend->Draw();
                                                   >>  56 
                                                   >>  57 
 49 }                                                  58 }
 50                                                    59