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