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,64 +0,0 @@
/// @file "MPI/examples/exMPI03/.README.txt"
/// @brief Example exMPI03 README
/*! \page exMPI03 Example : exMPI03
Description
===========
An example of dosimetry in a water phantom.
The example has same geometry and physics as exMPI02, only the analysis part
is diffenrent.
### Configuration:
- Geometry : water phantom
- Primary : broad beam (200 MeV proton)
- Physics List : FTFP_BERT
- Analysis : g4tools histogramming
The environment variables, *G4LEDATA*, *G4LEVELGAMMADATA* and *G4SAIDXSDATA*
are required for data files.
### Features:
- Score dose distribution in a water phantom.
- Learn how to paralleized your applications.
- Create a ROOT file containing histograms/trees in each node.
Each slave node generate a ROOT file, whose file name is different
from each other.
- MT is enabled.
- One of each object supported by g4tools is instantiated: 1D, 2D and 3D
histograms and 1D and 2D profiles.
- Histograms and profiles are merged first among threads of the same
MPI-rank and then across MPI-ranks. See RunActionMaster class for
an example on how to use the mergers.
- G4Run object and scorers (command line ones) are also merged via
MPI.
- Output: several root files are created: dose-rank*.root thread-merged
histograms for each rank; dose-merged.root, merged across threads and
across ranks.
How to build
============
Use CMake on Geant4 library installed with CMake build.
This example requires G4mpi library to be installed
(see examples/extended/parallel/MPI/source/REDME.md)
Follow these commands,
> mkdir build
> cd build
> cmake -DG4mpi_DIR=<where-G4mpi-wasintalled>/lib[64]/G4mpi -DCMAKE_CXX_COMPILER=mpicxx \
-DGeant4_DIR=<your Geant4 install path>/lib[64]/Geant4-V.m.n <path-to-source>
(V.m.n is the version of Geant4, eg. Geant4-9.6.0)
> make
> make install
Replace mpicxx with your MPI-compiler wrapper.
How to run
----------
> mpiexec -n # ./exMPI03 [run.mac]
*/
@@ -1,3 +1,5 @@
\page ExampleexMPI03 Example : exMPI03
MPI/Examples : exMPI03
======================
@@ -22,9 +22,9 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
/// @file exMPI03.cc
//
/// @brief A MPI example code
/// \file exMPI03.cc
/// \brief Main program of the MPI/exMPI03 example
#include "G4MPImanager.hh"
#include "G4MPIsession.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file ActionInitialization.hh
/// @brief Define action initialization
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
///
/// Define action initialization
#ifndef ACTION_INITIALIZATION_H
#define ACTION_INITIALIZATION_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file Analysis.hh
/// @brief Define histograms
/// \file Analysis.hh
/// \brief Definition of the Analysis class
///
/// Define histograms
#ifndef ANALYSIS_MANAGER_H
#define ANALYSIS_MANAGER_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file DetectorConstruction.hh
/// @brief Define geometry
/// \file DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
///
/// Define geometry
#ifndef DETECTOR_CONSTRUCTION_H
#define DETECTOR_CONSTRUCTION_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file EventAction.hh
/// @brief Describe event actions
/// \file EventAction.hh
/// \brief Definition of the EventAction class
///
/// Describe event actions
#ifndef EVENT_ACTION_H
#define EVENT_ACTION_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file MedicalBeam.hh
/// @brief Define beam profile as primary generator
/// \file MedicalBeam.hh
/// \brief Definition of the MedicalBeam class
///
/// Define beam profile as primary generator
#ifndef MEDICAL_BEAM_H
#define MEDICAL_BEAM_H
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Run.hh
/// \brief Definition of the Run class
#ifndef RUN_HH
#define RUN_HH
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file RunAction.hh
/// @brief Describe run actions
/// \file RunAction.hh
/// \brief Definition of the RunAction class
///
/// Describe run actions
#ifndef RUN_ACTION_H
#define RUN_ACTION_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file RunActionMaster.hh
/// @brief Describe run actions
/// \file RunActionMaster.hh
/// \brief Definition of the RunActionMaster class
///
/// Describe run actions
#ifndef RUN_ACTIONMASTER_H
#define RUN_ACTIONMASTER_H
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file RunMerger.hh
/// \brief Definition of the RunMerger class
#ifndef MPIRUNMERGER_HH
#define MPIRUNMERGER_HH
#include "Run.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file VoxelParam.hh
/// @brief Define voxel parameterization
/// \file VoxelParam.hh
/// \brief Definition of the VoxelParam class
///
/// Define voxel parameterization
#ifndef VOXEL_PARAM_H
#define VOXEL_PARAM_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file VoxelSD.hh
/// @brief Define detector sensitivity on voxels
/// \file VoxelSD.hh
/// \brief Definition of the VoxelSD class
///
/// Define detector sensitivity on voxels
#ifndef VOXEL_SD_H
#define VOXEL_SD_H
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file ActionInitialization.cc
/// @brief Define action initialization
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
///
/// Define action initialization
#include "ActionInitialization.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file Analysis.cc
/// @brief Define histograms
/// \file Analysis.cc
/// \brief Implementation of the Analysis class
///
/// Define histograms
#include "Analysis.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file DetectorConstruction.hh
/// @brief Define geometry
/// \file DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
///
/// Define geometry
#include "DetectorConstruction.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file EventAction.cc
/// @brief Describe event actions
/// \file EventAction.cc
/// \brief Implementation of the EventAction class
///
/// Describe event actions
#include "EventAction.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file MedicalBeam.cc
/// @brief Define beam profile as primary generator
/// \file MedicalBeam.cc
/// \brief Implementation of the CLHEP::MedicalBeam class
///
/// Define beam profile as primary generator
#include "MedicalBeam.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file Run.cc
/// \brief Implementation of the Run class
#include "Run.hh"
#include <atomic>
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file RunAction.cc
/// @brief Describe run actions
/// \file RunAction.cc
/// \brief Implementation of the RunAction class
///
/// Describe run actions
#include "RunAction.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file RunActionMaster.cc
/// @brief Describe run actions
/// \file RunActionMaster.cc
/// \brief Implementation of the RunActionMaster class
///
/// Describe run actions
#include "RunActionMaster.hh"
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file RunMerger.cc
/// \brief Implementation of the RunMerger class
#include "RunMerger.hh"
#include "Run.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file VoxelParam.cc
/// @brief Define voxel parameterization
/// \file VoxelParam.cc
/// \brief Implementation of the VoxelParam class
///
/// Define voxel parameterization
#include "VoxelParam.hh"
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
/// @file VoxelSD.cc
/// @brief Define detector sensitivity on voxels
/// \file VoxelSD.cc
/// \brief Implementation of the VoxelSD class
///
/// Define detector sensitivity on voxels
// #include "G4MPImanager.hh"
#include "VoxelSD.hh"