# INFN wiki

### Sidebar

cn:csn5:isolpharm_ag:computing:geant4_list_of_commands

# Geant4 List of Commands

## Introduction

The Geant4 application EF10 contained in the docker image permits a two-steps simulation:

1. The generation of isotopes
2. 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.

/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

#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

#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

#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

#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/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:

1. The first column is a unique key identifying the atomic number (ZZZ) the atomic mass number (AAA) and the disk (X), in the form XAAAZZZ.
2. 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:

1. The first column is the release time in seconds.
2. The second column is the atomic mass number.
3. 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).