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
@@ -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
@@ -30,7 +30,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)
@@ -43,13 +42,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:
@@ -368,8 +366,8 @@ Checking overlaps for volume Detector:99 (G4Tubs) ... OK!
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
@@ -383,9 +381,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
@@ -1,130 +0,0 @@
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Example Par03
-------------
This example demonstrates how to use G4FastSimHitMaker helper class
to create multiple energy deposits from the fast simulation model.
It requires sensitive detector class to inherit from both base classes:
- G4VSensitiveDetector: for processing of detailed/non-fast simulation hits
- G4VFastSimSensitiveDetector: for processing of fast sim (G4FastSim) hits
Hits are placed in the same hit collection, so they can be used to
compare between the full and the fast simulation.
The geometry used in the example is a homogeneous cylinder of lead, with
3D readout geometry (cylindrical). Analysis of energy deposits is done
in the event action.
1. Detector description
-----------------------
The detector is a homogeneous cylinder of lead. It is segmented along
z, R and phi to create a readout geometry in the cylindrical coordinates.
Fast simulation is attached to the region of the detector.
2. Sensitive detector
-----------------------
Sensitive detector inherits from both base classes:
- G4VSensitiveDetector: for processing of detailed/non-fast simulation hits
- G4VFastSimSensitiveDetector: for processing of fast sim (G4FastSim) hits.
Hits are placed in the same hit collection, with a different flag to distinguish
between those originated in the full simulation, and those from the fast
simulation.
During visualisation, hits are represented as volumes of different colour:
green for full simulation and red for fast simulation.
3. Primary generation
---------------------
Particle gun is used as a primary generator. The direction of particles is along
the axis of symmetry of the detector (cylinder). It is positioned 10 cm in front
of the entrance to the detector. 10 GeV electron is used by default. Those values
can be changed using /gun/ UI commands.
4. Physics List
---------------
FTFP_BERT modular physics list is used. On top of it, fast simulation physics
is registered for selected particles (electrons, positrons, and photons).
5. User actions
----------------------------------------------------------
- Par03RunAction : run action used for initialization and termination
of the run. Histograms for analysis of shower development
in the detector are created.
- Par03EventAction : event action used for initialization and termination
of the event. Analysis of shower development is performed
on event-by-event basis.
6. Output
---------
The execution of the program (examplePar03) produces an output with histograms.
The macro file examplePar03.in specifies three runs. Each run is made of 100
events, for single 10 GeV electron beams. The first run is executed with fast
simulation model activated with defualt parameters. The second run executes fast
simulation with modified parameters. For the third run the fast simulation model
is disactivated.
Three output files are produced: two with shower development from the fast
simulation (with different parameters), and from the full simulation.
7. How to build and run the example
-----------------------------------
- Compile and link to generate the executable (in your CMAKE build directory):
% cmake <PAR03_SOURCE>
% make
- Execute the application (in batch mode):
% ./examplePar03 -m examplePar03.in
which produces three root files: Par03_fastsim_100events.root,
Par03_fastsimModified_100events.root, and Par03_fullsim_100events.root.
- Execute the application (in interactive mode):
% ./examplePar03
which allows to visualize hits.
8. UI commands
--------------
UI commands useful in this example:
- activation/disactivation of the fast simulation model:
/param/ActivateModel model
/param/InActivateModel model
- particle gun commands
/gun/particle e+
/gun/energy 50 GeV
/gun/direction 0 0.2 1
/gun/position 0 0 0
UI commands defined in this example:
- detector settings
/Par03/detector/print
/Par03/detector/setDetectorRadius 10 cm
/Par03/detector/setDetectorLength 30 cm
/Par03/detector/setDetectorMaterial G4_Pb
/Par03/detector/setNbOfLayers 100
/Par03/detector/setNbOfPhiCells 20
/Par03/detector/setNbOfRhoCells 100
- fast simulation settings
/Par03/fastSim/print
/Par03/fastSim/transverseProfile/sigma 20 mm
/Par03/fastSim/longitudinalProfile/beta 0.6
/Par03/fastSim/longitudinalProfile/alpha 2.
/Par03/fastSim/longitudinalProfile/maxDepth 20
/Par03/fastSim/numberOfHits 500
@@ -1,7 +1,4 @@
///\file "parameterisations/Par03/.README.txt"
///\brief Example Par03 README page
/*! \page ExamplePar03 Example Par03
\page ExamplePar03 Example Par03
This example demonstrates how to use G4FastSimHitMaker helper class
to create multiple energy deposits from the fast simulation model.
@@ -16,7 +13,7 @@
3D readout geometry (cylindrical). Analysis of energy deposits is done
in the event action.
\section Par03_s1 Detector description
## Detector description
The detector is a homogeneous cylinder of lead. It is segmented along
z, R and phi to create a readout geometry in the cylindrical coordinates.
@@ -24,9 +21,9 @@
Fast simulation is attached to the region of the detector.
\section Par03_s2 Sensitive detector
## Sensitive detector
Sensitive detector inherits from both base classes:
Sensitive detector (Par03SensitiveDetector) inherits from both base classes:
- G4VSensitiveDetector: for processing of detailed/non-fast simulation hits
- G4VFastSimSensitiveDetector: for processing of fast sim (G4FastSim) hits.
Hits are placed in the same hit collection, with a different flag to distinguish
@@ -35,20 +32,20 @@
During visualisation, hits are represented as volumes of different colour:
green for full simulation and red for fast simulation.
\section Par03_s3 Primary generation
## Primary generation
Particle gun is used as a primary generator. The direction of particles is along
the axis of symmetry of the detector (cylinder). It is positioned 10 cm in front
of the entrance to the detector. 10 GeV electron is used by default. Those values
can be changed using /gun/ UI commands.
\section Par03_s4 Physics List
## Physics List
FTFP_BERT modular physics list is used. On top of it, fast simulation physics
is registered for selected particles (electrons, positrons, and photons).
\section Par03_s5 User actions
## User actions
- Par03RunAction : run action used for initialization and termination
of the run. Histograms for analysis of shower development
@@ -58,7 +55,7 @@
of the event. Analysis of shower development is performed
on event-by-event basis.
\section Par03_s6 Output
## Output
The execution of the program (examplePar03) produces an output with histograms.
@@ -70,48 +67,48 @@
Three output files are produced: two with shower development from the fast
simulation (with different parameters), and from the full simulation.
\section Par03_s7 How to build and run the example
## How to build and run the example
- Compile and link to generate the executable (in your CMAKE build directory):
\verbatim
```
% cmake <PAR03_SOURCE>
% make
\endverbatim
```
- Execute the application (in batch mode):
\verbatim
```
% ./examplePar03 -m examplePar03.in
\endverbatim
```
which produces three root files: Par03_fastsim_100events.root,
Par03_fastsimModified_100events.root, and Par03_fullsim_100events.root.
- Execute the application (in interactive mode):
\verbatim
```
% ./examplePar03
\endverbatim
```
which allows to visualize hits.
\section Par03_s8 UI commands
## UI commands
UI commands useful in this example:
- activation/disactivation of the fast simulation model:
\verbatim
```
/param/ActivateModel model
/param/InActivateModel model
\endverbatim
```
- particle gun commands
\verbatim
```
/gun/particle e+
/gun/energy 50 GeV
/gun/direction 0 0.2 1
/gun/position 0 0 0
\endverbatim
```
UI commands defined in this example:
- detector settings
\verbatim
```
/Par03/detector/print
/Par03/detector/setDetectorRadius 10 cm
/Par03/detector/setDetectorLength 30 cm
@@ -119,16 +116,15 @@ UI commands defined in this example:
/Par03/detector/setNbOfLayers 100
/Par03/detector/setNbOfPhiCells 20
/Par03/detector/setNbOfRhoCells 100
\endverbatim
```
- fast simulation settings
\verbatim
```
/Par03/fastSim/print
/Par03/fastSim/transverseProfile/sigma 20 mm
/Par03/fastSim/longitudinalProfile/beta 0.6
/Par03/fastSim/longitudinalProfile/alpha 2.
/Par03/fastSim/longitudinalProfile/maxDepth 20
/Par03/fastSim/numberOfHits 500
\endverbatim
*/
/Par03/fastSim/print
```
@@ -23,9 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
/// \file examplePar03.cc
/// \brief Main program of the parameterisations/Par03 example
// --------------------------------------------------------------
// GEANT 4 - examplePar03
// --------------------------------------------------------------
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03ActionInitialisation.hh
/// \brief Definition of the Par03ActionInitialisation class
#ifndef PAR03ACTIONINITIALISATION_HH
#define PAR03ACTIONINITIALISATION_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03DetectorConstruction.hh
/// \brief Definition of the Par03DetectorConstruction class
#ifndef PAR03DETECTORCONSTRUCTION_H
#define PAR03DETECTORCONSTRUCTION_H
@@ -23,6 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03DetectorMessenger.hh
/// \brief Definition of the Par03DetectorMessenger class
#ifndef PAR03DETECTORMESSENGER_H
#define PAR03DETECTORMESSENGER_H
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EMShowerMessenger.hh
/// \brief Definition of the Par03EMShowerMessenger class
#ifndef PAR03EMSHOWERMESSENGER_HH
#define PAR03EMSHOWERMESSENGER_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EMShowerModel.hh
/// \brief Definition of the Par03EMShowerModel class
#ifndef PAR03EMSHOWERMODEL_HH
#define PAR03EMSHOWERMODEL_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EventAction.hh
/// \brief Definition of the Par03EventAction class
#ifndef PAR03EVENTACTION_HH
#define PAR03EVENTACTION_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03Hit.hh
/// \brief Definition of the Par03Hit class
#ifndef PAR03HIT_HH
#define PAR03HIT_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03PrimaryGeneratorAction.hh
/// \brief Definition of the Par03PrimaryGeneratorAction class
#ifndef PAR03PRIMARYGENERATORACTION_HH
#define PAR03PRIMARYGENERATORACTION_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03RunAction.hh
/// \brief Definition of the Par03RunAction class
#ifndef PAR03RUNACTION_HH
#define PAR03RUNACTION_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03SensitiveDetector.hh
/// \brief Definition of the Par03SensitiveDetector class
#ifndef PAR03SENSITIVEDETECTOR_HH
#define PAR03SENSITIVEDETECTOR_HH
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03ActionInitialisation.cc
/// \brief Implementation of the Par03ActionInitialisation class
#include "Par03ActionInitialisation.hh"
#include "Par03EventAction.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03DetectorConstruction.cc
/// \brief Implementation of the Par03DetectorConstruction class
#include "Par03DetectorConstruction.hh"
#include "Par03DetectorMessenger.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03DetectorMessenger.cc
/// \brief Implementation of the Par03DetectorMessenger class
#include "Par03DetectorMessenger.hh"
#include "Par03DetectorConstruction.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EMShowerMessenger.cc
/// \brief Implementation of the Par03EMShowerMessenger class
#include "Par03EMShowerMessenger.hh"
#include "Par03EMShowerModel.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EMShowerModel.cc
/// \brief Implementation of the Par03EMShowerModel class
#include "Par03EMShowerModel.hh"
#include "Par03EMShowerMessenger.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03EventAction.cc
/// \brief Implementation of the Par03EventAction class
#include "Par03EventAction.hh"
#include "Par03DetectorConstruction.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03Hit.cc
/// \brief Implementation of the Par03Hit class
#include "Par03Hit.hh"
#include "G4AttDef.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03PrimaryGeneratorAction.cc
/// \brief Implementation of the Par03PrimaryGeneratorAction class
#include "Par03PrimaryGeneratorAction.hh"
#include "G4ParticleGun.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03RunAction.cc
/// \brief Implementation of the Par03RunAction class
#include "Par03RunAction.hh"
#include "Par03DetectorConstruction.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Par03SensitiveDetector.cc
/// \brief Implementation of the Par03SensitiveDetector class
#include "Par03SensitiveDetector.hh"
#include "Par03Hit.hh"