Table of Contents
Geant4 List of Commands
Introduction
The Geant4 application EF10 contained in the docker image permits a two-steps simulation:
- The generation of isotopes
- The diffusion of isotopes
The application can be launched via the command
./eff10_mod [macro_file] [--primaries] [physics_list_name]
where
[macro_file]
is the name of the macro with the setup commands
[–primaries]
is the option to switch to the simulation of isotopes production
[physics_list_name]
is the optional name of the list of physics processes you want to use for the simulation of isotopes production
List of Commands
Physics List
The physics list can be modified at the command launch.
The default physics list is FTFP_BERT
The available physics lists are:
FTFP_BERT FTFP_BERT_TRV FTFP_BERT_ATL FTFP_BERT_HP FTFQGSP_BERT FTFP_INCLXX FTFP_INCLXX_HP FTF_BIC LBE QBBC QGSP_BERT QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP QGSP_BIC_AllHP QGSP_FTFP_BERT QGSP_INCLXX QGSP_INCLXX_HP QGS_BIC Shielding ShieldingLEND ShieldingM NuBeam
At the end of the physics list name, the following suffixes change the electromagnetic part of the physics list, e.g. QGSP_INCLXX_EMX
:
_EMV _EMX _EMY _EMZ _LIV _PEN __GS __SS
The descriptions of the hadronic and electromagnetic models used in the physics list can be retrieved from the Geant4 source code or the Geant4 user guide
Target
Several target parameters can be modified via macro commands. Those commands affect all the simulations.
Temperature
/det/setTemperature [double] [unit]
Set the temperature of the target. Kelvin is the standard unit of measure.
Disk Material
/det/setTargetMaterial [string]
Set the target material.
UCx
is the default material. Otherwise, a material in the Geant4 NIST database can be used. Other materials will be added in future releases.
Number of Disks
/det/setNumberOfDisks [int]
By default, the number of the disks is 7
.
Set the number of disk in the target
Disk Density
/det/setTargetDensity [double] [unit]
Set the disk material density. Default unit is g/cm3.
By default, the disk material density is 4.0 g/cm3
.
Box Starting Point
/det/setBoxInit [double] [unit]
Set the starting point of the envelope box. Default unit is cm.
By default, the starting point of the envelope box is -10.702 cm
.
Box Ending Point
/det/setBoxEnd [double] [unit]
Set the ending point of the envelope box. Default unit is cm.
By default, the starting point of the envelope box is 9.448 cm
.
Disk Radius
/det/setTargetRadius [double] [unit]
Set the disk radius. The radius is the same for each disk. Default unit is cm.
By default, the disk radius is 2.00 cm
.
Disk Position
/det/setDiskPositionX [double] [unit]
Set the position of the X
disk, where X
spans from 1
to the number of disk set. Default unit is cm.
By default, the positions of the disks are:
-6.682 cm -5.052 cm -3.322 cm -1.592 cm +0.938 cm +3.568 cm +5.498 cm
Disk Thickness
/det/setDiskThicknessX [double] [unit]
Set the thickness of the X
disk, where X
spans from 1
to the number of disk set. Default unit is cm.
By default, the thickness for all the disks is 0.08 cm
.
Beam
The beam parameters affect only the simulation of isotopes production. The Geant4 General Particle Source (GPS) commands can be used to setup the beam.
Examples
Primary Generation
#set the number of thread to be used in the calculation /run/numberOfThreads 1 #set the random seeds /random/setSeeds 8904138 1546569 #set the temperature of the disks /det/setTemperature 2000 kelvin #set the number of disks /det/setNumberOfDisks 7 #set the disk material /det/setTargetMaterial UC4 #set the density of the target material /det/setTargetDensity 4.0 g/cm3 #set the init of the envelope /det/setBoxInit -10.702 cm #set the end of the envelope /det/setBoxEnd 9.448 cm #set the radius of the disks /det/setTargetRadius 2.0 cm #set the position of the disks /det/setDiskPosition1 -6.682 cm /det/setDiskPosition2 -5.052 cm /det/setDiskPosition3 -3.322 cm /det/setDiskPosition4 -1.592 cm /det/setDiskPosition5 +0.938 cm /det/setDiskPosition6 +3.568 cm /det/setDiskPosition7 +5.498 cm #set the thickness of the disks /det/setDiskThickness1 0.08 cm /det/setDiskThickness2 0.08 cm /det/setDiskThickness3 0.08 cm /det/setDiskThickness4 0.08 cm /det/setDiskThickness5 0.08 cm /det/setDiskThickness6 0.08 cm /det/setDiskThickness7 0.08 cm #initialise the geometry and the physics tables /run/initialize #set the beam parameters /gps/particle proton /gps/time 0.0 ns /gps/energy 40 MeV /gps/direction 0 0 1 /gps/ang/type focused /gps/pos/type Point /gps/pos/centre 0. 0. -15. cm #run the code /run/beamOn 6242000000
Isotope Diffusion
#set the number of thread to be used in the calculation /run/numberOfThreads 1 #set the random seeds /random/setSeeds 8904138 1546569 #set the temperature of the disks /det/setTemperature 2000 kelvin #set the number of disks /det/setNumberOfDisks 7 #set the disk material /det/setTargetMaterial UC4 #set the density of the target material /det/setTargetDensity 4.0 g/cm3 #set the init of the envelope /det/setBoxInit -10.702 cm #set the end of the envelope /det/setBoxEnd 9.448 cm #set the radius of the disks /det/setTargetRadius 2.0 cm #set the position of the disks /det/setDiskPosition1 -6.682 cm /det/setDiskPosition2 -5.052 cm /det/setDiskPosition3 -3.322 cm /det/setDiskPosition4 -1.592 cm /det/setDiskPosition5 +0.938 cm /det/setDiskPosition6 +3.568 cm /det/setDiskPosition7 +5.498 cm #set the thickness of the disks /det/setDiskThickness1 0.08 cm /det/setDiskThickness2 0.08 cm /det/setDiskThickness3 0.08 cm /det/setDiskThickness4 0.08 cm /det/setDiskThickness5 0.08 cm /det/setDiskThickness6 0.08 cm /det/setDiskThickness7 0.08 cm #initialise the geometry and the physics tables /run/initialize #set the beam parameters /gps/particle ion /gps/ion 36 80 /gps/time 0.0 ns /gps/energy 0.24210389477849997 eV /gps/ang/type iso /gps/pos/type Volume /gps/pos/shape Cylinder #the ion starts from disk1 /gps/pos/halfz 0.04 cm /gps/pos/radius 2.00 cm /gps/pos/centre 0. 0. -6.682 cm #run the code /run/beamOn 41
Output
Primary Generation
The output is a single file named isotope_table.dat
The file contains two columns separated by commas:
- The first column is a unique key identifying the atomic number (
ZZZ
) the atomic mass number (AAA
) and the disk (X
), in the formXAAAZZZ
. - The second column is the number of isotopes generated.
A typical output would be:
1148059 , 10 1096040 , 17 1082034 , 14 1138054 , 25 1092039 , 15 1136053 , 23 1098041 , 35
Isotope Diffusion
The output is a series of files named output_nt_detector_tY.csv
, where Y
is the thread number that spans from 0 to the maximum number of thread used minus one.
The file contains three columns separated by commas:
- The first column is the release time in seconds.
- The second column is the atomic mass number.
- The third column is the atomic number.
The symbol for comment is #
.
A typical output would be:
#class tools::wcsv::ntuple #title Detector hits #separator 44 #vector_separator 59 #column double t #column double A #column double Z 0.0160635,94,37 3.99183,94,38 0.180522,94,37 0.87909,94,37
Log File
After the initialisation of the physics lista and the detector geometry, each thread starts processing the particles assigned to it. When a thread starts the execution, the following line is printed
G4WT10 > ### Run 0 starts on worker thread 10.
where G4WT10
stands for Geant4 Working Thread 10.
When an event starts on a thread, the following line is printed:
G4WT37 > --> Event 0 starts with initial seeds (13049039,61775110).
where 37
is the number of thread, 0
is the event number and (13049039,61775110)
are the random seeds.
The line is printed every 100 events and the distribution of the events among the threads is not sequential, e.g.:
G4WT13 > --> Event 80600 starts with initial seeds (6519702,53088888). G4WT29 > --> Event 51300 starts with initial seeds (83578766,80435366). G4WT22 > --> Event 22000 starts with initial seeds (65123969,63355841).