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