G4RiversideCASCADE is an extension for Geant4 that simulates de-excitation following thermal neutron capture. It models the process of randomly moving down the level structure of isotopes according to branching ratios, emitting gamma rays based on energy differences between levels. The level structure and branching ratios for each isotope are stored in the "CapGamData" database.
This version of G4RiversideCASCADE is designed for Geant4-10.7.4. Compatability with other versions is not guaranteed.
This tutorial assumes basic knowledge of Linux/Unix and Geant4. If you have never used Geant4 before, try running some of the centrally provided example code before using G4RiversideCASCADE. Tutorials on how to do this can be found online.
- Source the Configuration File: Before using G4RiversideCASCADE, source the file
configCASCADE.sh. - Set Environment Variables: Ensure the environment variable
CAPGAM_DATA_DIRis set to the correct location ofCapGamData.
/process/had/particle_hp/use_CASCADE [true/false]: Tells Geant to use CASCADE. If set to false, the default Geant methods will be used./process/had/particle_hp/use_raw_excitation [true/false]: Sets the value ofG4NEUTRONHP_USE_RAW_EXCITATION. For best relative intensity agreement, set to false./process/had/particle_hp/do_unplaced [true/false]: Sets the value ofG4NEUTRONHP_DO_UNPLACED. For best relative intensity agreement, set to false.
- Ensure the example uses the high-precision neutron capture model (HP). Otherwise G4RiversideCASCADE will not be used.
- Run the example as you normally would in its directory.
- Copy the example directory (e.g.,
examples/extended/hadronic/Hadr03) to a different directory where it can be modified. - Place all the files from G4RiversideCASCADE’s
srcfolder into the/srcdirectory of the example. - Place all the files from G4RiversideCASCADE’s
includefolder into the/includedirectory of the example. - Compile the example by navigating to the main example directory (e.g.,
Hadr03) and running the commandmake. The example should automatically compile the new files and use them instead of the default Geant files.
- Place all the files from G4RiversideCASCADE’s
srcfolder into the/srcdirectory of your project and ensure this directory is properly included inCMakeLists.txt. - Place all the files from G4RiversideCASCADE’s
includefolder into the/includedirectory and ensure this directory is included inCMakeLists.txt. - Make sure your project uses a physics list that includes the high-precision neutron capture model.
- Build and compile your project with G4RiversideCASCADE using CMake.
- Check G4RiversideCASCADE's agreement/accuracy for the isotope(s) you're simulating.
- To prevent CASCADE from simulating a certain isotope, remove that isotope’s file from
CapGamData. Geant4 will then use its default methods to simulate neutron capture for this isotope.
Each file in CapGamData contains serialized binary data that describes a 3D vector of doubles which encodes the nuclear level structure of the post-capture isotope. Each 2D vector in the 3D vector represents a level, with the first element of the first array being the energy of that level. Each 1D vector within each 2D vector represents a transition on that level, with the first element being the level to go to, the second element being the branching ratio, and the third element being the type of transition:
- 0 = no emission (not in current CASCADE version, but in older versions)
- 1 = gamma
- 2 = electron
- -1 = unplaced gamma
- -2 = unplaced electron
- -3 = transition using photon evaporation
The elements of each array are preceded by the size of the array in the .bin file. There is a diagram in the “Supplemental” folder to help visualize the way the level structure is encoded into the 3D vector and binary file. More information on this diagram can be found in the README file in the Supplemental folder.
G4NEUTRONHP_USE_CASCADE: Set to1(true) to use G4RiversideCASCADE.G4NEUTRONHP_USE_RAW_EXCITATION: Set to1(true) to use the excitation energy of the nucleus post-capture as in G4ParticleHPCaptureFS plus a correction factor. Set to0(false) for a fixed excitation energy.G4NEUTRONHP_DO_UNPLACED: Set to1(true) to simulate unplaced gammas in the ENSDF nuclear level structure. This will require the use of Photon Evaporation to de-excite further. Set to0(false) to ignore unplaced gammas.CAPGAM_DATA_DIR: Set the directory of the CapGamData database.
For information about how to manually modify the database and for documentation of G4RiversideCASCADE’s effectiveness for all available isotopes (except 17-36), see the Supplemental folder and its README file.
For more information about G4RiversideCASCADE, contact Leo Weimer at ljw00010 [at] mix.wvu.edu.
Thank you to Shawn Westerdale, Michela Lai, Emma Ellingwood, Luis Sarmiento Pico, Ryan Krismer, and many others from DEAP-3600, Darkside 20k, and CERN for helping develop and test this code.