Import Geant4 0.1.0 source tree
This commit is contained in:
+47
-47
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user