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,70 +0,0 @@
///\file "runAndEvent/RE01/.README.txt"
///\brief Example RE01 README page
/*! \page ExampleRE01 Example RE01
Contact : M.Asai (SLAC)
\section RE01_s1 Introduction
This example demonstrates how to connect the information between
primary particles and hits. It also utilize some user-information
classes.
\subsection RE01_s11 Geometry and region information
It has a quite simple cylindrical tracker of 5 layers and a
cylindrical calorimeter of lead and scintillator. Dedicated regions
are assigned to both tracker and calorimeter mother volumes not
for setting additional production thresholds but for adding some
more information to these regions. RE01RegionInformation is the
class for this purpose.
A "readout geometry" is attached to the calorimeter to define
its cells.
\subsection RE01_s12 Physics
This example basically uses QGSP_BERT physics list. In addition
to this, RE01UnknownDecayPhysics is used for adding decay process to
G4UnknownParticle.
\subsection RE01_s13 Event generator
An event sample is attached. This event has a Higgs particle
which decays into e+e- and mu+mu- pairs through two Z bosons.
It uses G4HEPEvtInterface.
In this example, by utilizing G4UnknownParticle, all particles
appear in the primary event are converted to G4Track and then
to RE01Trajectory. Relation between primary particles and track
IDs are shown at the end of event execution.
\section RE01_s2 "Source track" information
"Source track" is meant for a track that is either a primary
particle or a track born is the tracking region. This information
is stored in RE01TrackInformation class object and copied from
a parent track to its daughters.
\subsection RE01_s21 Track suspension
All source tracks are suspended for their tracking when they are
getting into the calorimeter region. Thus, all tracks in the tracker
region are tracked before generating any shower in the calorimeter.
\subsection RE01_s22 Tracker hits associated with primary particle information
Information kept in RE01TrackInformation is used to connect each
tracker hit to the primary particle.
\subsection RE01_s23 Energy deposition of each source track
Utilizing RE01StackingAction, shower generation is done for each
souorce track separately, and thus energy deposition in calorimeter
cells are shown for each individual source track. With the trajectory
information, energy deposition for each primary particle can also
be gotten.
*/
+2 -5
View File
@@ -23,12 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/RE01.cc
/// \file RE01.cc
/// \brief Main program of the runAndEvent/RE01 example
//
//
//
//
// --------------------------------------------------------------
// GEANT4 - RE01 exsample code
//
@@ -1,16 +1,15 @@
\page ExampleRE01 Example RE01
RE01 - An extended example for run and event
--------------------------------------------
Contact : M.Asai (SLAC)
1. Introduction
## Introduction
This example demonstrates how to connect the information between
primary particles and hits. It also utilize some user-information
classes.
1.1 Geometry and region information
### Geometry and region information
It has a quite simple cylindrical tracker of 5 layers and a
cylindrical calorimeter of lead and scintillator. Dedicated regions
@@ -21,13 +20,13 @@ class for this purpose.
A "readout geometry" is attached to the calorimeter to define
its cells.
1.2 Physics
### Physics
This example basically uses QGSP_BERT physics list. In addition
to this, RE01UnknownDecayPhysics is used for adding decay process to
to this, G4UnknownDecayPhysics is used for adding decay process to
G4UnknownParticle.
1.3 Event generator
### Event generator
An event sample is attached. This event has a Higgs particle
which decays into e+e- and mu+mu- pairs through two Z bosons.
@@ -37,25 +36,25 @@ appear in the primary event are converted to G4Track and then
to RE01Trajectory. Relation between primary particles and track
IDs are shown at the end of event execution.
2. "Source track" information
## "Source track" information
"Source track" is meant for a track that is either a primary
particle or a track born is the tracking region. This information
is stored in RE01TrackInformation class object and copied from
a parent track to its daughters.
2.1 Track suspension
### Track suspension
All source tracks are suspended for their tracking when they are
getting into the calorimeter region. Thus, all tracks in the tracker
region are tracked before generating any shower in the calorimeter.
2.2 Tracker hits associated with primary particle information
### Tracker hits associated with primary particle information
Information kept in RE01TrackInformation is used to connect each
tracker hit to the primary particle.
2.3 Energy deposition of each source track
### Energy deposition of each source track
Utilizing RE01StackingAction, shower generation is done for each
souorce track separately, and thus energy deposition in calorimeter
@@ -63,4 +62,3 @@ cells are shown for each individual source track. With the trajectory
information, energy deposition for each primary particle can also
be gotten.
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file include/RE01ActionInitialization.hh
/// \file RE01ActionInitialization.hh
/// \brief Definition of the RE01ActionInitialization class
//
#ifndef RE01ActionInitialization_H
#define RE01ActionInitialization_H 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01CalorimeterHit.hh
/// \file RE01CalorimeterHit.hh
/// \brief Definition of the RE01CalorimeterHit class
//
//
#ifndef RE01CalorimeterHit_h
#define RE01CalorimeterHit_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01CalorimeterParametrisation.hh
/// \file RE01CalorimeterParametrisation.hh
/// \brief Definition of the RE01CalorimeterParametrisation class
//
//
#ifndef RE01CalorimeterParametrisation_H
#define RE01CalorimeterParametrisation_H 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01CalorimeterROGeometry.hh
/// \file RE01CalorimeterROGeometry.hh
/// \brief Definition of the RE01CalorimeterROGeometry class
//
//
#ifndef RE01CalorimeterROGeometry_h
#define RE01CalorimeterROGeometry_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01CalorimeterSD.hh
/// \file RE01CalorimeterSD.hh
/// \brief Definition of the RE01CalorimeterSD class
//
//
#ifndef RE01CalorimeterSD_h
#define RE01CalorimeterSD_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01DetectorConstruction.hh
/// \file RE01DetectorConstruction.hh
/// \brief Definition of the RE01DetectorConstruction class
//
//
#ifndef RE01DetectorConstruction_h
#define RE01DetectorConstruction_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01DetectorParameterDef.hh
/// \file RE01DetectorParameterDef.hh
/// \brief Definition of the RE01DetectorParameterDef class
//
//
G4double fExpHall_x;
G4double fExpHall_y;
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01EventAction.hh
/// \file RE01EventAction.hh
/// \brief Definition of the RE01EventAction class
//
//
#ifndef RE01EventAction_h
#define RE01EventAction_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01Field.hh
/// \file RE01Field.hh
/// \brief Definition of the RE01Field class
//
//
#ifndef RE01Field_H
#define RE01Field_H 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01PrimaryGeneratorAction.hh
/// \file RE01PrimaryGeneratorAction.hh
/// \brief Definition of the RE01PrimaryGeneratorAction class
//
//
#ifndef RE01PrimaryGeneratorAction_h
#define RE01PrimaryGeneratorAction_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01PrimaryGeneratorMessenger.hh
/// \file RE01PrimaryGeneratorMessenger.hh
/// \brief Definition of the RE01PrimaryGeneratorMessenger class
//
//
#ifndef RE01PrimaryGeneratorMessenger_h
#define RE01PrimaryGeneratorMessenger_h 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01RegionInformation.hh
/// \file RE01RegionInformation.hh
/// \brief Definition of the RE01RegionInformation class
//
//
//
#ifndef RE01RegionInformation_H
#define RE01RegionInformation_H 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01RunAction.hh
/// \file RE01RunAction.hh
/// \brief Definition of the RE01RunAction class
//
//
//
#ifndef RE01RunAction_h
#define RE01RunAction_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01StackingAction.hh
/// \file RE01StackingAction.hh
/// \brief Definition of the RE01StackingAction class
//
//
#ifndef RE01StackingAction_H
#define RE01StackingAction_H 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01SteppingAction.hh
/// \file RE01SteppingAction.hh
/// \brief Definition of the RE01SteppingAction class
//
//
#ifndef RE01SteppingAction_H
#define RE01SteppingAction_H 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01TrackInformation.hh
/// \file RE01TrackInformation.hh
/// \brief Definition of the RE01TrackInformation class
//
//
//
#ifndef RE01TrackInformation_h
#define RE01TrackInformation_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01TrackerHit.hh
/// \file RE01TrackerHit.hh
/// \brief Definition of the RE01TrackerHit class
//
//
#ifndef RE01TrackerHit_h
#define RE01TrackerHit_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01TrackerParametrisation.hh
/// \file RE01TrackerParametrisation.hh
/// \brief Definition of the RE01TrackerParametrisation class
//
//
#ifndef RE01TrackerParametrisation_H
#define RE01TrackerParametrisation_H 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01TrackerSD.hh
/// \file RE01TrackerSD.hh
/// \brief Definition of the RE01TrackerSD class
//
//
#ifndef RE01TrackerSD_h
#define RE01TrackerSD_h 1
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01TrackingAction.hh
/// \file RE01TrackingAction.hh
/// \brief Definition of the RE01TrackingAction class
//
//
#ifndef RE01TrackingAction_h
#define RE01TrackingAction_h 1
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/include/RE01Trajectory.hh
/// \file RE01Trajectory.hh
/// \brief Definition of the RE01Trajectory class
//
//
//
#ifndef RE01Trajectory_h
#define RE01Trajectory_h 1
File diff suppressed because it is too large Load Diff
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// \file src/RE01ActionInitialization.cc
/// \file RE01ActionInitialization.cc
/// \brief Implementation of the RE01ActionInitialization class
//
#include "RE01ActionInitialization.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01CalorimeterHit.cc
/// \file RE01CalorimeterHit.cc
/// \brief Implementation of the RE01CalorimeterHit class
//
//
//
#include "RE01CalorimeterHit.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01CalorimeterParametrisation.cc
/// \file RE01CalorimeterParametrisation.cc
/// \brief Implementation of the RE01CalorimeterParametrisation class
//
//
#include "RE01CalorimeterParametrisation.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01CalorimeterROGeometry.cc
/// \file RE01CalorimeterROGeometry.cc
/// \brief Implementation of the RE01CalorimeterROGeometry class
//
//
#include "RE01CalorimeterROGeometry.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01CalorimeterSD.cc
/// \file RE01CalorimeterSD.cc
/// \brief Implementation of the RE01CalorimeterSD class
//
//
#include "RE01CalorimeterSD.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01DetectorConstruction.cc
/// \file RE01DetectorConstruction.cc
/// \brief Implementation of the RE01DetectorConstruction class
//
//
#include "RE01DetectorConstruction.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01EventAction.cc
/// \file RE01EventAction.cc
/// \brief Implementation of the RE01EventAction class
//
//
#include "RE01EventAction.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01Field.cc
/// \file RE01Field.cc
/// \brief Implementation of the RE01Field class
//
//
#include "RE01Field.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01PrimaryGeneratorAction.cc
/// \file RE01PrimaryGeneratorAction.cc
/// \brief Implementation of the RE01PrimaryGeneratorAction class
//
//
#include "RE01PrimaryGeneratorAction.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01PrimaryGeneratorMessenger.cc
/// \file RE01PrimaryGeneratorMessenger.cc
/// \brief Implementation of the RE01PrimaryGeneratorMessenger class
//
//
#include "RE01PrimaryGeneratorMessenger.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01RegionInformation.cc
/// \file RE01RegionInformation.cc
/// \brief Implementation of the RE01RegionInformation class
//
//
//
#include "RE01RegionInformation.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01RunAction.cc
/// \file RE01RunAction.cc
/// \brief Implementation of the RE01RunAction class
//
//
//
#include "RE01RunAction.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01StackingAction.cc
/// \file RE01StackingAction.cc
/// \brief Implementation of the RE01StackingAction class
//
//
#include "RE01StackingAction.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01SteppingAction.cc
/// \file RE01SteppingAction.cc
/// \brief Implementation of the RE01SteppingAction class
//
//
#include "RE01SteppingAction.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01TrackInformation.cc
/// \file RE01TrackInformation.cc
/// \brief Implementation of the RE01TrackInformation class
//
//
//
#include "RE01TrackInformation.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01TrackerHit.cc
/// \file RE01TrackerHit.cc
/// \brief Implementation of the RE01TrackerHit class
//
//
#include "RE01TrackerHit.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01TrackerParametrisation.cc
/// \file RE01TrackerParametrisation.cc
/// \brief Implementation of the RE01TrackerParametrisation class
//
//
#include "RE01TrackerParametrisation.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01TrackerSD.cc
/// \file RE01TrackerSD.cc
/// \brief Implementation of the RE01TrackerSD class
//
//
#include "RE01TrackerSD.hh"
@@ -23,10 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01TrackingAction.cc
/// \file RE01TrackingAction.cc
/// \brief Implementation of the RE01TrackingAction class
//
//
#include "RE01TrackingAction.hh"
@@ -23,11 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file runAndEvent/RE01/src/RE01Trajectory.cc
/// \file RE01Trajectory.cc
/// \brief Implementation of the RE01Trajectory class
//
//
//
#include "RE01Trajectory.hh"