Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
TestEm5/berger/berger.C
이 파일의 문서화 페이지로 가기
1 {
2  gROOT->Reset();
3 
4  // Draw histograms fill by Geant4 TestEm5 simulation
5  TFile f1("./msc93.root");
6  TH1D* h1 = (TH1D*) f1.Get("1");
7  h1->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-");
8  h1->GetXaxis()->SetTitle("Ekine (MeV)");
9  h1->GetYaxis()->SetTitle("nb / MeV");
10  h1->SetStats(kFALSE); // Eliminate statistics box
11  h1->SetLineColor(1); // black
12  h1->Draw("HIST");
13 
14  TFile f2("./local.root");
15  TH1D* h2 = (TH1D*) f2.Get("1");
16  h2->SetStats(kFALSE); // Eliminate statistics box
17  h2->SetLineColor(4); // blue
18  h2->Draw("SAME HIST");
19 /*
20 * e- 1 MeV in Silicon 530 um
21 * M.J. Berger et al. NIM 69 (p.181) 1969
22 * distribution of energy deposition
23 * (from 110 keV to 1.03 MeV by bin of 10 keV --> 93 bins)
24 */
25 
26  ifstream in;
27  in.open("530um.ascii");
28 
29  // First indicate number of data
30  int nbdata = 0;
31  in >> nbdata;
32 
33  // Create a new histogram with data.acsii values
34  float x_min = 0.110;
35  float x_max = 1.030;
36  TH1F* h3 = new TH1F("h1f","",nbdata,x_min,x_max);
37 
39  while (1) {
40  in >> x >> y ;
41  if (!in.good()) break;
42  h3->Fill(x,y);
43  }
44  in.close();
45 
46  // Draw histogram fill by data.acsii values
47  h3->SetLineColor(2); // red
48  h3->Draw("SAME");
49 
50  // Print the histograms legend
51  TLegend *legend = new TLegend(0.6,0.6,0.8,0.8);
52  legend->AddEntry(h1,"Urban93","l");
53  legend->AddEntry(h2,"Urban95","l");
54  legend->AddEntry(h3,"Berger data","L");
55  legend->Draw();
56 
57 
58 }
Float_t x
Definition: compare.C:6
int nbdata
Definition: egs.C:28
TH1F * h3
Float_t y
Definition: compare.C:6
Float_t f2
double x_min
G4float Float_t
Float_t f1
TLegend * legend
Definition: egs.C:40
TH1F * h2
double x_max
ifstream in
Definition: comparison.C:7
TH1F * h1