Geant4 Cross Reference (Editor's cut)

Cross-Referencing   Geant4
Geant4/g3tog4/README

Version: [ ReleaseNotes ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3 ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ]

  1 G3toG4
  2 ------
  3 
  4 G3toG4 is the Geant4 facility to convert Geant3 geometries into Geant4.
  5 This is done in two stages. 
  6 
  7 First, the user supplies a Geant3 .rz file containing the initialization
  8 data structures. An executable, rztog4, reads this file and produces an
  9 ascii ("call list") file containing instructions on how to build the
 10 geometry. The source code for this is fortran. 
 11 
 12 Second, a call list interpreter (G4BuildGeom.cc) reads these instructions
 13 and builds the geometry in the user's G4 client code.
 14 
 15 Two examples of how to use the call list interpreter are supplied in
 16 examples/extended/g3tog4:
 17  - the first example, cltog4, is a simple example which simply invokes the
 18    call list interpreter method G4BuildGeom from G3toG4DetectorConstruction
 19    class, builds the geometry and exits. 
 20  - the second example, clGeometry, is more complete and is patterned after
 21    the novice G4 examples. It also invokes the call list interpreter, but
 22    in addition, allows the geometry to be visualized and particles to be
 23    tracked. Currently, G3toG4 does not provide a method for scoring hits
 24    in G4.
 25 
 26 To build these examples, especially the one involving visualization, the
 27 user must have one or more of the following environment variables set:
 28 
 29 setenv G4VIS_BUILD_<driver>_DRIVER
 30 setenv G4VIS_USE_<driver>
 31 
 32 where the G4-supported drivers are listed in source/visualization/README.
 33 
 34 To use the freeware Mesa API, you must have the environment variable
 35 OGLHOME defined to point to the directory containing the Mesa lib/ directory
 36 specific to your platform.
 37 
 38 To compile and build the G3toG4 libraries, simply type
 39 
 40 gmake
 41 
 42 from the top-level G3toG4 directory. 
 43 
 44 To build the converter executable "rztog4", simply type
 45 
 46 gmake bin
 47 
 48 To make everything, simply type:
 49 
 50 gmake global
 51 
 52 To remove all G3toG4 libraries, executables and .d files, simply type
 53 
 54 gmake clean
 55 
 56  the implementation (April 1999)
 57 ----------------------------------------
 58 - PGON, PCON are built using the CSG classes G4Polycone and G4Polyhedra.
 59 - G3 MANY feature has not been tested.
 60 - GsROTM is fully implemented and supports rotations and mirror reflections
 61 - GSPOSP implemented via individual logical volumes for each instantiation
 62   (G4PVIndexed doesn't exist yet)
 63 - GSDV* routines for dividing volumes implemented, using
 64   G4PVReplicas, G4PVParametrised
 65 - GSROTM is implemented
 66 - hits are not implemented. Hit code is do-nothing. (It is
 67   coded up, but hit class references are commented out.)
 68   The digits+hits code has to be updated before G3toG4's
 69   hit code can be activated.
 70 - GSPART has to be updated.
 71 - Usage of magnetic field class has to be turned on.
 72 
 73  the implementation (February 2001)
 74 ----------------------------------------
 75 - Supported shapes: all G3 shapes except for
 76   "HYPE", "GTRA", "CTUB"
 77 - G3 MANY feature is not supported.
 78 - GSDV* routines for dividing volumes implemented, using
 79   G4PVReplicas, for shapes:
 80       "BOX", "TUBE", "TUBS", "PARA" - all axes;
 81       "CONE", "CONS" - axes 2, 3;
 82       "TRD1", "TRD2", "TRAP" - axis 3; 
 83       "PGON", "PCON" - axis 2;
 84       "PARA" -axis 1; axis 2,3 for a special case
 85   Unsupported shapes:    
 86       "SPHE", "ELTU", "HYPE", "GTRA", "CTUB"
 87             
 88  the implementation (November 2001)
 89 ----------------------------------------
 90 - Support for G3 MANY feature:
 91 
 92   MANY positions are resolved in G3toG4MANY function,
 93   which has to be processed before G3toG4BuildTree
 94   (it is not called by default).
 95   In order to resolve MANY user code has to provide
 96   additional info using G4gsbool(G4String volName, G4String manyVolName)
 97   function) for all overlapping volumes. Daughters of
 98   overlapping volumes are then resolved automatically
 99   and should not be specified via Gsbool.
100   
101   Limitation: a volume with a MANY position can have only this
102   one position; if more than one position is needed a new volume
103   has to be defined (gsvolu) for each position.
104 
105 See History file for modification history.