Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
@@ -1,25 +0,0 @@
///\file "radioactivedecay/.README.txt"
///\brief Examples radioactivedecay README page
/*! \page Examples_radioactivedecay Category "radioactivedecay"
Examples in this directory demonstrate the use of some features of the
Radioactive-Decay hadronic model in Geant4.
\link Examplerdecay01 rdecay01 \endlink
This example allows to display basic features of the radioactive decay
of a nuclei: energy spectrum of emitted particles, time of life, activity.
\link Examplerdecay02 rdecay02 \endlink
This example illustrates more advanced features of the package:
selected decay channels, time window, bias and variance reduction technique.
\link ExampleActivation Activation \endlink
Compute and plot time evolution of each nuclide in an hadronic cascade.
Compute and plot activity of emerging particles.
*/
@@ -25,11 +25,6 @@
//
/// \file Activation.cc
/// \brief Main program of the radioactivedecay/Activation example
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ActionInitialization.hh"
#include "DetectorConstruction.hh"
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-03-ref-06 (30-June-2025)
Geant4 version Name: geant4-11-04-ref-00 (5-December-2025)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -86,7 +86,7 @@ Lowest muon/hadron kinetic energy 1 keV
Use ICRU90 data 0
Fluctuations of dE/dx are enabled 1
Type of fluctuation model for leptons and hadrons Universal
Use built-in Birks satuaration 0
Use built-in Birks saturation 0
Build CSDA range enabled 0
Use cut as a final range enabled 0
Enable angular generator interface 0
@@ -182,36 +182,36 @@ Index : 1 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1000
User=0.060000s Real=0.060633s Sys=0.000000s
User=0.050000s Real=0.051822s Sys=0.000000s
The run is 1000 neutron of 25 meV through 1 cm of G4_Co (density: 8.9 g/cm3 )
Process calls frequency :
NoProcess= 1105 RadioactiveDecay= 3429 Rayl= 52
Transportation= 13236 annihil= 27 compt= 1501
conv= 29 eIoni= 4965 hadElastic= 155
ionIoni= 2636 msc= 593 nCapture= 950
phot= 158
NoProcess= 1113 RadioactiveDecay= 3424 Rayl= 56
Transportation= 13286 annihil= 34 compt= 1432
conv= 37 eIoni= 4969 hadElastic= 163
ionIoni= 2640 msc= 674 nCaptureHP= 950
phot= 149
List of generated particles (with meanLife != 0):
Co59: 155 Emean = 35.504 meV ( 0.021479 meV --> 164.63 meV) stable
Co60: 949 Emean = 97.24 eV ( 30.755 meV --> 506.18 eV ) mean life = 7.6098 y
Co60[58.590]: 582 Emean = 254.75 eV ( 6.8923 eV --> 505 eV ) mean life = 15.101 min
Co59: 163 Emean = 33.116 meV ( 1.4324 meV --> 200.6 meV) stable
Co60: 947 Emean = 91.658 eV ( 30.755 meV --> 495.51 eV ) mean life = 7.6098 y
Co60[58.590]: 580 Emean = 254.92 eV ( 3.6139 eV --> 505.72 eV ) mean life = 15.101 min
Ni60: 950 Emean = 15.907 eV ( 15.907 eV --> 15.907 eV ) stable
anti_nu_e: 950 Emean = 219.7 keV ( 21.084 keV --> 1.1105 MeV) stable
e+: 29 Emean = 1.6925 MeV ( 282.63 keV --> 4.1111 MeV) stable
e-: 3207 Emean = 304.33 keV ( 4.0223 eV --> 6.9829 MeV) stable
gamma: 5254 Emean = 1.8064 MeV ( 13.022 eV --> 7.4914 MeV) stable
anti_nu_e: 950 Emean = 220.34 keV ( 14.806 keV --> 1.0802 MeV) stable
e+: 37 Emean = 1.7955 MeV ( 259.93 keV --> 4.3086 MeV) stable
e-: 3131 Emean = 327.9 keV ( 77.771 eV --> 7.2066 MeV) stable
gamma: 5262 Emean = 1.8065 MeV ( 58.59 keV --> 7.4329 MeV) stable
Mean energy deposit per event = 959.25 keV rms = 1.1706 MeV
Mean energy flow per event = 8.8306 MeV rms = 2.3312 MeV
Mean energy deposit per event = 991.8 keV rms = 1.2384 MeV
Mean energy flow per event = 8.7971 MeV rms = 2.3588 MeV
List of particles emerging from the target :
anti_nu_e: 950 Emean = 219.7 keV ( 21.084 keV --> 1.1105 MeV) Eflow/event = 208.72 keV
e+: 2 Emean = 812.75 keV ( 322.67 keV --> 1.3028 MeV) Eflow/event = 1.6255 keV
e-: 44 Emean = 1.4348 MeV ( 53.541 keV --> 4.8392 MeV) Eflow/event = 63.129 keV
gamma: 5067 Emean = 1.6888 MeV ( 58.59 keV --> 7.4914 MeV) Eflow/event = 8.5572 MeV
neutron: 50 Emean = 26.802 meV ( 13.373 meV --> 44.165 meV) Eflow/event = 1.3401 meV
anti_nu_e: 950 Emean = 220.34 keV ( 14.806 keV --> 1.0802 MeV) Eflow/event = 209.32 keV
e+: 3 Emean = 1.7541 MeV ( 1.0797 MeV --> 3.0605 MeV) Eflow/event = 5.2622 keV
e-: 59 Emean = 1.4749 MeV ( 69.515 keV --> 5.1248 MeV) Eflow/event = 87.022 keV
gamma: 5076 Emean = 1.6737 MeV ( 58.59 keV --> 7.4329 MeV) Eflow/event = 8.4955 MeV
neutron: 50 Emean = 25.669 meV ( 11.365 meV --> 49.029 meV) Eflow/event = 1.2835 meV
histo Id for populations :
Co59 id = 27
@@ -222,7 +222,7 @@ Run Summary
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 904182171, 944670533
Current couple of seeds = 510735494, 887148807
----------------------------------------
================== Deleting memory pools ===================
Number of memory pools allocated: 10 of which, static: 0
@@ -4,6 +4,9 @@ See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top). It must **not**
be used as a substitute for writing good git commit messages!
## 2025-10-29 Michel Maire (activation-V11-03-01)
- GammaNuclearPhysics.cc: use G4GammaNuclearXS dataset
## 2025-05-20 Michel Maire (activation-V11-03-00)
- Activation.cc - SetUseNRESP71Model(true)
@@ -1,166 +0,0 @@
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Activation
----------
Survey energy deposition and particle's flux from an hadronic cascade,
including radioactive decays.
The main purpose of the example is to plot evolution of each metastable isomer
as a function of time, taking into account the time of exposure in the beam.
Also plot the activity of emerging particles.
Use PhysicsConstructor objects rather than predefined G4 PhysicsLists.
1- MATERIALS AND GEOMETRY DEFINITION
The "absorber" is a box made of a given material.
Three parameters define the absorber :
- the material of the absorber
- the thickness of an absorber
- the transverse size of the absorber (the input face is a square)
The volume "World" contains the "absorber".
A function, and its associated UI command, allows to build a material
directly from a single isotope.
To be identified by the ThermalScattering module, the elements composing a
material must have a specific name (see G4ParticleHPThermalScatteringNames.cc)
Examples of such materials are build in DetectorConstruction::DefineMaterials().
2- PHYSICS LIST
The physics list contains a "full" set of physics processes. It is defined in
the PhysicsList class as a Geant4 modular physics list with registered physics
constructors (builders).
Physics constructors are either constructors provided in Geant4 (with G4 prefix)
or 'local'. They include : HadronElastic, HadronInelastic, IonsInelastic, GammaNuclear,
RadioactiveDecay and Electomagnetic.
(see geant4/source/physics_lists/constructors)
HadronElasticPhysicsHP include a model for thermalized neutrons, under the control of a command
defined in NeutronHPMesseger.
GammmaNuclearPhysics is a subset of G4BertiniElectroNuclearBuilder.
ElectromagneticPhysics is a simplified version of G4EmStandardPhysics.
Several hadronic physics options are controlled by environment variables.
To select them, see Activation.cc
3- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic is a single particle which hits the absorber
perpendicular to the input face. The type of particle and its energy are
set in the PrimaryGeneratorAction class, and can be changed via the G4
build-in commands of G4ParticleGun class
(see the macros provided with this example).
One can control the transverse size of the beam.
The command /testhadr/gun/beamSize is built in PrimaryGeneratorMessenger class.
The time of exposure in the beam may be finite. It is controled by the command
/testhadr/gun/beamTime.
Then the time zero of each event is randomly chosen within this interval.
4- PHYSICS
The program computes and plots energy deposited in the interaction volume
(absorber), energy spectrum and activity of particles leaving the absorber,
and evolution of population of metastable isomers within the absorber
(see below : histograms).
Processes invoked and particles generated during interactions are listed.
5- HISTOGRAMS
The test contains 43 built-in 1D histograms, which are managed by
G4AnalysisManager and its Messenger. The histos can be individually
activated with the command :
/analysis/h1/set id nbBins valMin valMax unit
where unit is the desired unit for the histo (MeV or keV, etc..)
(see the macros xxxx.mac).
1 "total energy deposit"
2 "Edep (MeV/mm) profile along beam direction"
3 "total kinetic energy emerging"
4 "energy spectrum of emerging gamma"
5 "energy spectrum of emerging e+-"
6 "energy spectrum of emerging neutrons"
7 "energy spectrum of emerging protons"
8 "energy spectrum of emerging deuterons"
9 "energy spectrum of emerging alphas"
10 "energy spectrum of all others emerging ions"
11 "energy spectrum of all others emerging baryons"
12 "energy spectrum of all others emerging mesons"
13 "energy spectrum of all others emerging leptons (neutrinos)"
14 "dN/dt (becquerel) of emerging gamma"
15 "dN/dt (becquerel) of emerging e+-"
16 "dN/dt (becquerel) of emerging neutrons"
17 "dN/dt (becquerel) of emerging protons"
18 "dN/dt (becquerel) of emerging deuterons"
19 "dN/dt (becquerel) of emerging alphas"
20 "dN/dt (becquerel) of all others emerging ions"
21 "dN/dt (becquerel) of all others emerging baryons"
22 "dN/dt (becquerel) of all others emerging mesons"
23 "dN/dt (becquerel) of all others emerging leptons (neutrinos)"
Histograms 24 to 43 are assigned to population of metastable isomer.
Here, ´metastable' means time life > 0.
The type and number of isomers created in a run cannot be predicted in advance.
Therefore the assignation : isomer <--> histo_Id is done on fly
and printed at end of run. A lock mechanism is necessary in MT mode; see Run.cc
Activation and binning control of histograms is done with the usual command
/analysis/h1/set
One can control the name of the histograms file with the command:
/analysis/setFileName name (default Activation)
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
All selected histos will be written on a file name.ascii (default Activation)
6- VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands
/vis/... in the macro vis.mac. To get visualisation:
> /control/execute vis.mac
The tracks are drawn at the end of event, and erased at the end of run.
gamma green
neutron yellow
negative particles (e-, ...) red
positive particles (e+, ions, ...) blue
7- HOW TO START ?
Execute Activation in 'batch' mode from macro files :
% ./Activation run.mac
% ./Activation Activation.in > Activation.out
Execute Activation in 'interactive mode' with visualization :
% ./Activation
Idle> control/execute debug.mac
....
Idle> type your commands
....
Idle> exit
Macros provided in this example:
- Bi209.mac: neutron (25 meV) on 10 cm of Bi209
- Co60.mac: neutron (25 meV) on 1 cm of Cobalt.
- run.mac: simplified Co60.mac (no beam time, no histograms)
Macros to be run interactively:
- vis.mac: To activate visualization
- debug.mac: 1 neutron (25 meV) on Cobalt. Visualization and tracking/verbose
@@ -1,9 +1,4 @@
///\file "radioactivedecay/Activation/.README.txt"
///\brief Example Activation README page
/*! \page ExampleActivation Example Activation
\page ExampleActivation Example Activation
Survey energy deposition and particle's flux from an hadronic cascade,
including radioactive decays.
@@ -12,7 +7,7 @@
Also plot the activity of emerging particles.
Use PhysicsConstructor objects rather than predefined G4 PhysicsLists.
\section Activation_s1 MATERIALS AND GEOMETRY DEFINITION
## MATERIALS AND GEOMETRY DEFINITION
The "absorber" is a box made of a given material.
@@ -30,7 +25,7 @@
material must have a specific name (see G4ParticleHPThermalScatteringNames.cc)
Examples of such materials are build in DetectorConstruction::DefineMaterials().
\section Activation_s2 PHYSICS LIST
## PHYSICS LIST
The physics list contains a "full" set of physics processes. It is defined in
the PhysicsList class as a Geant4 modular physics list with registered physics
@@ -51,7 +46,7 @@
Several hadronic physics options are controlled by environment variables.
To select them, see Activation.cc
\section Activation_s3 AN EVENT : THE PRIMARY GENERATOR
## AN EVENT : THE PRIMARY GENERATOR
The primary kinematic is a single particle which hits the absorber
perpendicular to the input face. The type of particle and its energy are
@@ -61,18 +56,18 @@
One can control the transverse size of the beam.
The command
\verbatim
```
/testhadr/gun/beamSize
\endverbatim
```
is built in PrimaryGeneratorMessenger class.
The time of exposure in the beam may be finite. It is controled by the command
\verbatim
```
/testhadr/gun/beamTime.
\endverbatim
```
Then the time zero of each event is randomly chosen within this interval.
\section Activation_s4 PHYSICS
## PHYSICS
The program computes and plots energy deposited in the interaction volume
(absorber), energy spectrum and activity of particles leaving the absorber,
@@ -80,40 +75,40 @@
(see below : histograms).
Processes invoked and particles generated during interactions are listed.
\section Activation_s5 HISTOGRAMS
## HISTOGRAMS
The test contains 43 built-in 1D histograms, which are managed by
G4AnalysisManager and its Messenger. The histos can be individually
activated with the command :
\verbatim
```
/analysis/h1/set id nbBins valMin valMax unit
\endverbatim
```
where unit is the desired unit for the histo (MeV or keV, etc..)
(see the macros xxxx.mac).
1 "total energy deposit"
2 "Edep (MeV/mm) profile along beam direction"
3 "total kinetic energy emerging"
4 "energy spectrum of emerging gamma"
5 "energy spectrum of emerging e+-"
6 "energy spectrum of emerging neutrons"
7 "energy spectrum of emerging protons"
8 "energy spectrum of emerging deuterons"
9 "energy spectrum of emerging alphas"
10 "energy spectrum of all others emerging ions"
11 "energy spectrum of all others emerging baryons"
12 "energy spectrum of all others emerging mesons"
13 "energy spectrum of all others emerging leptons (neutrinos)"
14 "dN/dt (becquerel) of emerging gamma"
15 "dN/dt (becquerel) of emerging e+-"
16 "dN/dt (becquerel) of emerging neutrons"
17 "dN/dt (becquerel) of emerging protons"
18 "dN/dt (becquerel) of emerging deuterons"
19 "dN/dt (becquerel) of emerging alphas"
20 "dN/dt (becquerel) of all others emerging ions"
21 "dN/dt (becquerel) of all others emerging baryons"
22 "dN/dt (becquerel) of all others emerging mesons"
23 "dN/dt (becquerel) of all others emerging leptons (neutrinos)"
- 1 : "total energy deposit"
- 2 : "Edep (MeV/mm) profile along beam direction"
- 3 : "total kinetic energy emerging"
- 4 : "energy spectrum of emerging gamma"
- 5 : "energy spectrum of emerging e+-"
- 6 : "energy spectrum of emerging neutrons"
- 7 : "energy spectrum of emerging protons"
- 8 : "energy spectrum of emerging deuterons"
- 9 : "energy spectrum of emerging alphas"
- 10: "energy spectrum of all others emerging ions"
- 11: "energy spectrum of all others emerging baryons"
- 12: "energy spectrum of all others emerging mesons"
- 13: "energy spectrum of all others emerging leptons (neutrinos)"
- 14: "dN/dt (becquerel) of emerging gamma"
- 15: "dN/dt (becquerel) of emerging e+-"
- 16: "dN/dt (becquerel) of emerging neutrons"
- 17: "dN/dt (becquerel) of emerging protons"
- 18: "dN/dt (becquerel) of emerging deuterons"
- 19: "dN/dt (becquerel) of emerging alphas"
- 20: "dN/dt (becquerel) of all others emerging ions"
- 21: "dN/dt (becquerel) of all others emerging baryons"
- 22: "dN/dt (becquerel) of all others emerging mesons"
- 23: "dN/dt (becquerel) of all others emerging leptons (neutrinos)"
Histograms 24 to 43 are assigned to population of metastable isomer.
Here, ´metastable' means time life > 0.
@@ -123,57 +118,57 @@
and printed at end of run. A lock mechanism is necessary in MT mode; see Run.cc
Activation and binning control of histograms is done with the usual command
\verbatim
```
/analysis/h1/set
\endverbatim
```
One can control the name of the histograms file with the command:
\verbatim
```
/analysis/setFileName name (default Activation)
\endverbatim
```
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
\verbatim
```
/analysis/h1/setAscii id
\endverbatim
```
All selected histos will be written on a file name.ascii (default Activation)
\section Activation_s6 VISUALIZATION
## VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands
/vis/... in the macro vis.mac. To get visualisation:
\verbatim
```
> /control/execute vis.mac
\endverbatim
```
The tracks are drawn at the end of event, and erased at the end of run.
gamma green
neutron yellow
negative particles (e-, ...) red
positive particles (e+, ions, ...) blue
- gamma green
- neutron yellow
- negative particles (e-, ...) red
- positive particles (e+, ions, ...) blue
\section Activation_s7 HOW TO START ?
## HOW TO START ?
Execute Activation in 'batch' mode from macro files :
\verbatim
```
% ./Activation run.mac
% ./Activation Activation.in > Activation.out
\endverbatim
```
Execute Activation in 'interactive mode' with visualization :
\verbatim
```
% ./Activation
Idle> control/execute debug.mac
....
Idle> type your commands
....
Idle> exit
\endverbatim
```
Macros provided in this example:
- Bi209.mac: neutron (25 meV) on 10 cm of Bi209
@@ -182,5 +177,4 @@ Idle> exit
Macros to be run interactively:
- vis.mac: To activate visualization
- debug.mac: 1 neutron (25 meV) on Cobalt. Visualization and tracking/verbose
*/
- debug.mac: 1 neutron (25 meV) on Cobalt. Visualization and tracking/verbose
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
@@ -25,10 +25,6 @@
//
/// \file DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef DetectorMessenger_h
#define DetectorMessenger_h 1
@@ -25,10 +25,6 @@
//
/// \file ElectromagneticPhysics.hh
/// \brief Definition of the ElectromagneticPhysics class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef ElectromagneticPhysics_h
#define ElectromagneticPhysics_h 1
@@ -25,10 +25,6 @@
//
/// \file EventAction.hh
/// \brief Definition of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef EventAction_h
#define EventAction_h 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file hadronic/Hadr03/include/GammaNuclearPhysics.hh
/// \file GammaNuclearPhysics.hh
/// \brief Definition of the GammaNuclearPhysics class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef GammaNuclearPhysics_h
#define GammaNuclearPhysics_h 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file hadronic/Hadr03/include/GammaNuclearPhysicsLEND.hh
/// \brief Definition of the GammaNuclearPhysics class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \file GammaNuclearPhysicsLEND.hh
/// \brief Definition of the GammaNuclearPhysicsLEND class
#ifndef GammaNuclearPhysicsLEND_h
#define GammaNuclearPhysicsLEND_h 1
@@ -25,9 +25,6 @@
//
/// \file HadronElasticPhysicsHP.hh
/// \brief Definition of the HadronElasticPhysicsHP class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HadronElasticPhysicsHP_h
#define HadronElasticPhysicsHP_h 1
@@ -25,10 +25,6 @@
//
/// \file HistoManager.hh
/// \brief Definition of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoManager_h
#define HistoManager_h 1
@@ -25,8 +25,6 @@
//
/// \file PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
//
#ifndef PhysicsList_h
#define PhysicsList_h 1
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PrimaryGeneratorAction_h
#define PrimaryGeneratorAction_h 1
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorMessenger.hh
/// \brief Definition of the PrimaryGeneratorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PrimaryGeneratorMessenger_h
#define PrimaryGeneratorMessenger_h 1
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \file RadioactiveDecayPhysics.hh
/// \brief Definition of the RadioactiveDecayPhysics class
#ifndef RadioactiveDecayPhysics_h
#define RadioactiveDecayPhysics_h 1
@@ -25,10 +25,6 @@
//
/// \file Run.hh
/// \brief Definition of the Run class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Run_h
#define Run_h 1
@@ -25,10 +25,6 @@
//
/// \file RunAction.hh
/// \brief Definition of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef RunAction_h
#define RunAction_h 1
@@ -25,10 +25,6 @@
//
/// \file SteppingAction.hh
/// \brief Definition of the SteppingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef SteppingAction_h
#define SteppingAction_h 1
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TrackingAction_h
#define TrackingAction_h 1
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorConstruction.hh"
@@ -25,10 +25,6 @@
//
/// \file DetectorMessenger.cc
/// \brief Implementation of the DetectorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorMessenger.hh"
@@ -25,10 +25,6 @@
//
/// \file ElectromagneticPhysics.cc
/// \brief Implementation of the ElectromagneticPhysics class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ElectromagneticPhysics.hh"
@@ -25,10 +25,6 @@
//
/// \file EventAction.cc
/// \brief Implementation of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "EventAction.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file hadronic/Hadr03/src/GammaNuclearPhysics.cc
/// \file GammaNuclearPhysics.cc
/// \brief Implementation of the GammaNuclearPhysics class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "GammaNuclearPhysics.hh"
@@ -37,9 +34,9 @@
// Processes
#include "G4CascadeInterface.hh"
#include "G4GammaNuclearXS.hh"
#include "G4HadronInelasticProcess.hh"
#include "G4LowEGammaNuclearModel.hh"
#include "G4PhotoNuclearCrossSection.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -52,7 +49,7 @@ void GammaNuclearPhysics::ConstructProcess()
{
G4HadronInelasticProcess* process =
new G4HadronInelasticProcess("photonNuclear", G4Gamma::Definition());
process->AddDataSet(new G4PhotoNuclearCrossSection);
process->AddDataSet(new G4GammaNuclearXS);
// to not register a model, set Emax=0; eg. Emax1 = 0.
const G4double Emax1 = 200 * MeV, Emax2 = 10 * GeV;
@@ -23,13 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file hadronic/Hadr03/src/GammaNuclearPhysicsLEND.cc
/// \file GammaNuclearPhysicsLEND.cc
/// \brief Implementation of the GammaNuclearPhysicsLEND class
//
// $Id: GammaNuclearPhysics.cc 66587 2012-12-21 11:06:44Z ihrivnac $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "GammaNuclearPhysicsLEND.hh"
@@ -24,12 +24,8 @@
// ********************************************************************
//
/// \file HadronElasticPhysicsHP.cc
/// \brief Definition of the HadronElasticPhysicsHP class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \brief Implementation of the HadronElasticPhysicsHP class
//
// HP models for neutron < 20 MeV
#include "HadronElasticPhysicsHP.hh"
@@ -25,10 +25,6 @@
//
/// \file HistoManager.cc
/// \brief Implementation of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "HistoManager.hh"
@@ -25,9 +25,6 @@
//
/// \file PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysicsList.hh"
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PrimaryGeneratorAction.hh"
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorMessenger.cc
/// \brief Implementation of the PrimaryGeneratorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PrimaryGeneratorMessenger.hh"
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \file RadioactiveDecayPhysics.cc
/// \brief Implementation of the RadioactiveDecayPhysics class
#include "RadioactiveDecayPhysics.hh"
@@ -24,11 +24,7 @@
// ********************************************************************
//
/// \file Run.cc
/// \brief Implementation of the Run class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \brief Implementation of the oooOO0OOooo::Run class
#include "Run.hh"
@@ -25,10 +25,6 @@
//
/// \file RunAction.cc
/// \brief Implementation of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "RunAction.hh"
@@ -25,10 +25,6 @@
//
/// \file SteppingAction.cc
/// \brief Implementation of the SteppingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "SteppingAction.hh"
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.cc
/// \brief Implementation of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "TrackingAction.hh"
@@ -5,6 +5,11 @@ which **must** added in reverse chronological order (newest at the top). It must
be used as a substitute for writing good git commit messages!
## 2025-07-30 I. Hrivnacova (exRadioactiveDecay-V11-03-00)
- Migration of README pages to Markdown:
- .README.txt replaced with README.md and removed README
- Improved formatting
## 2023-11-15 I. Hrivnacova (exRadioactiveDecay-V11-01-00)
- Updated vis.mac macros:
- Changed "/vis/open XYZ [600x600-0+0]" to "/vis/open" to allow run-time choices
@@ -1,24 +1,20 @@
Geant4 extended examples - radioactive decay
--------------------------------------------
\page Examples_radioactivedecay Category "radioactivedecay"
Examples in this directory demonstrate the use of some features of the
Radioactive-Decay hadronic model in Geant4.
rdecay01
--------
\ref Examplerdecay01
This example allows to display basic features of the radioactive decay
of a nuclei: energy spectrum of emitted particles, time of life, activity.
rdecay02
--------
\ref Examplerdecay02
This example illustrates more advanced features of the package:
selected decay channels, time window, bias and variance reduction technique.
Activation
----------
\ref ExampleActivation
Compute and plot time evolution of each nuclide in an hadronic cascade.
Compute and plot activity of emerging particles.
@@ -1,154 +0,0 @@
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
rdecay01
--------
Survey G4RadioactiveDecay process. See Physics Reference Manual, chapter 36.
See also http://ie.lbl.gov/decay.html
1- Geometry construction
---------------------
It is a simple box which represente an 'infinite' homogeneous medium.
2- Physics list
------------
PhysicsList.cc defines only G4RadioactiveDecay, G4Transportation processes,
and relevant particle definitions.
Therefore, once created, particles or ions travel as geantino.
3- Primary generator
-----------------
Default kinematic is an ion (Ne24), at rest, at coordinate origin.
Can be changed with particleGun commands.
4- Physics
-------
As said above, all particles and ions behave as geantino, eg. no energy loss.
A flag, /rdecay01/fullChain (true or false), allows to limit to
single decay or full decay chain (default).
In case of full decay chain, G4TrackStatus of ions is set to fStopButAlive
in order to force decay at rest.
In case of single decay, G4TrackStatus of secondary ion is set to fStopAndKill.
At each decay, one counts and plots energy spectrum of created particles and
ions, and energy-momentum balance of that decay.
Total time of life of decay chain is plotted. Activity is computed.
The command /rdecay01/timeWindow allows to survey activity of each nuclide in a specified
time window [t1,t2] : population at t1 and t2, nb of decays within [t1,t2], mean activity.
See timeWindow.mac
Few macros are given in example. Debug.mac is to be run in interactive mode.
4-a User data files
-------------------
Users can redefine RadioactiveDecay and PhotonEvaporation data, via commands:
/grdm/setRadioactiveDecayFile
/grdm/setPhotoEvaporationFile
Examples of such files are given in subdirectory UserData.
Formats are described in readme
Examples in macros Cf238.mac and No252.mac
4-b example of biasing
----------------------
macro timeWindowBiased.mac illustrates one of the biasing capabilities of the
radioactiveDecay package. Ca47 is "forced" to decay within 20 days
(eg. 1728000 seconds in data file).
It is instructive to plot time of life (histo 8) with and without the weight of the track:
see lines 189/190 of TrackingAction.cc
And also to compare with analog decay mode : comment out /grdm/ commands in the macro.
5- Visualisation
-------------
Visualization Manager is set in the main().
Initialisation of the drawing is done via the commands
/vis/.. in the macro vis.mac. This macro is automatically read from the main
in case of interactive running mode.
e- red
e+ blue
nu_e white
anti_nu_e white
gamma green
alpha yellow
GenericIon grey
6- How to start ?
--------------
- Execute rdecay01 in 'batch' mode from macro files
% rdecay01 singleDecay.mac
% rdecay01 rdecay01.in > rdecay01.out
- Execute rdecay01 in 'interactive mode' with visualization
% rdecay01
....
Idle> ---> type your commands. For instance:
Idle> /control/execute debug.mac
....
Idle> /run/beamOn 1
....
Idle> exit
Macros provided in this example:
- Co60.mac: Co60
- Gd158.mac: Gd158 excited state
- No158.mac: read user data file
- Po212.mac: Po212 excited state
- Ra228.mac: Ra228 excited state
- alpha.mac: Po212 alpha decay
- atomicDeexcitation.mac: plot Auger cascade
- fullChain.mac: U238
- neutron.mac: Li10 neutron emission
- proton.mac: Co53 proton emission
- singleDecay.mac: Ne10
- timeWindow.mac: print activity within a given time window
- timeWindowBiased.mac: force decay within a given time window
Macros to be run interactively:
- Cf238.mac: read user data file
- debug.mac: Pb210
- electronicCapture.mac: Fe55 electronic capture
- vis.mac: To activate visualization
7- Histograms
----------
rdecay01 produces several 1D histograms which are saved as
rdecay01.root by default.
1 : energy spectrum: e+ e-
2 : energy spectrum: nu_e anti_nu_ev
3 : energy spectrum: gamma
4 : energy spectrum: alpha
5 : energy spectrum: ions
6 : total kinetic energy (Q)
7 : momentum balance
8 : total time of life of decay chain
9 : total visible energy
The histograms are managed by G4AnalysisManager and its Messenger.
The histos can be individually activated with the command :
/analysis/h1/set id nbBins valMin valMax unit
where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
One can control the name of the histograms file with the command:
/analysis/setFileName name (default rdecay1)
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
All selected histos will be written on a file name.ascii (default rdecay1)
@@ -1,35 +1,31 @@
///\file "radioactivedecay/rdecay01/.README.txt"
///\brief Example rdecay01 README page
/*! \page Examplerdecay01 Example rdecay01
\page Examplerdecay01 Example rdecay01
Survey G4RadioactiveDecay process. See Physics Reference Manual, chapter 36.
See also http://ie.lbl.gov/decay.html
\section rdecay01_s1 Geometry construction
## Geometry construction
It is a simple box which represente an 'infinite' homogeneous medium.
\section rdecay01_s2 Physics list
## Physics list
PhysicsList.cc defines only G4RadioactiveDecay, G4Transportation processes,
PhysicsList defines only G4RadioactiveDecay, G4Transportation processes,
and relevant particle definitions.
Therefore, once created, particles or ions travel as geantino.
\section rdecay01_s3 Primary generator
## Primary generator
Default kinematic is an ion (Ne24), at rest, at coordinate origin.
Can be changed with particleGun commands.
\section rdecay01_s4 Physics
## Physics
As said above, all particles and ions behave as geantino, eg. no energy loss.
A flag:
\verbatim
```
/rdecay01/fullChain (true or false)
\endverbatim
```
allows to limit to single decay or full decay chain (default).
In case of full decay chain, G4TrackStatus of ions is set to fStopButAlive
in order to force decay at rest.
@@ -41,27 +37,27 @@ allows to limit to single decay or full decay chain (default).
Total time of life of decay chain is plotted. Activity is computed.
The command
\verbatim
```
/rdecay01/timeWindow
\endverbatim
```
allows to survey activity of each nuclide in a specified
time window [t1,t2] : population at t1 and t2, nb of decays within [t1,t2], mean activity.
See timeWindow.mac
Few macros are given in example. Debug.mac is to be run in interactive mode.
\section rdecay01_s5 User data files
## User data files
Users can redefine RadioactiveDecay and PhotonEvaporation data, via commands:
\verbatim
```
/grdm/setRadioactiveDecayFile
/grdm/setPhotoEvaporationFile
\endverbatim
```
Examples of such files are given in subdirectory UserData. \n
Formats are described in readme \n
Examples in macros Cf238.mac and No252.mac
\section rdecay01_s6 example of biasing
## example of biasing
macro timeWindowBiased.mac illustrates one of the biasing capabilities of the
radioactiveDecay package. Ca47 is forced to decay within 20 days
@@ -69,9 +65,9 @@ allows to limit to single decay or full decay chain (default).
It is instructive to plot time of life (histo 8) with and without the weight of the track:
see line 189/190 of TrackingAction.cc
And also to compare with analog decay mode : comment out /grdm/ commands in the macro.
\section rdecay01_s7 Visualisation
## Visualisation
Visualization Manager is set in the main () (see rdecay01.cc).
Visualization Manager is set in main().
Initialisation of the drawing is done via the commands
/vis/.. in the macro vis.mac. This macro is automatically read from the main
in case of interactive running mode.
@@ -84,17 +80,17 @@ allows to limit to single decay or full decay chain (default).
- alpha yellow
- GenericIon grey
\section rdecay01_s8 How to start ?
## How to start ?
- Execute rdecay01 in 'batch' mode from macro files
\verbatim
% rdecay01 singleDecay.mac
% rdecay01 rdecay01.in > rdecay01.out
\endverbatim
```
% ./rdecay01 singleDecay.mac
% ./rdecay01 rdecay01.in > rdecay01.out
```
- Execute rdecay01 in 'interactive mode' with visualization
\verbatim
% rdecay01
```
% ./rdecay01
....
Idle> ---> type your commands. For instance:
Idle> /control/execute debug.mac
@@ -102,7 +98,7 @@ Idle> /control/execute debug.mac
Idle> /run/beamOn 1
....
Idle> exit
\endverbatim
```
Macros provided in this example:
- Co60.mac: Co60
@@ -125,7 +121,7 @@ Idle> exit
- electronicCapture.mac: Fe55 electronic capture
- vis.mac: To activate visualization
\section rdecay01_s9 Histograms
## Histograms
rdecay01 produces several 1D histograms which are saved as
rdecay01.root by default.
@@ -142,23 +138,21 @@ Idle> exit
The histograms are managed by G4AnalysiManager and its Messenger.
The histos can be individually activated with the command :
\verbatim
```
/analysis/h1/set id nbBins valMin valMax unit
\endverbatim
```
where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
One can control the name of the histograms file with the command:
\verbatim
```
/analysis/setFileName name (default rdecay1)
\endverbatim
```
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
\verbatim
```
/analysis/h1/setAscii id
\endverbatim
```
All selected histos will be written on a file name.ascii (default rdecay1)
*/
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
@@ -25,10 +25,6 @@
//
/// \file EventAction.hh
/// \brief Definition of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef EventAction_h
#define EventAction_h 1
@@ -25,10 +25,6 @@
//
/// \file HistoManager.hh
/// \brief Definition of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoManager_h
#define HistoManager_h 1
@@ -25,10 +25,6 @@
//
/// \file PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysicsList_h
#define PhysicsList_h 1
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PrimaryGeneratorAction_h
#define PrimaryGeneratorAction_h 1
@@ -25,10 +25,6 @@
//
/// \file Run.hh
/// \brief Definition of the Run class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Run_h
#define Run_h 1
@@ -25,10 +25,6 @@
//
/// \file RunAction.hh
/// \brief Definition of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef RunAction_h
#define RunAction_h 1
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TrackingAction_h
#define TrackingAction_h 1
@@ -25,10 +25,6 @@
//
/// \file TrackingMessenger.hh
/// \brief Definition of the TrackingMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TrackingMessenger_h
#define TrackingMessenger_h 1
@@ -25,11 +25,6 @@
//
/// \file rdecay01.cc
/// \brief Main program of the radioactivedecay/rdecay01 example
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ActionInitialization.hh"
#include "DetectorConstruction.hh"
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-03-ref-06 (30-June-2025)
Geant4 version Name: geant4-11-04-ref-00 (5-December-2025)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -116,7 +116,7 @@ Step# X Y Z KineE dEStep StepLeng T
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000878s Sys=0.000000s
User=0.000000s Real=0.002324s Sys=0.000000s
======================== run summary ======================
The run was 1 Co60 of 0 eV
@@ -190,7 +190,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100000
User=0.470000s Real=0.469320s Sys=0.000000s
User=0.440000s Real=0.446223s Sys=0.000000s
======================== run summary ======================
The run was 100000 Co60 of 0 eV
@@ -264,7 +264,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100000
User=1.040000s Real=1.048726s Sys=0.000000s
User=1.040000s Real=1.038794s Sys=0.000000s
======================== run summary ======================
The run was 100000 Co60 of 0 eV
@@ -275,7 +275,7 @@ Run Summary
Co60: 100000 Emean = 0 eV ( 0 eV --> 0 eV ) mean life = 7.61 y
Ni60: 100000 Emean = 15.91 eV ( 15.91 eV --> 41.74 eV ) stable
Ni60[1332.514]: 99999 Emean = 12.34 eV ( 1.227 eV --> 30.74 eV )
Ni60[2158.632]: 16 Emean = 1.27 eV ( 1.079 eV --> 4.13 eV )
Ni60[2158.632]: 16 Emean = 1.27 eV ( 1.079 eV --> 4.128 eV )
Ni60[2505.753]: 99884 Emean = 1.47 eV ( 2.394 meV --> 3.687 eV )
anti_nu_e: 100000 Emean = 217.8 keV ( 3.332 keV --> 1.483 MeV) stable
e-: 100030 Emean = 97.45 keV ( 524.8 meV --> 1.36 MeV) stable
@@ -346,7 +346,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100000
User=0.810000s Real=0.836070s Sys=0.020000s
User=0.780000s Real=0.804824s Sys=0.030000s
======================== run summary ======================
The run was 100000 Ca47 of 0 eV
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorConstruction.hh"
@@ -25,10 +25,6 @@
//
/// \file EventAction.cc
/// \brief Implementation of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "EventAction.hh"
@@ -25,10 +25,6 @@
//
/// \file HistoManager.cc
/// \brief Implementation of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "HistoManager.hh"
@@ -25,8 +25,6 @@
//
/// \file PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysicsList.hh"
@@ -25,10 +25,7 @@
//
/// \file PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PrimaryGeneratorAction.hh"
#include "G4Event.hh"
@@ -25,10 +25,6 @@
//
/// \file Run.cc
/// \brief Implementation of the Run class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Run.hh"
@@ -25,10 +25,6 @@
//
/// \file RunAction.cc
/// \brief Implementation of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "RunAction.hh"
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.cc
/// \brief Implementation of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "TrackingAction.hh"
@@ -25,10 +25,6 @@
//
/// \file TrackingMessenger.cc
/// \brief Implementation of the TrackingMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "TrackingMessenger.hh"
@@ -1,215 +0,0 @@
///\file "radioactivedecay/rdecay02/.README.txt"
///\brief Example rdecay02 README page
/*! \page Examplerdecay02 Example rdecay02
Rdecay02 is created to show how to use the G4RadioactiveDecay process to
simulate the decays of radioactive isotopes as well as the induced
radioactivity resulted from nuclear interactions.
In this example a simple geometry consists of a cylindric target placed
in the centre of a tube detector. Various primary event generation and
tallying options are available.
\section rdecay02_s1 GEOMETRY
The world is filled with "Air" and there are two components in it:
- Target: A cylinder placed at the origin along the z-axis. The default
size of the cylinder is 0.5 cm radius and 1 cm length, and its default
material is "CsI".
- Detector: A tube centered at the origin along the z-axis, with inner
radius matching the radius of the target. The default thickness of the
tube is 2 cm and it is 5 cm long. The default material is "Germanium".
The user can change the target/detector size and material, using the
commands in the directory
\verbatim
/rdecay02/det
\endverbatim
\section rdecay02_s2 PHYSICS
The following physics processes are included by default:
- Standard electromagnetic
- Decay
- Radioactive Decay
By default radioactive decay is applied through out the geometry.
The user can limit it to just the target by commands :
/process/had/rdm/noVolumes
/process/had/rdm/selectVolume Target
- Hadronic processes
\section rdecay02_s3 EVENT: THE PRIMARY GENERATOR
The primary kinematic is a single particle or ion shooted at the
centre of the target. The type of the particle and its energy are set in
PrimaryGeneratorAction, and can be changed via the G4 build-in commands of
ParticleGun class (see the macros provided with this example).
Default is Ne24, at rest.
\section rdecay02_s4 DETECTOR RESPONSE
The relevant informations are collected in TrackingAction or
SteppingAction. These include:
- Emission particles in the RadioactiveDecay process:
particle PDGcode,
particle kinetic energy,
particle creation time,
particle weight.
Note: the residual nuclei is not considered as an emitted particle.
- Radio-Isotopes. All the radioactive isotopes produced in the simulation:
isotope PDGcode,
isotope creation time,
isotope weight.
- Energy depositions in the target and detector by prodicts of the
RadioactiveDecay process:
energy depostion (positive value for target and negative for detector),
time,
weight.
\section rdecay02_s5 HISTOGRAMS
The test contains 7 built-in 1D histograms, which are managed by
G4AnalysisManager and its Messenger. The histos can be individually
activated with the command :
\verbatim
/analysis/h1/set id nbBins valMin valMax unit
\endverbatim
where unit is the desired unit for the histo (MeV or keV, etc..)
(see the macros xxxx.mac).
histogram 0: The Pulse Height Spectrum (PHS) of the target.
histogram 1: The PHS of the detector.
histogram 2: The combined PHS of the target and detector.
histogram 3: The anti-coincidece PHS of the target.
histogram 4: The anti-coincidece PHS of the detector.
histogram 5: The coincidece PHS between the target and detector.
histogram 6: The emitted particle energy spectrum.
It is assumed the detector and target pulses both have an integration time
of 1 microsecond, and the gate is 2 microsecond for the coincidence spectrum.
The target and detctor have a threshold of 10 keV in the anti-/coincidence
modes.
HistoManager includes also 4 ntuples whose contents are described in the above paragraphe
(detector response)
The ntuples can be activated with the command
\verbatim
/analysis/ntuple/setActivation
\endverbatim
One can control the name of the analysis file with the command:
\verbatim
/analysis/setFileName name (default rdecay02)
\endverbatim
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
\verbatim
/analysis/h1/setAscii id
\endverbatim
All selected histos will be written on a file name.ascii (default rdecay02)
\section rdecay02_s6 VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands
/vis/... in the macro vis.mac. To get visualisation:
\verbatim
> /control/execute vis.mac
\endverbatim
The tracks are drawn at the end of event, and erased at the end of run.
gamma green
neutron yellow
negative particles (e-, ...) red
positive particles (e+, ions, ...) blue
\section rdecay02_s7 HOW TO START ?
Execute rdecay02 in 'batch' mode from macro files :
\verbatim
% rdecay02 run.mac
\endverbatim
Execute rdecay02 in 'interactive mode' with visualization :
\verbatim
% rdecay02
Idle> control/execute debug.mac
....
Idle> type your commands
....
Idle> exit
\endverbatim
run.mac : decay of Ne24. A run of 1000 events
debug.mac: interactively. One Ne24 decay,
with visualization and tracking/verbose
\section rdecay02_s8 FURTHER EXAMPLES
There are a number of macros files in the ./macros subdirectory, to show
the features of the G4RadioactiveDecay process. Most of them will lead to
the creation of an root file in the same name of the macro file.
u238c.mac: shows the decays of the U238 chain in analogue MC mode.
th234c-b.mac: shows the decays of Th234 in variance reduction MC mode.
All its secondaies in along the decay chains are generated. The default
source profile and decay biasing schemes are used to determine the decay
times and weights of the secondaries.
proton.mac: simulation of 1 GeV protons incident on a lead target.
The decays of the radio-siotopes created in the proton-lead interactions
are simulated with RadioactiveDecay in analogue MC mode.
proton-beam.mac: same as proton.mac, but the decays of the radio-siotopes
created in the proton-lead interactions are simulated with
RadioactiveDecay in variance reduction MC mode. The isotopes and those
along the decay chains are forced to decay in the time windows specified
by the user in file measures.data, and the weights of the decay products
are determined by the beam profile as defined in the beam.data file and
their decay times.
neutron.mac: macrofile to show the incident of low energy neutrons on an
user specified NaI target and the decays of the induced radio-isotopes.
ne24.mac: this shows the decays of Ne-24 to Na-24 in variance reduction MC
mode. Further decays of Na-24 are not simulated by applying the
nucleuslimits in RadioactiveDecay. Two runs are carried out.
One with the bracjing ratio biasing applied and one without.
isotopes.mac: to show the decays of a number of different isotopes in a
single macro file.
f24.mac: to show the different treatments one can apply to the decays of F24.
i) the complete decay chain from F24 to Mg24, in analogue mode;
ii) the complete chain, but in variance reduction mode;
iii) restrict to the decay of F24 only in analogue mode; iv) restrict to
the decay of F24 only but in variance reduction mode.
as74.mac: The decays of As74 which has a rather complicated decay scheme.
i) in analogue MC mode;
ii) in variance reduction MC mode.
UserRadDataPb210Test.mac: show how the user can define its own radioactive
decay datafile
UserEvapDataBiTest.mac: show how the user can define its own
photo-evaporation datafile
No252.mac: show how to simulate Radoactive decay for nuclei with Z>100
based on user datafile
*/
@@ -1,212 +0,0 @@
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
rdecay02
--------
Rdecay02 is created to show how to use the G4RadioactiveDecay process to
simulate the decays of radioactive isotopes as well as the induced
radioactivity resulted from nuclear interactions.
In this example a simple geometry consists of a cylindric target placed
in the centre of a tube detector. Various primary event generation and
tallying options are available.
1. GEOMETRY
The world is filled with "Air" and there are two components in it:
- Target: A cylinder placed at the origin along the z-axis. The default
size of the cylinder is 0.5 cm radius and 1 cm length, and its default
material is "CsI".
- Detector: A tube centered at the origin along the z-axis, with inner
radius matching the radius of the target. The default thickness of the
tube is 2 cm and it is 5 cm long. The default material is "Germanium".
The user can change the target/detector size and material, using the
commands in the directory /rdecay02/det
2. PHYSICS
The following physics processes are included by default:
- Standard electromagnetic
- Decay
- Radioactive Decay
By default radioactive decay is applied through out the geometry.
The user can limit it to just the target by commands :
/process/had/rdm/noVolumes
/process/had/rdm/selectVolume Target
- Hadronic processes
3. AN EVENT: THE PRIMARY GENERATOR
The primary kinematic is a single particle or ion shooted at the
centre of the target. The type of the particle and its energy are set in
PrimaryGeneratorAction, and can be changed via the G4 build-in commands of
ParticleGun class (see the macros provided with this example).
Default is Ne24, at rest.
4. DETECTOR RESPONSE
The relevant informations are collected in TrackingAction or
SteppingAction. These include:
- Emission particles in the RadioactiveDecay process:
particle PDGcode,
particle kinetic energy,
particle creation time,
particle weight.
Note: the residual nuclei is not considered as an emitted particle.
- Radio-Isotopes. All the radioactive isotopes produced in the simulation:
isotope PDGcode,
isotope creation time,
isotope weight.
- Energy depositions in the target and detector by prodicts of the
RadioactiveDecay process:
energy depostion (positive value for target and negative for detector),
time,
weight.
5. HISTOGRAMS
The test contains 7 built-in 1D histograms, which are managed by
G4AnalysisManager and its Messenger. The histos can be individually
activated with the command :
/analysis/h1/set id nbBins valMin valMax unit
where unit is the desired unit for the histo (MeV or keV, etc..)
(see the macros xxxx.mac).
histogram 0: The Pulse Height Spectrum (PHS) of the target.
histogram 1: The PHS of the detector.
histogram 2: The combined PHS of the target and detector.
histogram 3: The anti-coincidece PHS of the target.
histogram 4: The anti-coincidece PHS of the detector.
histogram 5: The coincidece PHS between the target and detector.
histogram 6: The emitted particle energy spectrum.
It is assumed the detector and target pulses both have an integration time
of 1 microsecond, and the gate is 2 microsecond for the coincidence spectrum.
The target and detctor have a threshold of 10 keV in the anti-/coincidence
modes.
Initially, all histograms but histogram 6 are inactive. They can all be turned on
with the command
/analysis/h1/setActivationToAll true
or specific histograms can be turned on with the command
/analysis/h1/setActivation i true
where i is the histogram index (0,... n).
To turn off, set the final argument to false
HistoManager includes also 4 ntuples whose contents are described in the above paragraphe
(detector response)
The ntuples can be activated with the command /analysis/ntuple/setActivation
One can control the name of the analysis file with the command:
/analysis/setFileName name (default rdecay02)
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
/analysis/h1/setAscii id
All selected histos will be written on a file name.ascii (default rdecay02)
6. VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands
/vis/... in the macro vis.mac. To get visualisation:
> /control/execute vis.mac
The tracks are drawn at the end of event, and erased at the end of run.
gamma green
neutron yellow
negative particles (e-, ...) red
positive particles (e+, ions, ...) blue
7. HOW TO START ?
Execute rdecay02 in 'batch' mode from macro files :
% rdecay02 run.mac
Execute rdecay02 in 'interactive mode' with visualization :
% rdecay02
Idle> control/execute debug.mac
....
Idle> type your commands
....
Idle> exit
run.mac : decay of Ne24. A run of 1000 events
debug.mac: interactively. One Ne24 decay,
with visualization and tracking/verbose
8. FURTHER EXAMPLES
There are a number of macros files in the ./macros subdirectory, to show
the features of the G4RadioactiveDecay process. Most of them will lead to
the creation of an root file in the same name of the macro file.
u238c.mac: shows the decays of the U238 chain in analogue MC mode.
th234c-b.mac: shows the decays of Th234 in variance reduction MC mode.
All its secondaies in along the decay chains are generated. The default
source profile and decay biasing schemes are used to determine the decay
times and weights of the secondaries.
proton.mac: simulation of 1 GeV protons incident on a lead target.
The decays of the radio-siotopes created in the proton-lead interactions
are simulated with RadioactiveDecay in analogue MC mode.
proton-beam.mac: same as proton.mac, but the decays of the radio-siotopes
created in the proton-lead interactions are simulated with
RadioactiveDecay in variance reduction MC mode. The isotopes and those
along the decay chains are forced to decay in the time windows specified
by the user in file measures.data, and the weights of the decay products
are determined by the beam profile as defined in the beam.data file and
their decay times.
neutron.mac: macrofile to show the incident of low energy neutrons on an
user specified NaI target and the decays of the induced radio-isotopes.
ne24.mac: this shows the decays of Ne-24 to Na-24 in variance reduction MC
mode. Further decays of Na-24 are not simulated by applying the
nucleuslimits in RadioactiveDecay. Two runs are carried out.
One with the bracjing ratio biasing applied and one without.
isotopes.mac: to show the decays of a number of different isotopes in a
single macro file.
f24.mac: to show the different treatments one can apply to the decays of F24.
i) the complete decay chain from F24 to Mg24, in analogue mode;
ii) the complete chain, but in variance reduction mode;
iii) restrict to the decay of F24 only in analogue mode; iv) restrict to
the decay of F24 only but in variance reduction mode.
as74.mac: The decays of As74 which has a rather complicated decay scheme.
i) in analogue MC mode;
ii) in variance reduction MC mode.
UserRadDataPb210Test.mac: show how the user can define its own radioactive
decay datafile
UserEvapDataBiTest.mac: show how the user can define its own
photo-evaporation datafile
No252.mac: show how to simulate Radoactive decay for nuclei with Z>100
based on user datafile
@@ -0,0 +1,223 @@
\page Examplerdecay02 Example rdecay02
Rdecay02 is created to show how to use the G4RadioactiveDecay process to
simulate the decays of radioactive isotopes as well as the induced
radioactivity resulted from nuclear interactions.
In this example a simple geometry consists of a cylindric target placed
in the centre of a tube detector. Various primary event generation and
tallying options are available.
## GEOMETRY
The world is filled with "Air" and there are two components in it:
- Target: A cylinder placed at the origin along the z-axis. The default
size of the cylinder is 0.5 cm radius and 1 cm length, and its default
material is "CsI".
- Detector: A tube centered at the origin along the z-axis, with inner
radius matching the radius of the target. The default thickness of the
tube is 2 cm and it is 5 cm long. The default material is "Germanium".
The user can change the target/detector size and material, using the
commands in the directory
```
/rdecay02/det
```
## PHYSICS
The following physics processes are included by default:
- Standard electromagnetic
- Decay
- Radioactive Decay
- Hadronic processes
By default radioactive decay is applied through out the geometry.
The user can limit it to just the target by commands:
```
/process/had/rdm/noVolumes
/process/had/rdm/selectVolume Target
```
## EVENT: THE PRIMARY GENERATOR
The primary kinematic is a single particle or ion shooted at the
centre of the target. The type of the particle and its energy are set in
PrimaryGeneratorAction, and can be changed via the G4 build-in commands of
ParticleGun class (see the macros provided with this example).
Default is Ne24, at rest.
## DETECTOR RESPONSE
The relevant informations are collected in TrackingAction or
SteppingAction. These include:
- Emission particles in the RadioactiveDecay process:
- particle PDGcode,
- particle kinetic energy,
- particle creation time,
- particle weight.
Note: the residual nuclei is not considered as an emitted particle.
- Radio-Isotopes. All the radioactive isotopes produced in the simulation:
- isotope PDGcode,
- isotope creation time,
- isotope weight.
- Energy depositions in the target and detector by products of the
RadioactiveDecay process:
- energy depostion (positive value for target and negative for detector),
- time,
- weight.
## HISTOGRAMS
The test contains 7 built-in 1D histograms, which are managed by
G4AnalysisManager and its Mmssenger. The histos can be individually
activated with the command :
```
/analysis/h1/set id nbBins valMin valMax unit
```
where unit is the desired unit for the histo (MeV or keV, etc..)
(see the macros xxxx.mac).
- histogram 0: The Pulse Height Spectrum (PHS) of the target.
- histogram 1: The PHS of the detector.
- histogram 2: The combined PHS of the target and detector.
- histogram 3: The anti-coincidece PHS of the target.
- histogram 4: The anti-coincidece PHS of the detector.
- histogram 5: The coincidece PHS between the target and detector.
- histogram 6: The emitted particle energy spectrum.
It is assumed the detector and target pulses both have an integration time
of 1 microsecond, and the gate is 2 microsecond for the coincidence spectrum.
The target and detctor have a threshold of 10 keV in the anti-/coincidence
modes.
HistoManager includes also 4 ntuples whose contents are described in the above paragraphe
(detector response)
The ntuples can be activated with the command
```
/analysis/ntuple/setActivation
```
One can control the name of the analysis file with the command:
```
/analysis/setFileName name (default rdecay02)
```
It is possible to choose the format of the histogram file : root (default),
xml, csv, by using namespace in HistoManager.hh
It is also possible to print selected histograms on an ascii file:
```
/analysis/h1/setAscii id
```
All selected histos will be written on a file name.ascii (default rdecay02)
Initially, all histograms but histogram 6 are inactive. They can all be turned on
with the command
```
/analysis/h1/setActivationToAll true
```
or specific histograms can be turned on with the command
```
/analysis/h1/setActivation i true
```
where i is the histogram index (0,... n).
To turn off, set the final argument to false
## VISUALIZATION
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the commands
/vis/... in the macro vis.mac. To get visualisation:
```
> /control/execute vis.mac
```
The tracks are drawn at the end of event, and erased at the end of run.
- gamma green
- neutron yellow
- negative particles (e-, ...) red
- positive particles (e+, ions, ...) blue
## HOW TO START ?
Execute rdecay02 in 'batch' mode from macro files :
```
% ./rdecay02 run.mac
```
Execute rdecay02 in 'interactive mode' with visualization :
```
% ./rdecay02
Idle> control/execute debug.mac
....
Idle> type your commands
....
Idle> exit
```
- run.mac : decay of Ne24. A run of 1000 events
- debug.mac: interactively. One Ne24 decay,
with visualization and tracking/verbose
## FURTHER EXAMPLES
There are a number of macros files in the ./macros subdirectory, to show
the features of the G4RadioactiveDecay process. Most of them will lead to
the creation of a Root file in the same name of the macro file.
u238c.mac: shows the decays of the U238 chain in analogue MC mode.
th234c-b.mac: shows the decays of Th234 in variance reduction MC mode.
All its secondaies in along the decay chains are generated. The default
source profile and decay biasing schemes are used to determine the decay
times and weights of the secondaries.
proton.mac: simulation of 1 GeV protons incident on a lead target.
The decays of the radio-siotopes created in the proton-lead interactions
are simulated with RadioactiveDecay in analogue MC mode.
proton-beam.mac: same as proton.mac, but the decays of the radio-siotopes
created in the proton-lead interactions are simulated with
RadioactiveDecay in variance reduction MC mode. The isotopes and those
along the decay chains are forced to decay in the time windows specified
by the user in file measures.data, and the weights of the decay products
are determined by the beam profile as defined in the beam.data file and
their decay times.
neutron.mac: macrofile to show the incident of low energy neutrons on an
user specified NaI target and the decays of the induced radio-isotopes.
ne24.mac: this shows the decays of Ne-24 to Na-24 in variance reduction MC
mode. Further decays of Na-24 are not simulated by applying the
nucleuslimits in RadioactiveDecay. Two runs are carried out.
One with the bracjing ratio biasing applied and one without.
isotopes.mac: to show the decays of a number of different isotopes in a
single macro file.
f24.mac: to show the different treatments one can apply to the decays of F24.
i) the complete decay chain from F24 to Mg24, in analogue mode;
ii) the complete chain, but in variance reduction mode;
iii) restrict to the decay of F24 only in analogue mode; iv) restrict to
the decay of F24 only but in variance reduction mode.
as74.mac: The decays of As74 which has a rather complicated decay scheme.
i) in analogue MC mode;
ii) in variance reduction MC mode.
UserRadDataPb210Test.mac: show how the user can define its own radioactive
decay datafile
UserEvapDataBiTest.mac: show how the user can define its own
photo-evaporation datafile
No252Test.mac: show how to simulate Radoactive decay for nuclei with Z>100
based on user datafile
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
@@ -23,9 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \file BiasedRDPhysics.hh
/// \brief Definition of the BiasedRDPhysics class
#ifndef BiasedRDPhysics_h
#define BiasedRDPhysics_h 1
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
@@ -25,10 +25,6 @@
//
/// \file DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef DetectorMessenger_h
#define DetectorMessenger_h 1
@@ -25,10 +25,6 @@
//
/// \file EventAction.hh
/// \brief Definition of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef EventAction_h
#define EventAction_h 1
@@ -25,10 +25,6 @@
//
/// \file HistoManager.hh
/// \brief Definition of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef HistoManager_h
#define HistoManager_h 1
@@ -25,10 +25,6 @@
//
/// \file PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysicsList_h
#define PhysicsList_h 1
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PrimaryGeneratorAction_h
#define PrimaryGeneratorAction_h 1
@@ -25,10 +25,6 @@
//
/// \file Run.hh
/// \brief Definition of the Run class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Run_h
#define Run_h 1
@@ -25,10 +25,6 @@
//
/// \file RunAction.hh
/// \brief Definition of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef RunAction_h
#define RunAction_h 1
@@ -25,10 +25,6 @@
//
/// \file SteppingAction.hh
/// \brief Definition of the SteppingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef SteppingAction_h
#define SteppingAction_h 1
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef TrackingAction_h
#define TrackingAction_h 1
@@ -25,11 +25,6 @@
//
/// \file rdecay02.cc
/// \brief Main program of the radioactivedecay/rdecay02 example
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ActionInitialization.hh"
#include "DetectorConstruction.hh"
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-03-ref-06 (30-June-2025)
Geant4 version Name: geant4-11-04-ref-00 (5-December-2025)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -113,7 +113,7 @@ Lowest muon/hadron kinetic energy 1 keV
Use ICRU90 data 0
Fluctuations of dE/dx are enabled 1
Type of fluctuation model for leptons and hadrons Urban
Use built-in Birks satuaration 0
Use built-in Birks saturation 0
Build CSDA range enabled 0
Use cut as a final range enabled 0
Enable angular generator interface 0
@@ -265,7 +265,7 @@ hBrems: for proton XStype:1 SubType=3
hPairProd: for proton XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
Sampling table 17x1001, from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -340,7 +340,7 @@ hBrems: for anti_proton XStype:1 SubType=3
hPairProd: for anti_proton XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 17x1001 from 7.50618 GeV to 100 TeV
Sampling table 17x1001, from 7.50618 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -372,7 +372,7 @@ hBrems: for kaon+ XStype:1 SubType=3
hPairProd: for kaon+ XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
Sampling table 18x1001, from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -404,7 +404,7 @@ hBrems: for kaon- XStype:1 SubType=3
hPairProd: for kaon- XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 18x1001 from 3.94942 GeV to 100 TeV
Sampling table 18x1001, from 3.94942 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -436,7 +436,7 @@ muBrems: for mu+ XStype:1 SubType=3
muPairProd: for mu+ XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 0.85 GeV to 100 TeV
Sampling table 21x1001, from 0.85 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -468,7 +468,7 @@ muBrems: for mu- XStype:1 SubType=3
muPairProd: for mu- XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 21x1001 from 0.85 GeV to 100 TeV
Sampling table 21x1001, from 0.85 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -500,7 +500,7 @@ hBrems: for pi+ XStype:1 SubType=3
hPairProd: for pi+ XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
Sampling table 20x1001, from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -532,7 +532,7 @@ hBrems: for pi- XStype:1 SubType=3
hPairProd: for pi- XStype:1 SubType=4
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
Sampling table 20x1001 from 1.11656 GeV to 100 TeV
Sampling table 20x1001, from 1.11656 GeV to 100 TeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
hPairProd : Emin= 0 eV Emax= 100 TeV ModifiedMephi
@@ -756,8 +756,8 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Type of pre-compound model 0
Type of pre-compound inverse x-section 1
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Pre-compound excitation low energy 0.1 MeV
Pre-compound excitation high energy 15 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
@@ -771,13 +771,12 @@ Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
Type of Fermi BreakUp model ModelVI
Min excitation energy 10 eV
Min energy per nucleon for multifragmentation 200 GeV
Limit excitation energy for Fermi BreakUp 20 MeV
Min excitation energy 0.01 keV
Min energy per nucleon for multifragmentation 2e+05 MeV
Level density (1/MeV) 0.075
Use simple level density model 1
Use discrete excitation energy of the residual 0
Time limit for long lived isomeres 0.14427 ps
Time limit for long lived isomeres 0.00014427 ns
Isomer production flag 1
Internal e- conversion flag 1
Store e- internal conversion data 1
@@ -833,53 +832,53 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10000
User=0.400000s Real=0.402979s Sys=0.000000s
User=0.340000s Real=0.341072s Sys=0.000000s
The run is 10000 Ne24 of 0 eV through :
Target : Length = 1 cm Radius = 5 mm Material = G4_CESIUM_IODIDE
Detector : Length = 5 cm Thickness = 2 cm Material = Germanium
Mean energy deposit in target, in time window = 813.67 keV rms = 418.96 keV
Mean energy deposit in detector, in time window = 18.104 keV rms = 106.08 keV
Mean energy deposit in target, in time window = 809.51 keV rms = 420.05 keV
Mean energy deposit in detector, in time window = 19.216 keV rms = 109.68 keV
Process calls frequency in target :
NoProcess= 10000 RadioactiveDecay= 50767 Rayl= 278
Transportation= 50242 annihil= 176 compt= 4289
conv= 188 eIoni= 26105 ionIoni= 38047
msc= 3839 phot= 1579
NoProcess= 10000 RadioactiveDecay= 50775 Rayl= 282
Transportation= 50253 annihil= 177 compt= 4240
conv= 186 eIoni= 26032 ionIoni= 38082
msc= 3558 phot= 1561
Process calls frequency in detector:
Rayl= 1183 Transportation= 45897 annihil= 359
compt= 22830 conv= 350 eIoni= 27849
msc= 6677 phot= 4324
Rayl= 1176 Transportation= 45929 annihil= 351
compt= 22676 conv= 345 eIoni= 27661
msc= 6356 phot= 4305
List of generated particles in target:
Mg24: 10000 Emean = 42.405 eV ( 41.931 eV --> 804.71 eV )
Mg24[1368.667]: 9990 Emean = 169.92 eV ( 169.78 eV --> 334.58 eV )
Mg24[4122.853]: 9984 Emean = 39.091 eV ( 98.622 meV --> 74.56 eV )
Mg24[5235.160]: 6 Emean = 2.6297 eV ( 1.178 eV --> 5.646 eV )
Na24: 9990 Emean = 4.9933 eV ( 4.9901 eV --> 15.742 eV )
Na24[1346.635]: 794 Emean = 27.494 eV ( 649.04 meV --> 51.388 eV )
Na24[472.207]: 10000 Emean = 67.791 eV ( 101.68 meV --> 133.55 eV )
Na24[563.199]: 3 Emean = 13.735 eV ( 13.735 eV --> 13.735 eV )
anti_nu_e: 20000 Emean = 975.22 keV ( 29.746 keV --> 5.0943 MeV)
e+: 188 Emean = 774.41 keV ( 1.7102 keV --> 1.6964 MeV)
e-: 26087 Emean = 640.71 keV ( 72.714 eV --> 4.5674 MeV)
gamma: 31108 Emean = 1.5032 MeV ( 90.992 keV --> 3.8662 MeV)
Mg24: 10000 Emean = 42.533 eV ( 41.931 eV --> 877.14 eV )
Mg24[1368.667]: 9988 Emean = 169.94 eV ( 169.78 eV --> 334.58 eV )
Mg24[4122.853]: 9980 Emean = 39.411 eV ( 98.622 meV --> 74.362 eV )
Mg24[5235.160]: 9 Emean = 2.2431 eV ( 126.19 meV --> 5.646 eV )
Na24: 9989 Emean = 4.9922 eV ( 4.9901 eV --> 15.735 eV )
Na24[1346.635]: 804 Emean = 27.135 eV ( 649.04 meV --> 51.829 eV )
Na24[472.207]: 10000 Emean = 68.122 eV ( 127.74 meV --> 134.01 eV )
Na24[563.199]: 5 Emean = 13.735 eV ( 13.735 eV --> 13.735 eV )
anti_nu_e: 20000 Emean = 976.28 keV ( 27.433 keV --> 3.241 MeV)
e+: 186 Emean = 774.42 keV ( 1.7102 keV --> 1.6823 MeV)
e-: 26006 Emean = 640.1 keV ( 100.71 eV --> 4.5674 MeV)
gamma: 31122 Emean = 1.5031 MeV ( 90.992 keV --> 5.2345 MeV)
List of generated particles in detector:
e+: 350 Emean = 787.78 keV ( 7.5284 keV --> 2.6942 MeV)
e-: 27488 Emean = 375.51 keV ( 111.92 eV --> 3.6219 MeV)
gamma: 718 Emean = 525.3 keV ( 393 keV --> 1.8258 MeV)
e+: 345 Emean = 785.82 keV ( 4.4427 keV --> 2.6942 MeV)
e-: 27313 Emean = 377.76 keV ( 111.92 eV --> 3.6176 MeV)
gamma: 702 Emean = 522.91 keV ( 393 keV --> 1.8258 MeV)
... write file : rdecay02.root - done
... close file : rdecay02.root - done
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1705873180, 586740664
Current couple of seeds = 1820759931, 2073339151
----------------------------------------
================== Deleting memory pools ===================
Number of memory pools allocated: 10 of which, static: 0
Dynamic pools deleted: 10 / Total memory freed: 0.024 MB
Dynamic pools deleted: 10 / Total memory freed: 0.026 MB
============================================================
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
@@ -23,9 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
/// \file BiasedRDPhysics.cc
/// \brief Implementation of the BiasedRDPhysics class
#include "BiasedRDPhysics.hh"
@@ -25,10 +25,6 @@
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorConstruction.hh"
@@ -25,10 +25,6 @@
//
/// \file DetectorMessenger.cc
/// \brief Implementation of the DetectorMessenger class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorMessenger.hh"
@@ -25,10 +25,6 @@
//
/// \file EventAction.cc
/// \brief Implementation of the EventAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "EventAction.hh"
@@ -25,10 +25,6 @@
//
/// \file HistoManager.cc
/// \brief Implementation of the HistoManager class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "HistoManager.hh"
@@ -25,9 +25,6 @@
//
/// \file PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PhysicsList.hh"
@@ -25,10 +25,6 @@
//
/// \file PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PrimaryGeneratorAction.hh"
@@ -25,8 +25,6 @@
//
/// \file Run.cc
/// \brief Implementation of the Run class
//
//
#include "Run.hh"
@@ -25,10 +25,6 @@
//
/// \file RunAction.cc
/// \brief Implementation of the RunAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "RunAction.hh"
@@ -25,10 +25,6 @@
//
/// \file SteppingAction.cc
/// \brief Implementation of the SteppingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "SteppingAction.hh"
@@ -25,10 +25,6 @@
//
/// \file TrackingAction.cc
/// \brief Implementation of the TrackingAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "TrackingAction.hh"