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
-83
View File
@@ -1,83 +0,0 @@
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
field03
-------
Example of tracking in magnetic field where field associated
to selected logical volumes varies.
A global and a local magnetic field are defined in
the ConstructSDandField() method in the F03DetectorConstruction class
using the G4FieldBuilder class.
The local magnetic field is set to the "Radiator" volume.
The interactive commands, under the /field directory, are created with
the instantiation of G4FieldBuilder in the F03DetectorConstruction constructor,
1- GEOMETRY DEFINITION
The "Absorber" is a solid 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".
In this test the parameters of the "World" can be changed , too.
A transverse global uniform magnetic field can be applied.
In addition, the "Radiator" volume, which is placed in geometry next
to the absorber, has a local magnetic field.
The default geometry is constructed in F03DetectorConstruction class,
but all the parameters can be changed via
the commands defined in the F03DetectorMessenger class.
2- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic consists of a single particle which hits the
absorber perpendicular to the input face. The type of the particle
and its energy are set in the F03PrimaryGeneratorAction class, and can
be changed via the G4 build-in commands of G4ParticleGun class (see
the macros provided with this example).
It is also possible to change the position of the primary particle vertex
or activate its randomization via the commands defined in the
F01PrimaryGeneratorMessenger class.
A RUN is a set of events.
3- DETECTOR RESPONSE
A HIT is a record, event per event , of all the
informations needed to simulate and analyse the detector response.
In this example a F03CalorHit is defined as a set of 2 informations:
- the total energy deposit in the absorber,
- the total tracklength of all charged particles in the absorber,
Therefore the absorber is declared
'sensitive detector' (SD), see F03CalorimeterSD, which means they can contribute to the hit.
4- PHYSICS LIST
The particle's type and the physic processes which will be available
in this example are set in the FTFP_BERT physics list. This physics list
requires data files for electromagnetic and hadronic processes.
See more on installation of the datasets in Geant4 Installation Guide,
5- HOW TO START ?
- Execute field03 in 'batch' mode from macro files e.g.
% ./field03 field03.in
- Execute field03 in 'interactive' mode with visualization e.g.
% ./field03
....
Idle> /run/beamOn 1
....
@@ -1,21 +1,17 @@
///\file "field/field03/.README.txt"
///\brief Example field03 README page
/*! \page Examplefield03 Example field03
\page Examplefield03 Example field03
Example of tracking in magnetic field where field associated
to selected logical volumes varies.
A global and a local magnetic field are defined in
the ConstructSDandField() method in the F03DetectorConstruction class
using the G4FieldBuilder class.
the F03DetectorConstruction::ConstructSDandField() method in the
F03DetectorConstruction class using the G4FieldBuilder class.
The local magnetic field is set to the "Radiator" volume.
The interactive commands, under the /field directory, are created with
the instantiation of G4FieldBuilder in the F03DetectorConstruction constructor,
\section field03_s1 GEOMETRY DEFINITION
## GEOMETRY DEFINITION
The "Absorber" is a solid made of a given material.
@@ -35,7 +31,7 @@
but all the parameters can be changed via
the commands defined in the F03DetectorMessenger class.
\section field03_s2 AN EVENT : THE PRIMARY GENERATOR
## AN EVENT : THE PRIMARY GENERATOR
The primary kinematic consists of a single particle which hits the
absorber perpendicular to the input face. The type of the particle
@@ -49,7 +45,7 @@
A RUN is a set of events.
\section field03_s3 DETECTOR RESPONSE
## DETECTOR RESPONSE
A HIT is a record, event per event , of all the
@@ -63,26 +59,24 @@
'sensitive detector' (SD), see F03CalorimeterSD, which means they can contribute to the hit.
\subsection field01_s4 PHYSICS LIST
### PHYSICS LIST
The particle's type and the physic processes which will be available
in this example are set in the FTFP_BERT physics list. This physics list
requires data files for electromagnetic and hadronic processes.
See more on installation of the datasets in Geant4 Installation Guide,
\section field03_s5 HOW TO START ?
## HOW TO START ?
- Execute field03 in 'batch' mode from macro files e.g.
\verbatim
```
% ./field03 field03.in
\endverbatim
```
- Execute field03 in 'interactive' mode with visualization e.g.
\verbatim
```
% ./field03
....
Idle> /run/beamOn 1
....
\endverbatim
*/
```
+1 -5
View File
@@ -23,12 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file field/field03/field03.cc
/// \file field03.cc
/// \brief Main program of the field/field03 example
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Types.hh"
+21 -24
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
@@ -239,7 +239,6 @@ You have successfully registered the following graphics systems.
Registered graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
G4HepRepFile (HepRepFile)
RayTracer (RT)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
@@ -252,13 +251,12 @@ Registered graphics systems are:
OpenGLStoredX (OGLSX, OGLSQt_FALLBACK, OGLSXm_FALLBACK)
RayTracerX (RTX)
RayTracerQt (RTQt)
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_X11_ZB (TSG_X11_ZB, TSGX11ZB)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG, OGL)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB, TSGZB)
You may choose a graphics system (driver) with a parameter of
the command "/vis/open" or "/vis/sceneHandler/create",
or you may omit the driver parameter and choose at run time:
@@ -360,7 +358,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
@@ -497,7 +495,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
@@ -555,7 +553,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
@@ -587,7 +585,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
@@ -619,7 +617,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
@@ -651,7 +649,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
@@ -683,7 +681,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
@@ -715,7 +713,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
@@ -747,7 +745,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
@@ -1002,8 +1000,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
@@ -1017,9 +1015,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
@@ -1078,7 +1075,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000700s Sys=0.000000s
User=0.000000s Real=0.000760s Sys=0.000000s
#
/tracking/verbose 0
/run/printProgress 50
@@ -1101,7 +1098,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 100
User=0.010000s Real=0.005724s Sys=0.000000s
User=0.010000s Real=0.005616s Sys=0.000000s
#
/field03/setField 0. 0. 1.0 kG
G4ChordFinder: stepperDriverId: 2
@@ -1124,7 +1121,7 @@ Index : 0 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 10
User=0.000000s Real=0.001344s Sys=0.000000s
User=0.000000s Real=0.001357s Sys=0.000000s
#
/tracking/verbose 1
/field03/setField 3.3 0 0 tesla
@@ -1168,7 +1165,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000139s Sys=0.000000s
User=0.000000s Real=0.000140s Sys=0.000000s
#
# Test commands defined in this example
/control/verbose 2
@@ -1226,10 +1223,10 @@ Index : 2 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1
User=0.230000s Real=0.233946s Sys=0.000000s
User=0.060000s Real=0.068686s Sys=0.000000s
Graphics systems deleted.
Visualization Manager deleting...
================== Deleting memory pools ===================
Number of memory pools allocated: 12 of which, static: 0
Dynamic pools deleted: 12 / Total memory freed: 1.7 MB
Dynamic pools deleted: 12 / Total memory freed: 0.61 MB
============================================================
@@ -23,15 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file F03ActionInitialization.hh
/// \brief Definition of the F03ActionInitialization class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03ActionInitialization_h
#define F03ActionInitialization_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03CalorHit.hh
/// \file F03CalorHit.hh
/// \brief Definition of the F03CalorHit class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03CalorHit_h
#define F03CalorHit_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03CalorimeterSD.hh
/// \file F03CalorimeterSD.hh
/// \brief Definition of the F03CalorimeterSD class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03CalorimeterSD_h
#define F03CalorimeterSD_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03DetectorConstruction.hh
/// \file F03DetectorConstruction.hh
/// \brief Definition of the F03DetectorConstruction class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03DetectorConstruction_h
#define F03DetectorConstruction_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03DetectorMessenger.hh
/// \file F03DetectorMessenger.hh
/// \brief Definition of the F03DetectorMessenger class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03DetectorMessenger_h
#define F03DetectorMessenger_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PrimaryGeneratorAction.hh
/// \file F03PrimaryGeneratorAction.hh
/// \brief Definition of the F03PrimaryGeneratorAction class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03PrimaryGeneratorAction_h
#define F03PrimaryGeneratorAction_h 1
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03PrimaryGeneratorMessenger.hh
/// \file F03PrimaryGeneratorMessenger.hh
/// \brief Definition of the F03PrimaryGeneratorMessenger class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef F03PrimaryGeneratorMessenger_h
#define F03PrimaryGeneratorMessenger_h 1
@@ -23,12 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/include/F03SteppingVerbose.hh
/// \file F03SteppingVerbose.hh
/// \brief Definition of the F03SteppingVerbose class
//
//
//
//
//---------------------------------------------------------------
//
// F03SteppingVerbose.hh
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file F03ActionInitialization.cc
/// \brief Implementation of the F03ActionInitialization class
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03CalorHit.cc
/// \file F03CalorHit.cc
/// \brief Implementation of the F03CalorHit class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03CalorHit.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03CalorimeterSD.cc
/// \file F03CalorimeterSD.cc
/// \brief Implementation of the F03CalorimeterSD class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03CalorimeterSD.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03DetectorConstruction.cc
/// \file F03DetectorConstruction.cc
/// \brief Implementation of the F03DetectorConstruction class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03DetectorConstruction.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03DetectorMessenger.cc
/// \file F03DetectorMessenger.cc
/// \brief Implementation of the F03DetectorMessenger class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03DetectorMessenger.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03PrimaryGeneratorAction.cc
/// \file F03PrimaryGeneratorAction.cc
/// \brief Implementation of the F03PrimaryGeneratorAction class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03PrimaryGeneratorAction.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03PrimaryGeneratorMessenger.cc
/// \file F03PrimaryGeneratorMessenger.cc
/// \brief Implementation of the F03PrimaryGeneratorMessenger class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03PrimaryGeneratorMessenger.hh"
@@ -23,14 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file field/field03/src/F03SteppingVerbose.cc
/// \file F03SteppingVerbose.cc
/// \brief Implementation of the F03SteppingVerbose class
//
//
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "F03SteppingVerbose.hh"