10 import g4py.MedicalBeam
    23   ROOT.gStyle.SetTextFont(42)
    24   ROOT.gStyle.SetTitleFont(42, 
"X")
    25   ROOT.gStyle.SetLabelFont(42, 
"X")
    26   ROOT.gStyle.SetTitleFont(42, 
"Y")
    27   ROOT.gStyle.SetLabelFont(42, 
"Y")
    30   gCanvas= ROOT.TCanvas(
"water_phantom_plots",
    31                         "Water Phantom Demo Plots",
    38   gPad1= ROOT.TPad(
"2D", 
"2D", 0.02, 0.5, 0.98, 1.)
    42   ROOT.gStyle.SetPalette(1);
    45   hist_dose2d= ROOT.TH2D(
"2D Dose", 
"Dose Distribution",
    48   hist_dose2d.SetXTitle(
"Z (mm)")
    49   hist_dose2d.SetYTitle(
"X (mm)")
    50   hist_dose2d.SetStats(0)
    51   hist_dose2d.Draw(
"colz")
    55   gPad2= ROOT.TPad(
"Z", 
"Z", 0.02, 0., 0.98, 0.5)
    60   hist_dosez= ROOT.TH1D(
"Z Dose", 
"Depth Dose", 200, 0., 400.)
    61   hist_dosez.SetXTitle(
"(mm)")
    62   hist_dosez.SetYTitle(
"Accumulated Dose (MeV)")
    69   hist_dose2d.Draw(
"colz")
    82   "My Primary Generator Action"    85     G4VUserPrimaryGeneratorAction.__init__(self)
    96     print "*** End of Run"    97     print "- Run sammary : (id= %d, #events= %d)" \
    98           % (run.GetRunID(), run.GetNumberOfEventToBeProcessed())
   109     ROOT.gSystem.ProcessEvents()
   120   "SD for score voxels"   123     G4VSensitiveDetector.__init__(self, 
"ScoreVoxel")
   126     preStepPoint= step.GetPreStepPoint()
   127     if(preStepPoint.GetCharge() == 0):
   130     track= step.GetTrack()
   131     touchable= track.GetTouchable()
   132     voxel_id= touchable.GetReplicaNumber()
   133     dedx= step.GetTotalEnergyDeposit()
   135     hist_dose2d.Fill(xz[1], xz[0], dedx/MeV)
   136     if( abs(xz[0]) <= 100 ):
   137       hist_dosez.Fill(xz[1],  dedx/MeV)
   163 myMaterials= demo_wp.MyMaterials()
   164 myMaterials.Construct()
   166 myDC= demo_wp.MyDetectorConstruction()
   167 gRunManager.SetUserInitialization(myDC)
   170 gRunManager.SetUserInitialization(myPL)
   174 gRunManager.SetUserAction(myPGA)
   177 gRunManager.SetUserAction(myRA)
   180 gRunManager.SetUserAction(myEA)
   193 beam= g4py.MedicalBeam.Construct()
   194 beam.particle= 
"proton"   195 beam.kineticE= 230.*MeV
   200 beam.fieldXY= [5.*cm, 5.*cm]
   203 gRunManager.Initialize()
   207 myDC.SetSDtoScoreVoxel(scoreSD)
   213 gRunManager.BeamOn(100)
 
def EndOfRunAction(self, run)
 
def ProcessHits(self, step, rohist)
 
def GeneratePrimaries(self, event)
 
def UserSteppingAction(self, step)
 
def EndOfEventAction(self, event)