Files
geant4/source/g3tog4
2016-06-01 15:25:35 +02:00
..
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00
2016-06-01 15:25:35 +02:00

G3toG4
------

The Geant4 facility to convert Geant3 to GEant4 volumes.
See the documentation section of the repository for more information.

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:

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

The following gmake invocations do the following

gmake libF :	build libG3toG4F.a (rztog4 object archive)

gmake libC :    build libG3toG4.a (code to parse call list file and call G4 
		routines)

gmake lib  : 	libC and libF targets

gmake bin  :	build rztog4 executable

gmake      :	build lib targets

gmake ext  :	build external packages, including BREPS and STEP

gmake examples: build cltog4 and clGeometry executables

gmake cltog4:	build cltog4 executable

gmake clGeometry: build clGeometry executable	

gmake all  :	ext lib bin examples

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:

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

OGLLIBS   := -L$(OGLHOME)/lib -lMesaGL -lMesaGLU -lMesaaux -lMesatk

The AIX version is

OGLLIBS   := -L$(OGLHOME)/lib -lGLX -lGLU -lGL -lXGLW -lglobalm5

Notes on the implementation (Sep 24 '96)
----------------------------------------
- PGON, PCON still not in; awaiting Geant4 constructors. 100m^3
  boxes are generated for PGON, PCON at present.
- MANY not available in Geant4 yet.
- GSPOSP implemented via individual logical volumes for each instantiation
  (G4PVIndexed doesn't exist yet)
- GSDV* routines for dividing volumes implemented, using
  G4PVReplicas, G4PVParametrised
- GSROTM is implemented
- hits are not implemented. Hit code is do-nothing. (It is
  coded up, but hit class references are commented out.)
  The digits+hits code has to be updated before G3toG4's
  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.