Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/dna/range/plot.C

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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