Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/brachytherapy/comparison/compare_6711.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 // Read reference data in dolan.txt
  3 FILE * fg1=fopen("dolan.txt", "r");
  4 Int_t n_points_dolan = 8;
  5 Float_t x1[n_points_dolan], y1[n_points_dolan];
  6 Float_t x, y;
  7 Int_t ncols_dolan;
  8 Int_t nlines1 = 0;
  9 
 10 while(1)
 11 {
 12   ncols_dolan = fscanf(fg1, "%f %f", &x, &y);
 13   if (ncols_dolan<0) break;
 14   x1[nlines1]= x;
 15   y1[nlines1] = y;
 16   nlines1++;
 17 }
 18 
 19 fclose(fg1);
 20 
 21 // Read the results of the brachyadvanced example
 22 // OncuraSourceMacro.mac with 20 B events
 23 
 24 FILE *fg2=fopen("geant4_6711_dose.txt", "r");
 25 Int_t n_points_geant4 = 398;
 26 Float_t x2[n_points_geant4], y2[n_points_geant4];
 27 Int_t ncols_geant4;
 28 Int_t nlines2 = 0;
 29 
 30 while(1)
 31 {
 32   ncols_geant4 = fscanf(fg2, "%f %f", &x, &y);
 33   if (ncols_geant4<0) break;
 34   x2[nlines2] = x;
 35   y2[nlines2] = y;
 36   nlines2++;
 37 }
 38 
 39 fclose(fg2);
 40 
 41 TGraph *gr1 = new TGraph (nlines1, x1, y1);
 42 TGraph *gr2 = new TGraph (nlines2, x2, y2);
 43 
 44 TCanvas *c1 = new TCanvas("c1", "Graph Draw Options", 200, 10, 600, 400);
 45 
 46 gPad->SetLogy();
 47 
 48 // Draw the graph with axis, continuous line, and put a '*' at each point
 49 
 50 gr1->SetTitle("Dose rate distribution");
 51 gr1->GetXaxis()->SetTitle("Distance from the centre (cm)");
 52 gr1->GetYaxis()->SetTitle("Normalised dose rate distribution");
 53 gr1->SetLineWidth(1);
 54 gr1->SetMarkerColor(1);
 55 gr1->SetMarkerStyle(20);
 56 gr1->Draw("AP");
 57 
 58 gr2->SetLineWidth(1);
 59 gr2->SetMarkerColor(2);
 60 gr2->SetMarkerStyle(21);
 61 gr2->SetMarkerSize(0.5);
 62 gr2->SetLineColor(2);
 63 gr2->Draw("CP");
 64 
 65 TLegend *leg = new TLegend(0.3, 0.5, 0.6, 0.8);
 66 leg->SetFillColor(0);
 67 leg->AddEntry(gr1, "Reference data", "lp");
 68 leg->AddEntry(gr2, "Geant4 - 20B Events", "lp");
 69 leg->Draw();
 70 
 71 }
 72 
 73 
 74