Geant4 Cross Reference |
1 // ------------------------------------------------------------------- 2 // ------------------------------------------------------------------- 3 // 4 // ********************************************************************* 5 // To execute this macro under ROOT after your simulation ended, 6 // 1 - launch ROOT (usually type 'root' at your machine's prompt) 7 // 2 - type '.X plot.C' at the ROOT session prompt 8 // 3 - OR type directly 'root plot.C' 9 // ********************************************************************* 10 11 { 12 gROOT->Reset(); 13 14 gStyle->SetPalette(1); 15 gROOT->SetStyle("Plain"); 16 gStyle->SetOptStat(000000); 17 18 auto c1 = new TCanvas ("c1","",60,60,800,800); 19 c1->Divide(1,1); 20 21 FILE * fp = fopen("s.txt","r"); 22 23 Float_t radius,E,thick,sc,ssc,sn,ssn; 24 Int_t ncols = 0; 25 Int_t nlines = 0; 26 27 TNtuple *ntuple = new TNtuple("ntuple","s","radius:thick:E:sc:ssc:sn:ssn"); 28 while (1) 29 { 30 ncols = fscanf(fp,"%f %f %f %f %f %f %f",&radius,&thick,&E,&sc,&ssc,&sn,&ssn); 31 if (ncols < 0) break; 32 ntuple->Fill(radius,thick,E,sc,ssc,sn,ssn); 33 nlines++; 34 } 35 fclose(fp); 36 37 c1->cd(1); 38 gPad->SetLogx(); 39 gPad->SetLogy(); 40 41 TH2F * h2 = new TH2F ("h2","",2,99.999,1e4,2,1e0,1e3); 42 h2->Draw(); 43 44 ntuple->SetMarkerStyle(24); 45 ntuple->SetMarkerSize(1.); 46 ntuple->Draw("sc:E","","LPsame"); 47 48 ntuple->SetMarkerStyle(20); 49 ntuple->SetMarkerSize(1.); 50 ntuple->Draw("sn:E","","LPsame"); 51 52 h2->GetXaxis()->SetLabelSize(0.025); 53 h2->GetYaxis()->SetLabelSize(0.025); 54 h2->GetXaxis()->SetTitleSize(0.035); 55 h2->GetYaxis()->SetTitleSize(0.035); 56 h2->GetXaxis()->SetTitleOffset(1.4); 57 h2->GetYaxis()->SetTitleOffset(1.4); 58 h2->GetXaxis()->SetTitle("E (eV)"); 59 h2->GetYaxis()->SetTitle("S (Gy/Bq.s)"); 60 61 TText *pt1 = new TText(200,200,"Cytoplasm"); 62 pt1->Draw("SAME"); 63 64 TText *pt2 = new TText(400,15,"Nucleus"); 65 pt2->Draw("SAME"); 66 67 } 68