Import Geant4 0.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:09:25 +02:00
parent b97f8d0df7
commit aaa409b6ee
2922 changed files with 55107 additions and 81674 deletions
+47 -47
View File
@@ -1,70 +1,72 @@
G3toG4
------
The Geant4 facility to convert Geant3 to GEant4 volumes.
See the documentation section of the repository for more information.
G3toG4 is the Geant4 facility to convert Geant3 geometries into Geant4.
This is done in two stages.
19-Mar-1997:
'gmake' issued from the test/ subdirectory will create an executable
'clGeometry' which reads the call list file generated by rztog4, builds a
geometry and calls the visualization package. This has been tested with the
visualization based on OpenGL and Mesa (freeware OpenGL).
To use the visualization, you need to set one or more of the following
environment variables:
First, the user supplies a Geant3 .rz file containing the initialization
data structures. An executable, rztog4, reads this file and produces an
ascii ("call list") file containing instructions on how to build the
geometry. The source code for this is fortran.
setenv G4VIS_USE_DAWN
setenv G4VIS_USE_OPACS
setenv G4VIS_USE_OPENGL
setenv G4VIS_USE_OPENGLX
setenv G4VIS_USE_OPENGLXM
setenv G4VIS_USE_OPENINVENTOR
setenv G4VIS_USE_RAYX
setenv G4VIS_USE_VRML1
Second, a call list interpreter (G4BuildGeom.cc) reads these instructions
and builds the geometry in the user's G4 client code. Two examples of how
to use the call list interpreter are supplied in g3tog4/examples.
The following gmake invocations do the following
The first example, cltog4, is a simple example which simply invokes the
call list interpreter method G4BuildGeom from G3toG4DetectorConstruction
class, builds the geometry and exits.
gmake libF : build libG3toG4F.a (rztog4 object archive)
The second example, clGeometry, is more complete and is patterned after
the novice G4 examples. It also invokes the call list interpreter, but in
addition, allows the geometry to be visualized and particles to be
tracked. Currently, G3toG4 does not provide a method for scoring hits in
G4.
gmake libC : build libG3toG4.a (code to parse call list file and call G4
routines)
To build these examples, especially the one involving visualization, the
user must have one or more of the following environment variables set:
gmake lib : libC and libF targets
setenv G4VIS_BUILD_<driver>_DRIVER
setenv G4VIS_USE_<driver>
gmake bin : build rztog4 executable
where the G4-supported drivers are listed in $(G4BASE)/visualization/README.
gmake : build lib targets
To use the freeware Mesa API, you must have the environment variable
OGLHOME defined to point to the directory containing the Mesa lib/ directory
specific to your platform.
gmake ext : build external packages, including BREPS and STEP
Then the user must build the global Geant4 libraries by issuing the
following command from the geant4/source directory:
gmake examples: build cltog4 and clGeometry executables
gmake global
gmake cltog4: build cltog4 executable
To compile and build the G3toG4 libraries, simply type
gmake clGeometry: build clGeometry executable
gmake
gmake all : ext lib bin examples
from the top-level G3toG4 directory.
The code in the visualization subdirectory OpenGL/ must be compiled on a
machine on which the OpenGL header files have been installed. The compilation
of G3toG4 and external packages is done as follows:
To build the converter executable "rztog4", simply type
gmake bin
To build the example executables, simply type:
gmake examples
To make everything, simply type:
gmake all
In the global/GNUmakefile.architecture file, you need to specify where to
find the OpenGL libraries. I currently use the freeware version of OpenGL
called 'Mesa'. I specify
To remove all G3toG4 libraries, executables and .d files, simply type
OGLLIBS := -L$(OGLHOME)/lib -lMesaGL -lMesaGLU -lMesaaux -lMesatk
gmake clean
The AIX version is
OGLLIBS := -L$(OGLHOME)/lib -lGLX -lGLU -lGL -lXGLW -lglobalm5
Notes on the implementation (Sep 24 '96)
the implementation (April '99)
----------------------------------------
- PGON, PCON still not in; awaiting Geant4 constructors. 100m^3
boxes are generated for PGON, PCON at present.
- MANY not available in Geant4 yet.
- PGON, PCON are built using the CSG classes G4Polycone and G4Polyhedra.
- G3 MANY feature has not been tested.
- GsROTM is fully implemented and supports rotations and mirror reflections
- GSPOSP implemented via individual logical volumes for each instantiation
(G4PVIndexed doesn't exist yet)
- GSDV* routines for dividing volumes implemented, using
@@ -76,7 +78,5 @@ Notes on the implementation (Sep 24 '96)
hit code can be activated.
- GSPART has to be updated.
- Usage of magnetic field class has to be turned on.
- Use of G4UserLimits has to be reviewed and turned on.
- GNUmakefile is tested only on HP
See History file for modificartion history.
See History file for modification history.