Geant4 version 10 of the simulation code for the GRIFFIN array and it's suite of ancillary detection systems.
C++MIT
detectorSimulations_v10
The detectorSimulations_v10 package contains the Geant4 simulations for GRIFFIN, TIGRESS, and all of their auxiliary detectors. Please note that in order to respect our non-disclosure agreements, all source containing third party IP have been omitted from this repo, and can be obtained from your colleagues directly at the lab.
Release
version
DOI
1.0.0
Setup
Requirements
detectorSimulations is confirmed to run on geant4.10.02 and ROOT 6.04.00. Do not use geant4.10.01 as it has a bug in the gamma de-excitation (see issue #35).
There is a new branch geant4.10.04, which was used to compile the simulation sucessfully against geant4.10.01.p01 (using ROOT 6.10/08). The main (untested) change to the branch is the removal of the explicit use of the obsolete G4FermiBreakup model in PhysListHadon. It has only been tested (so far) with a simulation of one million gamma rays of 1000 keV using only GRIFFIN (with 20 mm delrin). See also issue #40.
Getting the code
To setup the simulation package on a computer with GEANT4 already present, just copy the code to your machine:
Then you'll need to get the files containing our NDA-protected parameters. To do this register on gitlab.com, have your account added to the GRIFFINCollaboration, and register your ssh-keys with gitlab. Then you can run the script SetupSuppressed.sh (in the detectorSimulation_v10 folder). This script can either be run as is, which will install the suppressed files in a sub-folder "suppressed" and create symbolic links in the src directory, or you can give it the path of the directory where you want the suppressed files installed (this directory has to be empty!).
Building
The build process is pretty standard for a geant simulation; in a build directory (ie any clean new directory that isn't the source directory), do
cmake path/to/detectorSimulations
make clean
make
Keep in mind that cmake does not regenerate all the files it uses every time it runs! So if something changes and this build process suddenly fails, try deleting the build directory and starting over.
Setup FAQ
Yes, you need both the secret suppressed files AND their unsuppressed equivalents, not just either / or.
Usage
The following might be out of date with the change to geant4.10, we haven't had time yet to verify the information below.
Particle Emission
General
Command
Brief Description
Default
/DetSys/gun/energy double unit
Set energy of particle
1000 keV
/DetSys/gun/particle string
Set particle type (e-, e+, gamma, proton, alpha)
gamma
/DetSys/gun/ion Z A E
Set ion type (excitation energy E in keV)
/DetSys/gun/direction x y z
Set momentum direction
/DetSys/gun/position x y z unit
Set particle position
0.0 0.0 0.0 mm
/DetSys/gun/radius r unit
Set source radius
0.0 mm
/DetSys/gun/energyrange min max step
Set energy (keV) of particle, loops from min to max
Decay Schemes
Command
Brief Description
Default
/DetSys/gun/betaPlusEmission filename
Simulate beta plus decay with energy distribution input file
/DetSys/gun/betaMinusEmission filename
Simulate beta negative decay with energy distribution input file
/DetSys/gun/polarization double
Set Polarization of Nuclei (before radioactiveBetaDecay)
/DetSys/gun/radioactiveBetaDecay directory
Simulate complete beta negative decay with simulation directory
/DetSys/gun/emitBetaParticle 0/1
Emit Beta Particle? True/False
/DetSys/gun/includeXRayInputFileKShell 0/1
Emit X-rays from K-shell vacancies using input file? True/False
/DetSys/gun/includeXRayInputFileLShell 0/1
Emit X-rays from L-shell vacancies using input file? True/False
/DetSys/gun/includeXRayInputFileMShell 0/1
Emit X-rays from M-shell vacancies using input file? True/False
/DetSys/gun/radioactiveDecayHalflife double
Half-life of radioactive isotope simulation (seconds)
/DetSys/gun/numberOfRadioactiveNuclei int
Set the number of radioactive nuclei
/DetSys/gun/radioactiveSourceDecay filename
Simulate source decay with a file containing the decay data
Kinematics
Whenever an electron or positron is emitted, you can choose to simulate kinematic effects (i.e. shifting of energy due to relativistic speeds of ions). You must specify the ion with /DetSys/gun/ion Z A E first.
Command
Brief Description
Default
/DetSys/gun/simulateKinematics 0/1
Choose to simulate kinematic effects
False
/DetSys/gun/kinematicsBetaValue double*
Specify beta value of incident ion
0
/DetSys/gun/kinematicsIonEnergy double unit*
Specify energy of heavy ion
0 MeV
*Only one of these should be specified
Detector Specific
GRIFFIN
Command
Brief Description
Default
/DetSys/det/addGriffinForward int
Add Detection System GriffinForward
/DetSys/det/addGriffinForwardDetector int
Add GriffinForward Detector
/DetSys/det/addGriffinBack int
Add Detection System GriffinBack
/DetSys/det/addGriffinBackDetector int
Add GriffinBack Detector
/DetSys/det/UseTIGRESSPositions
Use TIGRESS detector positions rather than GRIFFIN
False
------
----------------
------
/DetSys/det/addGriffinCustomDetector 0
Adds a detector using the paramaters specified
/DetSys/det/SetCustomShieldsPresent 0/1
Selects whether or not the detector suppressors are included
True
/DetSys/det/SetCustomRadialDistance double unit
Selects the radial distance for the detector from the origin
Sets the dead layer and position for the detector placed in the next call to addGriffinCustom
/DetSys/det/includeGriffinHevimet 0/1
Includes the Hevimet for a Griffin detector
False
/DetSys/det/addGriffinCustom int
Adds a detection system using the paramaters specified
SPICE
Command
Brief Description
Default
/DetSys/app/addSpiceTargetChamber string
Add SPICE target chamber*
/DetSys/Spice/setResolution double double
Set resolution of SPICE Si(Li)
/DetSys/det/addSpice int
Add Si(Li) detector
/DetSys/det/addS3
Add SPICE S3 detector
8PI
Command
Brief Description
Default
/DetSys/det/add8pi int
Add Detection System 8pi
/DetSys/det/add8piDetector int
Add 8pi Detector
/DetSys/app/add8piVacuumChamber
Add 8pi vacuum chamber
/DetSys/app/add8piVacuumChamberAuxMatShell double unit
Add AuxMat shell around 8pi vacuum chamber with specified thickness
Other
Command
Brief Description
Default
/DetSys/det/addGammaTracking int
Add Detection System GammaTracking
/DetSys/det/addSodiumIodide int
Add Detection System SodiumIodide
/DetSys/det/addLanthanumBromide int
Add Detection System LanthanumBromide
/DetSys/det/addSceptar int
Add Detection System Sceptar
/DetSys/det/addPaces int
Add Detection System Paces
Detector General
/DetSys/det/update must be called before using beamOn if the geometrical values
have been altered.
World Volume (i.e. experimental hall)
Command
Brief Description
Default
/DetSys/world/material string
Select material for the world
G4_AIR
/DetSys/world/dimensions x y z unit
Set world dimensions
10m x 10m x 10m
/DetSys/world/vis 0/1
Set world visibility (depreciated)
False
Generic Target
Command
Brief Description
Default
/DetSys/app/genericTarget string
Create a target with specified material
/DetSys/app/genericTargetDimensions x y z unit
Set target dimensions
/DetSys/app/genericTargetPosition x y z unit
Set target position
Requires all three commands to build
Field Box
Command
Brief Description
Default
/DetSys/app/fieldBoxMaterial string
Create a field box with specified material
/DetSys/app/fieldBoxDimensions x y z unit
Set field box dimensions
/DetSys/app/fieldBoxPosition x y z unit
Set field box position
/DetSys/app/fieldBoxMagneticField x y z unit
Set field box magnetic field
Requires all four commands to build
Box
Command
Brief Description
Default
/DetSys/det/boxMat string
Set box material
G4_WATER
/DetSys/det/boxThickness double unit
Set box thickness
0.0 mm
/DetSys/det/boxInnerDimensions x y z unit
Set box inner dimensions
0.0 0.0 0.0 mm
/DetSys/det/boxColour r g b
Set box colour
0.0 0.0 1.0
/DetSys/det/addBox
Build/add box (if thickness is not 0)
Grid
Command
Brief Description
Default
/DetSys/det/gridMat string
Set grid material
G4_WATER
/DetSys/det/gridSize double unit
Set grid size
0.0 mm
/DetSys/det/gridDimensions x y z unit
Set grid dimensions
0.0 0.0 0.0 mm
/DetSys/det/gridColour r g b
Set grid colour
1.0 0.0 0.0
/DetSys/det/addGrid
Build/add grid (if grid size is not 0)
Magnetic Fields
Command
Brief Description
Default
/DetSys/world/magneticField x y z unit
Set world magnetic field (depreciated)
0, 0, 0
/DetSys/world/tabMagneticField filename
Set tabulated magnetic field*
Disabled
/DetSys/gun/coneRadius radius unit
Set cone radius
*Used for SPICE: these files are 50Mb each and are different for each lens so until a better solution comes along they will be kept on the network at TRIUMF (email Mohamad, Lee, or Michael for precise location)