Import Geant4 11.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2021-12-12 17:16:06 +01:00
parent 80e2389dd8
commit 84f33a068c
593 changed files with 68589 additions and 1 deletions
@@ -0,0 +1,46 @@
------------------------------------------------------------------------------
This file and NEW_APP_INSTALL describe important information if you are
planning to create a new parallel Geant4 application, similarly
to the examples ParN02 and ParN04.
This package implements event-level parallelism for Geant4
using the free TOP-C distribution. (TOP-C = Task Oriented Parallel C/C++)
To parallelize an existing sequential Geant4 application, read NEW_APP_INSTALL.
The design goals are:
1. No modification of the Geant4 kernel libraries.
2. Application sessions should be efficient and reproducible
(independently of the number of slave processes and the
order in which they are called by TOP-C)
3. Setting deterministic random seeds on each slave
[ This code assumes that each slave will initialize its random state
based on either the event number or a random seed selected
on the master.]
This assumes that you have already installed CLHEP, Geant4, and TOP-C
TOP-C can be downloaded via its home page:
http://www.ccs.neu.edu/home/gene/topc.html
Other qualifications are:
1. It has only been tested under Linux, although it should be
portable to any other UNIX supported by Geant4.
2. Since Geant4 does not currently support a uniform format for
tracker hits, calorimeter hits, etc., on new applications,
you may have to write marshalling code for your hits, based
on the examples in ParN02 and ParN04.
3. This should support histograms as long as AnalysisManager::Step() is
is trivial. However, I have not had the opportunity
for careful testing. Please write to gene@ccs.neu.edu if you
are including histograms, and especially if you define
AnalysisManager::Step().
4. Currently, this distribution does not support:
trajectory stores, n-tuples, track parallelism,
interactive input commands (no macrofile)
I plan to add those features according to demand.
Probably: a. allowing interactive input
b. track-level parallelism
c. other (trajectory store, PostponeOneEvent(), ...)
Some design assumptions in this ParGeant4 implementation:
1. A collectionName for a G4HitsCollection uniquely identifies the
G4HitsCollection within a G4HCofThisEvent.
@@ -0,0 +1,114 @@
<HTML lang="en">
<HEAD> <!-- -*-text-*- -->
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>ParGeant4 README</TITLE>
<link rev="made" href="mailto:gene@ccs.neu.edu">
<META NAME="Description" CONTENT="ParGeant4 is a parallelization
ofGeant4 using TOP-C/C++ (Task Oriented Parallel C/C++).
It is free, open source software.">
<META NAME="Keywords" CONTENT="ParGeant4, Geant4, TOP-C, parallel computing,
unix open source, free, NoW, Beowulf, SMP, DSM">
<META NAME="Language" CONTENT="English">
<meta name="Author" content="Gene Cooperman">
<meta name="Modified" content="2002-02-25">
</HEAD>
<BODY bgcolor="#FFFFFF">
<H1>ParGeant4 README</H1>
<center>
by <a href="http://www.ccs.neu.edu/home/gene/">Gene Cooperman</a>
(<a href="mailto:gene@ccs.neu.edu">gene@ccs.neu.edu</a>)
</center>
There is also a <a href="http://www.ccs.neu.edu/home/gene/pargeant4.html">
ParGeant4 Home Page</a>, which will be updated more frequently than
this page.
<P>
This distribution implements event-level parallelism for
<a href="http://cern.ch/geant4">Geant4</a>
using the free TOP-C distribution.
(<a href="http://www.ccs.neu.edu/home/gene/topc.html">TOP-C
= Task Oriented Parallel C/C++</a>)
<P>
These are example parallelizations that parallelize examples/novice/N02
and examples/novice/N04 of the Geant4 distribution.
The files also contain information on how to write new parallel
Geant4 applications or parallelize existing sequential Geant4
applications.
<P>
<PRE>
The design goals are:
1. No modification of the Geant4 kernel libraries.
2. Application sessions should be efficient and reproducible
(independently of the number of slave processes and the
order in which they are called by TOP-C)
3. Setting deterministic random seeds on each slave
[ This code assumes that each slave will initialize its random state
based on either the event number or a random seed selected
on the master.]
This assumes that you have already installed CLHEP, Geant4, and TOP-C
TOP-C can be downloaded via its home page:
http://www.ccs.neu.edu/home/gene/topc.html
Other qualifications are:
1. `topc-config' is already in your path.
2. It has only been tested under Linux, although it should be
portable to any other UNIX supported by Geant4.
3. Currently, this distribution does not support:
histograms, trajectory stores, n-tuples, track parallelism,
interactive input commands (no macrofile)
I plan to add those features according to demand.
Probably: a. histograms (I believe histograms work now, but I don't
have a ready test application. If someone does, could
you either check yourself if the parallelization works
for histograms, or tell me, and I'll parallelize it.)
b. track-level parallelism
c. allowing interactive input
d. other
</PRE>
<!--
Some design assumptions of Geant4 used here:
1. A collectionName for a G4HitsCollection uniquely identifies the
G4HitsCollection within a G4HCofThisEvent.
-->
<P>
ParGeant4 has been demonstrated to run over the Computational Grid
using a new TOP-C communication layer, with support for the Grid,
based on Ampic. See related paper:
<br>
G. Cooperman, H. Casanova, J. Hayes and T. Witzel,
``Using TOP-C and AMPIC to Port Large Parallel Applications
to the Computational Grid'',
<em>Proc. of 2nd IEEC/ACM Interantional Symposium
on Cluster Computing and the Grid (CCGrid)</em>, 2002,
to appear
<P>
(This material is based in part upon work supported by the National Science
Foundation under Grants No. 9732330 and 9872114. Any opinions, findings, and
conclusions or recommendations expressed in this material are those of
the author(s) and do not necessarily reflect the views of the National
Science Foundation.)
<P>
<ADDRESS>
Gene Cooperman<br>
College of Computer Science, 215CN<br>
Northeastern University<br>
Boston, MA 02115 <br>
e-mail: gene@ccs.neu.edu<br>
Phone: (617) 373-8686<br>
Fax: (617) 373-5121
</ADDRESS>
<script language="JavaScript">
<!---//hide script from old browsers
document.write( "<br>Last updated "+ document.lastModified );
//end hiding contents --->
</script>
</BODY>
</HTML>