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,97 +0,0 @@
///\file "runAndEvent/RE04/.README.txt"
///\brief Example RE04 README page
/*! \page ExampleRE04 Example RE04
Contact : M.Asai (SLAC)
\section RE04_s1 Introduction
This example demonstrates how to define a layered mass
geometry in parallel world. In the mass (tracking) world,
there are two boxes only. One is the world volume and the
other is a box in the world. They both are made of air.
Thus, if tracks do not see materials (water and lead)
defined in the parallel world, they rarely interact.
In the parallel world, there are boxes made of water and
lead.
\subsection RE04_s11 Geometry
RE04DetectorConstruction defines the mass (tracking)
geometry. It firstly defines all materials which apear
either in mass world or parallel world. Then in SetupGeometry()
method, it defines the world volume and a box named "phantom".
Both boxes are made of air.
RE04ParallelWorldConstruction defines the parallel world.
For a parallel world, solid, logical and physical volumes
which represent parallel world must not be created here but
should be taken through G4VUserParallelWorld::GetWorld()
method which creates clones of solid, logical and physical
volumes of the world volume of the mass world. Please note
that this cloned logical volume of the parallel world volume
does not have a valid pointer to aa material but null.
In the parallel world, if a logical volume has a valid
material pointer, a track in this volume (precisely saying
a physical volume which is made of this logical volume)
will see the material defined in this logical volume,
regardless of the material in the mass geometry. If a
logical volume has a null material pointer, a track will
see the ordinary material defined in the mass world.
RE04ParallelWorldConstruction defines one placement
volume of box-shape, which is made of water, and a mother
box (placement volume with null material pointer), which
contains parameterized volumes. RE04ParallelWorldParam
class defines a parameterization of the parameterized
volume "paraPara", which represents two boxes at different
locations and made of water and lead respectively.
\subsection RE04_s12 Physics
RE04PhysicsList uses ordinary physics builders. It also
defines G4ParallelWorldProcess which deals with the parallel
world. This G4ParallelWorldProcess is an extension of
G4ParallelWorldScoringProcess. If SetLayeredMaterialFlag()
of this process class is invoked, in addition to taking
care of sensitive detectors in the parallel world, it also
takes care of layered mass geometry. If this set method is
not invoked, it behaves exactly same as G4ParallelWorldScoringProcess.
The constructor of G4ParallelWorldProcess takes the name
of the parallel world physical volume as an argument.
G4ParallelWorldProcess may be associated only to some
limited kinds of particle types. The parallel world is
seen only bythe particles which have G4ParallelWorldProcess
in their process manager objects. In this RE04 example
G4ParallelWorldProcess is defined to all particle types
except ChargedGeantino. Thus, if you shoot CargedGeantino,
it won't see any volume boundary defined in the parallel
world.
\section RE04_s2 Macro files
The macro file "score.mac" defines a scoring mesh which covers
the "Phantom" and scores energy deposition. It shoots 1000
primary particles (by default 10 GeV muon-). Though the mass
world has only air, given tracks, both primary muons and
secondary particles see water and lead defined in the parallel
world, you will see the energy deposition is not evenly
distributed.
\section RE04_s3 User action classes
In the main () of RE04.cc, three user action classes, i.e.
RE04EventAction, RE04TrackingAction and RE04SteppingAction,
are commented out. By using RE04SteppingAction, you will
see a material name which a track sees for each step.
By using RE04EventAction and RE04TrackingAction, you will
see the similar information for all trajectories of one
event.
*/
+2 -3
View File
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/RE04.cc
/// \file RE04.cc
/// \brief Main program of the runAndEvent/RE04 example
//
//
#include "FTFP_BERT.hh"
#include "RE04ActionInitialization.hh"
#include "RE04DetectorConstruction.hh"
@@ -1,10 +1,9 @@
\page ExampleRE04 Example RE04
RE04 - An extended example for run and event
--------------------------------------------
Contact : M.Asai (SLAC)
1. Introduction
## Introduction
This example demonstrates how to define a layered mass
geometry in parallel world. In the mass (tracking) world,
@@ -15,7 +14,7 @@ defined in the parallel world, they rarely interact.
In the parallel world, there are boxes made of water and
lead.
1.1 Geometry
### Geometry
RE04DetectorConstruction defines the mass (tracking)
geometry. It firstly defines all materials which apear
@@ -48,31 +47,14 @@ class defines a parameterization of the parameterized
volume "paraPara", which represents two boxes at different
locations and made of water and lead respectively.
1.2 Physics
### Physics
RE04PhysicsList uses ordinary physics builders. It also
defines G4ParallelWorldProcess which deals with the parallel
world. This G4ParallelWorldProcess is an extension of
G4ParallelWorldScoringProcess. If SetLayeredMaterialFlag()
of this process class is invoked, in addition to taking
care of sensitive detectors in the parallel world, it also
takes care of layered mass geometry. If this set method is
not invoked, it behaves exactly same as G4ParallelWorldScoringProcess.
The constructor of G4ParallelWorldProcess takes the name
of the parallel world physical volume as an argument.
The physics list is taken from referenced physics-list FTFP_BERT
in Geant4.
G4ParallelWorldProcess may be associated only to some
limited kinds of particle types. The parallel world is
seen only bythe particles which have G4ParallelWorldProcess
in their process manager objects. In this RE04 example
G4ParallelWorldProcess is defined to all particle types
except ChargedGeantino. Thus, if you shoot CargedGeantino,
it won't see any volume boundary defined in the parallel
world.
## Macro files
2. Macro files
The macro file "score.mac" defines a scoring mesh which covers
The macro file score.mac defines a scoring mesh which covers
the "Phantom" and scores energy deposition. It shoots 1000
primary particles (by default 10 GeV muon-). Though the mass
world has only air, given tracks, both primary muons and
@@ -80,11 +62,18 @@ secondary particles see water and lead defined in the parallel
world, you will see the energy deposition is not evenly
distributed.
3. User action classes
The macro file batch.mac defines the same setup as score.mac,
but visualization is disabled and the score dump is activated.
In the main() of RE04.cc, three user action classes, i.e.
RE04EventAction, RE04TrackingAction and RE04SteppingAction,
are commented out. By using RE04SteppingAction, you will
## User action classes
In the RE04ActionInitialization class, three user action classes are commented out,
i.e.
- RE04EventAction
- RE04TrackingAction
- RE04SteppingAction
By using RE04SteppingAction, you will
see a material name which a track sees for each step.
By using RE04EventAction and RE04TrackingAction, you will
see the similar information for all trajectories of one
@@ -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
@@ -29,7 +29,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)
@@ -42,13 +41,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:
@@ -201,7 +199,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
@@ -338,7 +336,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
@@ -396,7 +394,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
@@ -428,7 +426,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
@@ -460,7 +458,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
@@ -492,7 +490,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
@@ -524,7 +522,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
@@ -556,7 +554,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
@@ -588,7 +586,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
@@ -843,8 +841,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
@@ -858,9 +856,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
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file include/RE04ActionInitialization.hh
/// \file RE04ActionInitialization.hh
/// \brief Definition of the RE04ActionInitialization class
//
#ifndef RE04ActionInitialization_H
#define RE04ActionInitialization_H 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04DetectorConstruction.hh
/// \file RE04DetectorConstruction.hh
/// \brief Definition of the RE04DetectorConstruction class
//
//
#ifndef RE04DetectorConstruction_h
#define RE04DetectorConstruction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04EventAction.hh
/// \file RE04EventAction.hh
/// \brief Definition of the RE04EventAction class
//
//
#ifndef RE04EventAction_h
#define RE04EventAction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04ParallelWorldConstruction.hh
/// \file RE04ParallelWorldConstruction.hh
/// \brief Definition of the RE04ParallelWorldConstruction class
//
//
#ifndef RE04ParallelWorldConstruction_h
#define RE04ParallelWorldConstruction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04ParallelWorldParam.hh
/// \file RE04ParallelWorldParam.hh
/// \brief Definition of the RE04ParallelWorldParam class
//
//
#ifndef RE04ParallelWorldParam_h
#define RE04ParallelWorldParam_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04PrimaryGeneratorAction.hh
/// \file RE04PrimaryGeneratorAction.hh
/// \brief Definition of the RE04PrimaryGeneratorAction class
//
//
#ifndef RE04PrimaryGeneratorAction_h
#define RE04PrimaryGeneratorAction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04SteppingAction.hh
/// \file RE04SteppingAction.hh
/// \brief Definition of the RE04SteppingAction class
//
//
#ifndef RE04SteppingAction_h
#define RE04SteppingAction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04TrackingAction.hh
/// \file RE04TrackingAction.hh
/// \brief Definition of the RE04TrackingAction class
//
//
#ifndef RE04TrackingAction_h
#define RE04TrackingAction_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04Trajectory.hh
/// \file RE04Trajectory.hh
/// \brief Definition of the RE04Trajectory class
//
//
#ifndef RE04Trajectory_h
#define RE04Trajectory_h 1
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/include/RE04TrajectoryPoint.hh
/// \file RE04TrajectoryPoint.hh
/// \brief Definition of the RE04TrajectoryPoint class
//
//
#ifndef RE04TrajectoryPoint_h
#define RE04TrajectoryPoint_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file src/RE04ActionInitialization.cc
/// \file RE04ActionInitialization.cc
/// \brief Implementation of the RE04ActionInitialization class
//
#include "RE04ActionInitialization.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04DetectorContruction.cc
/// \file RE04DetectorContruction.cc
/// \brief Implementation of the RE04DetectorContruction class
//
//
#include "RE04DetectorConstruction.hh"
#include "G4Box.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04EventAction.cc
/// \file RE04EventAction.cc
/// \brief Implementation of the RE04EventAction class
//
//
#include "RE04EventAction.hh"
#include "RE04Trajectory.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04ParallelWorldConstruction.cc
/// \file RE04ParallelWorldConstruction.cc
/// \brief Implementation of the RE04ParallelWorldConstruction class
//
//
#include "RE04ParallelWorldConstruction.hh"
#include "RE04ParallelWorldParam.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04ParallelWorldParam.cc
/// \file RE04ParallelWorldParam.cc
/// \brief Implementation of the RE04ParallelWorldParam class
//
//
#include "RE04ParallelWorldParam.hh"
#include "G4Box.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04PrimaryGeneratorAction.cc
/// \file RE04PrimaryGeneratorAction.cc
/// \brief Implementation of the RE04PrimaryGeneratorAction class
//
//
#include "RE04PrimaryGeneratorAction.hh"
#include "G4Event.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04SteppingAction.cc
/// \file RE04SteppingAction.cc
/// \brief Implementation of the RE04SteppingAction class
//
//
#include "RE04SteppingAction.hh"
#include "G4Material.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04TrackingAction.cc
/// \file RE04TrackingAction.cc
/// \brief Implementation of the RE04TrackingAction class
//
//
#include "RE04TrackingAction.hh"
#include "RE04Trajectory.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04Trajectory.cc
/// \file RE04Trajectory.cc
/// \brief Implementation of the RE04Trajectory class
//
//
#include "RE04Trajectory.hh"
#include "RE04TrajectoryPoint.hh"
@@ -23,10 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE04/src/RE04TrajectoryPoint.cc
/// \file RE04TrajectoryPoint.cc
/// \brief Implementation of the RE04TrajectoryPoint class
//
//
#include "RE04TrajectoryPoint.hh"
#include "G4AttDef.hh"