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.
version | DOI |
---|---|
1.0.0 |
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.
To setup the simulation package on a computer with GEANT4 already present, just copy the code to your machine:
git clone https://github.com/GRIFFINCollaboration/detectorSimulations_v10.git
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!).
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.
- Yes, you need both the secret suppressed files AND their unsuppressed equivalents, not just either / or.
The following might be out of date with the change to geant4.10, we haven't had time yet to verify the information below.
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 |
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 |
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
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 | |
/DetSys/det/SetCustomExtensionSuppressorLocation 0/1 |
Selects a position for the extension suppressors. Either forward (0) or back (1) | Forward (0) |
/DetSys/det/SetCustomDeadLayer det_num pos_num null |
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 |
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 |
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 |
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 |
/DetSys/det/update
must be called before using beamOn
if the geometrical values
have been altered.
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 |
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 |
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 |
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) |
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) |
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)
Command | Brief Description | Default |
---|---|---|
|
||
|
||
|
||
|