Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ********************************************************************* 3 // To execute this macro under ROOT after your << 3 // To execute this macro under ROOT after your simulation ended, 4 // 1 - launch ROOT (usually type 'root' at y 4 // 1 - launch ROOT (usually type 'root' at your machine's prompt) 5 // 2 - type '.X plot.C' at the ROOT session 5 // 2 - type '.X plot.C' at the ROOT session prompt 6 // 3 - OR directly type 'root plot.C' 6 // 3 - OR directly type 'root plot.C' 7 // ******************************************* 7 // ********************************************************************* 8 8 9 { 9 { >> 10 10 gROOT->Reset(); 11 gROOT->Reset(); 11 gStyle->SetPalette(1); 12 gStyle->SetPalette(1); 12 gROOT->SetStyle("Plain"); 13 gROOT->SetStyle("Plain"); 13 gStyle->SetOptStat(00000); 14 gStyle->SetOptStat(00000); 14 15 15 auto c1 = new TCanvas ("c1","Range",60,60,700, << 16 c1 = new TCanvas ("c1","Range",60,60,700,700); 16 c1->Divide(1,1); 17 c1->Divide(1,1); 17 << 18 c1->cd(1); 18 c1->cd(1); 19 gPad->SetLogx(); 19 gPad->SetLogx(); 20 gPad->SetLogy(); 20 gPad->SetLogy(); 21 21 22 TH2F * h2 = new TH2F("h2","",2,9.99,1e+4,2,1e 22 TH2F * h2 = new TH2F("h2","",2,9.99,1e+4,2,1e-1,1e+4); 23 h2->Draw(); 23 h2->Draw(); 24 h2->GetXaxis()->SetLabelSize(0.025); 24 h2->GetXaxis()->SetLabelSize(0.025); 25 h2->GetYaxis()->SetLabelSize(0.025); 25 h2->GetYaxis()->SetLabelSize(0.025); 26 h2->GetXaxis()->SetTitleSize(0.035); 26 h2->GetXaxis()->SetTitleSize(0.035); 27 h2->GetYaxis()->SetTitleSize(0.035); 27 h2->GetYaxis()->SetTitleSize(0.035); 28 h2->GetXaxis()->SetTitleOffset(1.4); 28 h2->GetXaxis()->SetTitleOffset(1.4); 29 h2->GetYaxis()->SetTitleOffset(1.4); 29 h2->GetYaxis()->SetTitleOffset(1.4); 30 h2->GetXaxis()->SetTitle("E (eV)"); 30 h2->GetXaxis()->SetTitle("E (eV)"); 31 h2->GetYaxis()->SetTitle("Distance (nm)"); 31 h2->GetYaxis()->SetTitle("Distance (nm)"); 32 32 33 FILE * fp = fopen("range.txt","r"); 33 FILE * fp = fopen("range.txt","r"); 34 34 35 Float_t e,track,strack,proj,sproj,pene,spene; 35 Float_t e,track,strack,proj,sproj,pene,spene; 36 Int_t ncols = 0; 36 Int_t ncols = 0; 37 Int_t nlines = 0; 37 Int_t nlines = 0; 38 38 39 TNtuple *ntuple = new TNtuple("ntuple","range" 39 TNtuple *ntuple = new TNtuple("ntuple","range","e:track:strack:proj:sproj:pene:spene"); 40 40 41 while (1) << 41 while (1) 42 { 42 { 43 ncols = fscanf(fp,"%f %f %f %f %f %f %f",&e, << 43 ncols = fscanf(fp,"%f %f %f %f %f %f %f",&e,&track,&strack,&proj,&sproj,&pene,&spene); 44 if (ncols < 0) break; << 44 if (ncols < 0) break; 45 ntuple->Fill(e,track,strack,proj,sproj,pene, << 45 ntuple->Fill(e,track,strack,proj,sproj,pene,spene); 46 nlines++; << 46 nlines++; 47 } 47 } >> 48 48 fclose(fp); 49 fclose(fp); 49 50 50 ntuple->SetLineWidth(3); 51 ntuple->SetLineWidth(3); 51 << 52 ntuple->SetLineColor(2); 52 ntuple->SetLineColor(2); 53 ntuple->Draw("track:e","","Lsame"); 53 ntuple->Draw("track:e","","Lsame"); 54 << 55 ntuple->SetLineColor(3); 54 ntuple->SetLineColor(3); 56 ntuple->Draw("pene:e","","Lsame"); 55 ntuple->Draw("pene:e","","Lsame"); 57 << 58 ntuple->SetLineColor(4); 56 ntuple->SetLineColor(4); 59 ntuple->Draw("proj:e","","Lsame"); 57 ntuple->Draw("proj:e","","Lsame"); 60 } 58 } 61 59