Import Geant4 11.4.0 source tree
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
/// @file "MPI/examples/exMPI04/.README.txt"
|
||||
/// @brief Example exMPI04 README
|
||||
|
||||
/*! \page exMPI04 Example : exMPI04
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
An example of dosimetry in a water phantom.
|
||||
The example is as exMPI03, but adds output in G4analysis ntuple
|
||||
and demonstrates ntuple merging.
|
||||
|
||||
In difference from merging other data (G4Run, scorers, hitograms),
|
||||
the ntuple data are not sent to the collecting rank(s) at the
|
||||
end of run but during event processing. That's why (an) extra rank(s)
|
||||
have to be reserved for this purpose. The number of extra workers requested
|
||||
is set in G4MPImanager constructor in main(). While G4MPImanager
|
||||
can be created with any number of extra workers (< total number),
|
||||
the ntuple merging is at present supported only for one.
|
||||
|
||||
The extra worker is connected to the run action class via G4MPIextraWorker
|
||||
object which is set to G4MPImanager in main().
|
||||
The standard calls to G4AnalysisManager (creating ntuple, open, write and
|
||||
close file) trigger creating all necessary analysis tools object
|
||||
for merging ntuple data on flight.
|
||||
|
||||
MPI ntuple merging can be activated in sequential mode only;
|
||||
this activation is perfomed by creating the G4MPIntupleMerger
|
||||
object in the RunActionMaster constructor.
|
||||
The merger must be created before creating G4AnalysisManager
|
||||
(= the first call to G4AnalysisManager::Instance())
|
||||
and deleted only at the end of program.
|
||||
|
||||
If multithreading mode is enabled, the ntuples are merged from
|
||||
threads to files per ranks.
|
||||
Combined MT + MPI merging is not yet supported.
|
||||
Merging ntuples is actually supported only with Root output format.
|
||||
|
||||
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 # ./exMPI04 [run.mac]
|
||||
|
||||
*/
|
||||
@@ -1,3 +1,5 @@
|
||||
\page ExampleexMPI04 Example : exMPI04
|
||||
|
||||
MPI/Examples : exMPI04
|
||||
======================
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
/// @file exMPI04.cc
|
||||
//
|
||||
/// @brief A MPI example code
|
||||
/// \file exMPI04.cc
|
||||
/// \brief Main program of the MPI/exMPI04 example
|
||||
|
||||
#include "G4MPIextraWorker.hh"
|
||||
#include "G4MPImanager.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 and ntuples
|
||||
/// \file Analysis.cc
|
||||
/// \brief Implementation of the Analysis class
|
||||
///
|
||||
/// Define histograms and ntuples
|
||||
|
||||
#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"
|
||||
|
||||
Reference in New Issue
Block a user