Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -1,5 +1,5 @@
#
# This file permits to customize, with commands,
# This file permits to customize, with commands,
# the menu bar of the G4UIXm, G4UIWin32 sessions.
# It has no effect with G4UIterminal.
#
@@ -14,12 +14,12 @@
/gui/addButton run "beamOn 1" "/run/beamOn 1"
/gui/addButton run run1 "/control/execute defaultMacro.mac"
#
# Gun menu :
/gui/addMenu gun Particle
/gui/addButton gun "Proton" "/gun/particle proton"
# Gps menu :
/gui/addMenu gps Particle
/gui/addButton gps "Proton" "/gps/particle proton"
/gui/addMenu gun Energy
/gui/addButton gun "60 MeV" "/gun/energy 60 MeV"
/gui/addMenu gps Energy
/gui/addButton gps "60 MeV" "/gps/energy 60 MeV"
#
# Macro menu
+137
View File
@@ -0,0 +1,137 @@
# G.A.P.Cirrone
#
# Default macro file. It is called if no argument is provided at run
#
# i.e. simply typing $G4WORKDIR/bin/Linux-++/Hadrontherapy <no argument here!>
#
# This macro can be used for a proton beam in water. Both electrmagnetic and
# hadronic models are swiched on
#########################
# Set of the verboses
#
/control/verbose 1
/tracking/verbose 0
/run/verbose 1
/event/verbose 0
##########################
# Set of the physic models
#
/Physics/addPhysics QGSP_BIC_EMY
##########################
# INFN-LNS transport beam line,
# normally used for interdisciplinary
# researches with carbon and
# and other ion beams is activated
# with the following command
#
/geometrySetup/selectGeometry Carbon
##########################
# Initialisation procedure
#
/run/initialize
##########################
# Visualisation
#
/vis/scene/create
/vis/open OGL
#/vis/viewer/set/background white
/vis/viewer/set/style solid
/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 30 140 deg
/vis/viewer/zoomTo 1
/vis/viewer/panTo 100 50 cm
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
#/vis/scene/endOfEventAction accumulate
/vis/scene/endOfEventAction accumulate -1
#/vis/viewer/update
##########################
# Set here the cut and the step max for the tracking.
# Suggested values of cut and step:
#
# set cut for all
#/Physics/setCuts 0.01 mm
/Physics/setCuts 1 m
/Physics/setDetectorCuts 0.001 mm
/Step/waterPhantomStepMax 0.005 mm
##########################################################################################################
# PRIMARY PARTICLES
# the beam spot is centered at the origin and is
# of 1d gaussian shape with a 3mm central plateau
#
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -187. 0. 0. cm
/gps/pos/radius 0. mm
/gps/pos/sigma_r 2. mm
/gps/particle ion
/gps/ion 6 12 6
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam is travelling along the x-axis without any angular dispersion (angular despersion set to 0.0)
#
/gps/ang/rot1 0 0 1
/gps/ang/rot2 0 1 0
/gps/ang/type beam1d
/gps/ang/sigma_r 0. deg
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/ene/mono 744 MeV
/gps/ene/sigma 0.744 MeV
# Voxelised detector
/changePhantom/size 40 40 40 cm
/changePhantom/position 20 0 0 cm
/changeDetector/size 4 4 4 cm
/changeDetector/voxelSize .1 40 40 mm
# Put the detector in the lower left corner of the phantom
/changeDetector/displacement 0 18 18 cm
/changePhantom/update
#########################
# Display the event number
# during the run
#
/event/printEventNumber 100000
# Compute Dose and Fluence for secondary
#/analysis/secondary true
#########################
# Start of the run
#
#########################
/run/beamOn 5000
@@ -7,7 +7,7 @@
#######################
#
/control/verbose 1
/tracking/verbose 0
/tracking/verbose 2
/run/verbose 1
/event/verbose 0
@@ -47,14 +47,37 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2700 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -310. 0. 0. cm
/gps/pos/radius 0. mm
/gps/pos/sigma_r 2. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam is travelling along the x-axis without any angular dispersion (angular despersion set to 0.0)
#
/gps/ang/rot1 0 0 1
/gps/ang/rot2 0 1 0
/gps/ang/type beam1d
/gps/ang/sigma_r 0. deg
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/ene/mono 62 MeV
/gps/ene/sigma 0.3 MeV
# Copy & Paste in a new macro the previous and ONE of the following groups of commands
# in order to change the Phantom & Detector geometry!
@@ -131,9 +154,16 @@
# Cut & paste the following commands in order to create, starting from the default sizes,
# a full voxellized (200 by 200 by 200) detector
/changeDetector/voxelSize 0 200 200 um
/changeDetector/displacement 0 0 0
/changePhantom/size 4 4 4 cm
/changePhantom/size 40 40 40 cm
changePhantom/position 20 0 0 cm
/changeDetector/size 4 4 4 cm
/changeDetector/voxelSize .1 40 40 mm
/changeDetector/displacement 0 18 18 cm
/changePhantom/update
/run/beamOn 300
##########################################################################################
@@ -34,12 +34,36 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 63 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2600 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -310. 0. 0. cm
/gps/pos/radius 0. mm
/gps/pos/sigma_r 2. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam is travelling along the x-axis without any angular dispersion (angular despersion set to 0.0)
#
/gps/ang/rot1 0 0 1
/gps/ang/rot2 0 1 0
/gps/ang/type beam1d
/gps/ang/sigma_r 0. deg
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/ene/mono 62 MeV
/gps/ene/sigma 0.3 MeV
#/beamLine/RangeShifter/RSMat G4_PLEXIGLASS
#/beamLine/RangeShifter/thickness 13 mm
@@ -51,14 +75,41 @@
#
# Set cuts ONLY inside detector
/Physics/setDetectorCuts 0.01 mm
/Physics/setDetectorCuts 0.001 mm
# Set cuts outside detector
/Physics/setCuts 1 m
/Physics/setCuts 1 mm
/Step/waterPhantomStepMax 0.01 mm
/Step/waterPhantomStepMax 0.005 mm
#########################
##############################################################################################################################
# DETECTOR DESCRIPTION
###################################################
# USE THE FOLLOWING FOUR LINES FOR DEFINITION OF PHANTOM
###################################################
#
#/changePhantom/position 20. 0. 0. cm
#/changePhantom/update
/changePhantom/size 40 40 40 cm
/changePhantom/position 20 0 0 cm
###################################################
# USE THE FOLLOWING FOR A VOXELLIZED DETECTOR
###################################################
#
/changeDetector/size 4 4 4 cm
/changeDetector/voxelSize .1 40 40 mm
# Put the detector in the lower left corner of the phantom
#
/changeDetector/displacement 0 18 18 cm
/changePhantom/update
# Visualisation
#
/vis/scene/create
@@ -86,16 +137,15 @@
#/changePhantom/material G4_Pb
# Only if secondaries dose/fluence are needed
#/analysis/secondaries true
#/analysis/secondaries true
/run/beamOn 100
#########################
# Move the generated .root & .out
# files into the
# "SimulationOutputs" folder
# if this folder has been created
/control/shell mv DoseDistribution.root SimulationOutputs/proton/BraggPeak/protonBraggPeak.root
/control/shell mv Dose.out SimulationOutputs/proton/BraggPeak/Dose.out
/control/shell mv DoseDistribution.root experimentalData/proton/BraggPeak/protonBraggPeak.root
/control/shell mv Dose.out experimentalData/proton/BraggPeak/Dose.out
@@ -1,2 +0,0 @@
# macro to be run in loop
/run/beamOn 100
@@ -1,157 +0,0 @@
# G. Danielsen, A. Heikkinen, P. Kaitaniemi
#
# Macro file for IAEA geometry for a carbon beams in water.
/control/getEnv G4SYSTEM
#########################
# Set of the verboses
#
/control/verbose 1
/tracking/verbose 0
/run/verbose 1
/event/verbose 0
/analysis/setAnalysisFile IAEA.root
##########################
# Set of the physic models
#
/Physics/addPhysics emstandard_opt3 # Electromagnetic model
/Physics/addPhysics elastic # Hadronic elastic model
/Physics/addPhysics binary # Hadronic inelastic model
/Physics/addPhysics local_incl_ion_ion_inelastic # Hadronic inelastic model for ions (local Physic list)
/Physics/addPhysics radioactive_decay # Radioactive decay
##########################
# Geometry #
##########################
/geometrySetup/selectGeometry IAEA # Select the IAEA geometry
/iaea/waterPhantomThickness 27.9 cm #default is 27.9, zero will remove phantom
#############################
# Beam energy detection #
#############################
# define scoring mesh for energy deposits
# If attenuation measures are not needed this is redundant
# and time-consuming. Even pretty small runs give good attenuation graphs.
#/score/create/boxMesh boxMesh_1
#Box size is the radius of the box ie 20x20x20 gives 40x40x40 outer dimensions
#/score/mesh/boxSize 13.95 16. 16. cm # The box size and translation may require adjustement
#this translates the middle of the mesh-box.
#/score/mesh/translate/xyz 69 0.0 0.0 cm
#/score/mesh/nBin 400 1 1 # 400 bins in x-direction, 1 in y and z directions, changes require change in code
#
# define scorers and filters
# is not able to filter ions.
#/score/quantity/energyDeposit eDep
#/score/quantity/population eDep
#/score/quantity/nOfStep nOfStepGamma
#/score/filter/particle gammaFilter gamma
#/score/quantity/nOfStep nOfStepEMinus
#/score/filter/particle eMinusFilter e-
#/score/quantity/nOfStep nOfStepEPlus
#/score/filter/particle ePlusFilter e+
#/score/close
############################
# Initialisation procedure #
############################
/run/initialize
##########################
# Visualisation #
##########################
####### DAWNFILE ######
#/vis/scene/create
#/vis/open DAWNFILE
#/vis/viewer/flush
#/vis/viewer/set/viewpointThetaPhi 45 45 deg
#/vis/viewer/zoom 0
#/vis/viewer/pan 0 0 cm
#/vis/scene/add/trajectories
#/vis/scene/endOfEventAction accumulate
#/vis/viewer/update
#/vis/scene/add/trajectories
#/vis/modeling/trajectories/create/drawByCharge
#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
#/vis/scene/endOfEventAction accumulate
####### OGL #######
#/vis/scene/create
#/vis/open OGL
##/vis/open OGL 600x600-100+0
##/vis/drawVolume
##/vis/viewer/set/viewpointThetaPhi 0 0 deg
#/vis/viewer/set/viewpointThetaPhi 45 45 deg
##/vis/viewer/zoom 1.0
#/vis/scene/add/trajectories
#/vis/modeling/trajectories/create/drawByCharge
#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
# Draw only certain particles
#/vis/filtering/trajectories/create/particleFilter
# Now select filtered particles
#/vis/filtering/trajectories/particleFilter-0/add gamma
#/vis/filtering/trajectories/particleFilter-0/add electron
#/vis/filtering/trajectories/particleFilter-0/add neutron
#/vis/filtering/trajectories/particleFilter-0/add proton
#/vis/filtering/trajectories/particleFilter-0/invert true # charged particles only
#/vis/scene/add/trajectories
#/vis/scene/endOfEventAction accumulate
##########################
# Set here the cut and the step max for the tracking.
# Fixme, recommenadtions needed
#
/Physics/setCuts 0.8 cm
#/Physics/setCuts 0.4 cm
/Step/waterPhantomStepMax 0.5 cm
#/Step/waterPhantomStepMax 0.01 mm
#########################
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle ion
/gun/ion 6 12 6 # Carbon-12
/beam/energy/meanEnergy 4800 MeV # 400MeV/u * C12 = 4800
/beam/energy/sigmaEnergy 24 MeV # dE/E = 5e-3
/beam/position/Yposition/sigmaY 1.7 mm # 4mm * 2.35 ~ 1.7
/beam/position/Zposition/sigmaZ 1.7 mm
/beam/momentum/sigmaY 0.001
/beam/momentum/sigmaZ 0.001
#########################
# Start of the run
#
/beam/position/Xposition 0 cm
/beam/position/Yposition 0 cm
/beam/position/Zposition 0 cm
#/run/beamOn 100 # For test/visualization
/run/beamOn 200000 # Default value in release
#/run/beamOn 10000 # Good for basic physics run (takes few min)
#/run/beamOn 400000 # Accurate results with good statistics
#/score/dumpQuantityToFile boxMesh_1 eDep eDep.txt
# Example of running in loop
/control/alias initialValue 0
/control/alias finalValue 3
/control/alias stepSize 1
#/control/loop macro/iaea.loop counterName {initialValue} {finalValue} {stepSize}
#/control/unalias initialValue
@@ -24,7 +24,7 @@
#############################
#
/vis/scene/create
/vis/open OGLIX
/vis/open OGL
/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 30 140 deg
/tracking/storeTrajectory 1
@@ -50,10 +50,29 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2700 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -270. 0. 0. cm
/gps/pos/radius 3. mm
/gps/pos/sigma_r 0. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/energy 62 MeV
/gps/ene/sigma 400 keV
/gps/direction 1 0 0
# Copy & Paste in a new macro the previous and ONE of the following groups of commands
# in order to change the Phantom & Detector geometry!
@@ -1,3 +1,3 @@
# macro to be run in loop
/modulator/angle 1 deg
/run/beamOn 1000
/run/beamOn 1000
@@ -42,7 +42,7 @@
# Visualisation
#
/vis/scene/create
/vis/open OGLI
/vis/open OGL
/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 50 130 deg
/vis/viewer/zoom 3.5
@@ -55,11 +55,29 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -3000 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -300. 0. 0. cm
/gps/pos/radius 3. mm
/gps/pos/sigma_r 0. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/energy 62 MeV
/gps/ene/sigma 400 keV
/gps/direction 1 0 0
##########################
# Set here the cut and the step max for the tracking.
@@ -25,7 +25,7 @@
#############################
#
/vis/scene/create
/vis/open OGLIX
/vis/open OGL
/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 30 140 deg
/tracking/storeTrajectory 1
@@ -51,10 +51,28 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2700 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -270. 0. 0. cm
/gps/pos/radius 3. mm
/gps/pos/sigma_r 0. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/energy 62 MeV
/gps/ene/sigma 400 keV
/gps/direction 1 0 0
# Copy & Paste in a new macro the previous and ONE of the following groups of commands
# in order to change the Phantom & Detector geometry!
@@ -55,8 +55,13 @@
# Ions #
########
# First you need to define the ion
/gun/particle ion
/gun/ion 6 12 6
#---------------------------gps-----------------
/gps/particle ion
/gps/ion 6 12 6
# This is non necessary if the ion is already into Geant4 database:
# /particle/list
@@ -64,3 +69,5 @@
/parameter/getstopping G4_WATER 1 150 200 C12[0.0] stopCarbon_Water_1MeV_150MeV.out
@@ -30,7 +30,7 @@
# Visualisation
#
/vis/scene/create
/vis/open OGLIX
/vis/open OGL
#/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 30 140 deg
/vis/viewer/zoom 1
@@ -50,11 +50,28 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2700 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -270. 0. 0. cm
/gps/pos/radius 3. mm
/gps/pos/sigma_r 0. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/energy 62 MeV
/gps/ene/sigma 400 keV
/gps/direction 1 0 0
#########################
# Display the event number
# during the run
@@ -24,7 +24,7 @@
#############################
#
/vis/scene/create
/vis/open OGLI
/vis/open OGL
/vis/viewer/flush
/vis/viewer/set/viewpointThetaPhi 30 140 deg
/tracking/storeTrajectory 1
@@ -50,11 +50,28 @@
# Set the primary particle type,
# energy and position along the X direction
#
/gun/particle proton
/beam/energy/meanEnergy 62 MeV
/beam/energy/sigmaEnergy 400 keV
/beam/position/Xposition -2700 mm
#---------------------------gps-----------------
/gps/pos/shape Circle
/gps/pos/centre -270. 0. 0. cm
/gps/pos/radius 3. mm
/gps/pos/sigma_r 0. mm
/gps/particle proton
/gps/pos/type Beam
# the incident surface is in the y-z plane
/gps/pos/rot1 0 1 0
/gps/pos/rot2 0 0 1
# the beam energy is in gaussian profile
#
/gps/ene/type Gauss
/gps/energy 62 MeV
/gps/ene/sigma 400 keV
/gps/direction 1 0 0
####################################
# Change Phantom/Detector geometry #
####################################