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,57 +0,0 @@
///\file "hadronic/Hadr08/.README.txt"
///\brief Example Hadr08 README page
/*! \page ExampleHadr08 Example Hadr08
This is an example of how to use "generic biasing" to get the following
functionality which is currently not available directly in the Geant4
hadronic framework.
\section Hadr08_s1 PHYSICS LIST
We want to use the physics list FTFP_BERT everywhere in our detector,
except that in one (or more) logical volume(s) we want to use a
different combination of hadronic models, e.g. FTFP + INCLXX
(instead of the default FTFP + BERT), for the final-state generation.
Notice that we use the powerful "generic biasing" machinery available
in Geant4, but the actual weights of all tracks remain to the usual
value (1.0) as in the normal (unbiased) case.
\section Hadr08_s2 MATERIALS AND GEOMETRY DEFINITION
In this example, the detector is very simple:
- a homogeneous block of silicon, as a proxy of a tracker sub-detector;
- followed by a crystal, as a proxy of an electromagnetic calorimeter;
- followed by a homogeneous block of iron, as a proxy of a hadron
calorimeter.
We assume that the block of silicon is where we want to replace FTFP+BERT
with FTFP+INCLXX for the final-state modeling of proton, neutron, pion-
and pion+-inelastic interactions (of any energy).
This silicon layer is made artificially thick (20 cm) in order to have
more hadron inelastic interactions for testing.
This example has been tested only for G4 10.5.p01 and 10.6, but it should
work also for previous recent releases (i.e. 10.4 and 10.3).
The example works in both sequential and multi-threaded modes, and the
CPU overhead due to "generic biasing" for this application seems to be
very small (at the per-cent level).
\section Hadr08_s3 HOW TO START ?
To build it:
\verbatim
mkdir Build; cd Build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGeant4_DIR=/path-to-geant4-libraries ../.
make
\endverbatim
To run it:
\verbatim
./Hadr08 hadr08.in
\endverbatim
which shoot 100 pion+ of 5 GeV kinetic energy.
*/
@@ -25,11 +25,6 @@
//
/// \file Hadr08.cc
/// \brief Main program of the hadronic/Hadr08 example
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ActionInitialization.hh"
#include "DetectorConstruction.hh"
@@ -1,7 +1,11 @@
\page ExampleHadr08 Example Hadr08
This is an example of how to use "generic biasing" to get the following
functionality which is currently not available directly in the Geant4
hadronic framework.
## PHYSICS LIST
We want to use the physics list FTFP_BERT everywhere in our detector,
except that in one (or more) logical volume(s) we want to use a
different combination of hadronic models, e.g. FTFP + INCLXX
@@ -11,6 +15,8 @@ Notice that we use the powerful "generic biasing" machinery available
in Geant4, but the actual weights of all tracks remain to the usual
value (1.0) as in the normal (unbiased) case.
## MATERIALS AND GEOMETRY DEFINITION
In this example, the detector is very simple:
- a homogeneous block of silicon, as a proxy of a tracker sub-detector;
- followed by a crystal, as a proxy of an electromagnetic calorimeter;
@@ -28,13 +34,18 @@ The example works in both sequential and multi-threaded modes, and the
CPU overhead due to "generic biasing" for this application seems to be
very small (at the per-cent level).
## HOW TO START ?
To build it:
```
mkdir Build; cd Build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGeant4_DIR=/path-to-geant4-libraries ../.
make
```
To run it:
```
./Hadr08 hadr08.in
```
which shoot 100 pion+ of 5 GeV kinetic energy.
+16 -17
View File
@@ -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
@@ -81,7 +81,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
@@ -218,7 +218,7 @@ hBrems: for proton XStype:3 SubType=3
hPairProd: for proton XStype:3 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
@@ -276,7 +276,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
@@ -308,7 +308,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
@@ -340,7 +340,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
@@ -372,7 +372,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
@@ -404,7 +404,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
@@ -436,7 +436,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
@@ -468,7 +468,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
@@ -723,8 +723,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
@@ -738,9 +738,8 @@ 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
@@ -788,8 +787,8 @@ Index : 3 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=2.780000s Real=6.317869s Sys=0.000000s
User=2.700000s Real=3.113085s Sys=0.000000s
================== Deleting memory pools ===================
Number of memory pools allocated: 11 of which, static: 0
Dynamic pools deleted: 11 / Total memory freed: 0.14 MB
Dynamic pools deleted: 11 / Total memory freed: 0.15 MB
============================================================
@@ -25,11 +25,6 @@
//
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef ActionInitialization_h
#define ActionInitialization_h 1
@@ -25,11 +25,6 @@
//
/// \file BiasingOperation.hh
/// \brief Definition of the BiasingOperation class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef BiasingOperation_hh
#define BiasingOperation_hh 1
@@ -25,11 +25,6 @@
//
/// \file BiasingOperator.hh
/// \brief Definition of the BiasingOperator class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef BiasingOperator_hh
#define BiasingOperator_hh 1
@@ -25,11 +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,11 +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,11 +25,6 @@
//
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ActionInitialization.hh"
@@ -25,11 +25,6 @@
//
/// \file BiasingOperation.cc
/// \brief Implementation of the BiasingOperation class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "BiasingOperation.hh"
@@ -25,11 +25,6 @@
//
/// \file BiasingOperator.cc
/// \brief Implementation of the BiasingOperator class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "BiasingOperator.hh"
@@ -25,11 +25,6 @@
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "DetectorConstruction.hh"
@@ -25,11 +25,6 @@
//
/// \file PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "PrimaryGeneratorAction.hh"