Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/dna/mfp/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 // To execute this macro under ROOT after your simulation ended,
  3 //   1 - launch ROOT (usually type 'root' at your machine's prompt)
  4 //   2 - type '.X plot.C' at the ROOT session prompt
  5 //   3 - OR type directly 'root plot.C'
  6 // *********************************************************************
  7 
  8 {
  9 gROOT->Reset();
 10 
 11 gStyle->SetPalette(1);
 12 gROOT->SetStyle("Plain");
 13 gStyle->SetOptStat(000000);
 14 
 15 auto c1 = new TCanvas ("c1","",60,60,800,800);
 16 c1->Divide(1,1);
 17 
 18 FILE * fp = fopen("mfp.txt","r");
 19 
 20 Float_t E,mfp,smfp;
 21 Int_t ncols = 0;
 22 Int_t nlines = 0;
 23 
 24 TNtuple *ntuple = new TNtuple("ntuple","mfp","E:mfp:smfp");
 25 while (1)
 26 {
 27   ncols = fscanf(fp,"%f %f %f",&E,&mfp,&smfp);
 28   if (ncols < 0) break;
 29   ntuple->Fill(E,mfp,smfp);
 30   nlines++;
 31 }
 32 fclose(fp);
 33 
 34 c1->cd(1);
 35 gPad->SetLogx();
 36 gPad->SetLogy();
 37 
 38 TH2F * h2 = new TH2F ("h2","",2,9.99,1e4,2,0.099,1e2);
 39 h2->Draw();
 40 ntuple->SetMarkerStyle(20);
 41 ntuple->SetMarkerSize(1.);
 42 ntuple->Draw("mfp:E","","LPSAME");
 43 
 44 h2->GetXaxis()->SetLabelSize(0.025);
 45 h2->GetYaxis()->SetLabelSize(0.025);
 46 h2->GetXaxis()->SetTitleSize(0.035);
 47 h2->GetYaxis()->SetTitleSize(0.035);
 48 h2->GetXaxis()->SetTitleOffset(1.4);
 49 h2->GetYaxis()->SetTitleOffset(1.4);
 50 h2->GetXaxis()->SetTitle("E (eV)");
 51 h2->GetYaxis()->SetTitle("MFP (nm)");
 52 }
 53