User Tools

Site Tools


cn:csn5:isolpharm_ag:computing:geant4_list_of_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
cn:csn5:isolpharm_ag:computing:geant4_list_of_commands [2018/09/17 09:20] – [Isotope Diffusion] bagli@infn.itcn:csn5:isolpharm_ag:computing:geant4_list_of_commands [2018/09/17 09:21] (current) – [Isotope Diffusion] bagli@infn.it
Line 1: Line 1:
 +====== 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
 +
 +<code>./eff10_mod [macro_file] [--primaries] [physics_list_name]</code>
 +
 +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:
 +<code>
 +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
 +</code>
 +At the end of the physics list name, the following suffixes change the electromagnetic part of the physics list, e.g. ''QGSP_INCLXX_EMX'':
 +<code>
 +_EMV
 +_EMX
 +_EMY
 +_EMZ
 +_LIV
 +_PEN
 +__GS
 +__SS
 +</code>
 +
 +The descriptions of the hadronic and electromagnetic models used in the physics list can be retrieved from the [[https://github.com/Geant4/geant4|Geant4 source code]] or the [[http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/PhysicsReferenceManual/html/index.html|Geant4 user guide]]
 +
 +==== Target ====
 +Several target parameters can be modified via macro commands. Those commands affect all the simulations.
 +
 +
 +== Temperature ==
 +<code>/det/setTemperature [double] [unit]</code>
 +
 +Set the temperature of the target.
 +Kelvin is the standard unit of measure.
 +
 +== Disk Material ==
 +<code>/det/setTargetMaterial [string]</code>
 +
 +Set the target material.
 +''UCx'' is the default material. Otherwise, a material in the [[http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/ForApplicationDeveloper/html/Appendix/materialNames.html#g4matrdb|Geant4 NIST]] database can be used. Other materials will be added in future releases.
 +
 +== Number of Disks ==
 +<code>/det/setNumberOfDisks [int]</code>
 +
 +By default, the number of the disks is ''7''.
 +
 +
 +Set the number of disk in the target
 +
 +== Disk Density ==
 +<code>/det/setTargetDensity [double] [unit]</code>
 +
 +Set the disk material density. Default unit is g/cm3.
 +
 +By default, the disk material density is ''4.0 g/cm3''.
 +
 +== Box Starting Point ==
 +<code>/det/setBoxInit [double] [unit]</code>
 +
 +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 ==
 +<code>/det/setBoxEnd [double] [unit]</code>
 +
 +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 ==
 +<code>/det/setTargetRadius [double] [unit]</code>
 +
 +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 ==
 +<code>/det/setDiskPositionX [double] [unit]</code>
 +
 +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:
 +<code>
 +-6.682 cm
 +-5.052 cm
 +-3.322 cm
 +-1.592 cm
 ++0.938 cm
 ++3.568 cm
 ++5.498 cm
 +</code>
 +
 +== Disk Thickness ==
 +<code>/det/setDiskThicknessX [double] [unit]</code>
 +
 +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 [[http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/ForApplicationDeveloper/html/GettingStarted/generalParticleSource.html|Geant4 General Particle Source (GPS) commands]] can be used to setup the beam.
 +
 +===== Examples =====
 +
 +==== Primary Generation ====
 +
 +<code>
 +#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
 +</code>
 +
 +==== Isotope Diffusion ====
 +
 +<code>
 +#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
 +</code>
 +
 +
 +====== 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 form ''XAAAZZZ''.
 +  - The second column is the number of isotopes generated.
 +
 +A typical output would be:
 +<code>
 +1148059 , 10
 +1096040 , 17
 +1082034 , 14
 +1138054 , 25
 +1092039 , 15
 +1136053 , 23
 +1098041 , 35
 +</code>
 +
 +==== 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:
 +<code>
 +#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
 +</code>
 +
 +
 +
 +
 +
 +====== 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
 +
 +<code>
 +G4WT10 > ### Run 0 starts on worker thread 10.
 +</code>
 +
 +where ''G4WT10'' stands for Geant4 Working Thread 10.
 +
 +When an event starts on a thread, the following line is printed:
 +<code>
 +G4WT37 > --> Event 0 starts with initial seeds (13049039,61775110).
 +</code>
 +
 +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.:
 +<code>
 +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).
 +</code>
  
cn/csn5/isolpharm_ag/computing/geant4_list_of_commands.txt · Last modified: 2018/09/17 09:21 by bagli@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki