Java Web Start version is also supported. If user has installed Java Web Start, GGE(or as a part of MOMO) can be started directly from the web browser without typing java command on the console.
Tips!
Every row represents a material.
The periodic table is popped up to the
window, when "append" or "insert" a material button is pushed.
The foundamental properties of atoms; Z, A, etc. are built in to the
atomic table and are copied appropriately.
The atomic table can be hidden by a menu button on its top.
Following functionaliteis are implemented;
Constructors of G4PVPlacement
Following four types of constructor are implemented, according to the type of
rotation and type of the mother volume.
Knowing GGE's naming convention is helpful to read the generated C++ code as well as using GGE correctly. Look at relevant Geant4 constructors will be very suggestive.
4) A First Lesson; how to use GGE.
Here is a walk-through of how to use GGE.
4.1) Visualize the prefabricated detector sample
1) In a xterm, type %java gge
2) In the "Volume window", select "Load a Volume file" menu
and double click on "trumpetBREP.g4dt"
3) Click "Makesource" and select "Make C++ code". Have a look of the generated C++ code.
4) Save the C++ code (overwrite the existing one)
in .../GGEmake/src/MyDetectorConstruction.cc" using the file chooser.
5) In another xterm, go to the directory GGEmake/ and type
%make G4TARGET=myGGEdetector
Watch if there is any compilation error. At present,
GGE is made so that it generates correct C++ codes,
if a user uses GGE correctly.
In the example of "trumpetBREP.g4dt", a few warnings are shown on BREP.
6) Check that you have "myGGEdetector" executable, in $(G4INSTALL)/bin/$(G4SYSTEM)
7) In another xterm, type
%java gag
and with the "Run GEANT4" button, choose and run "myGGEdetector".
8) Use /control/execute command and double click on "GGEdraw.g4m".
To have a better view, use vis~ commands (camera/viewpoint, zoom etc).
You can select DAWNFILE to draw and have a PS hardcopy.
4.2) Modify the prefabricated detector
Now let's change the detector configuration. Go to the "Volume" window
and change any part of it, including material.
4.2.1) Changing materials
1) First, you have to "Clear Material" in the Material editor.
2) Then, select "Load material" and double click on "MaterialDB.g4mt".
Now you have a list of materials.
3) Then, in the "Logical Volume" panel, double click the box you want to change
and type in the name of the material in the material editor.
4) Change as many materials as you like and push "Used Material" button.
You see that materials you have typed in are marked "Used" in red.
If not, you might have mistyped the name of a material.
5) If you want to use additional materials, select "Use" in the material
editor (the leftmost column).
6) Push "Makesource" and see your change has been realized in the C++ code.
NOTE!! Be careful that there are no duplicated "Used" materials, when
you load the material DB without "Clear Material".
4.2.2) Modifying the size parameters of solids
To change the sizes of G4 solids
1) click a "solid" box of the logical volume of your choice.
2) You have a pop-up window to edit the parameters. Change a parameter
or its unit, as you like.
3) Push "Makesource" and see if your changes have been correctly applied
to C++ code.
4) In case of BREP solids, the pop-up window has variable number of columns
to accept any number of nodes.
5) For complicated solids like BREPs, preview may be useful. Click "View"
button and you have a view with the DAWN renderer. Its g4.prim file
is also shown in an edit-able widget.
4.2.3) Changing the type of solid of an existing logical volume
You may want to replace the current G4Solid with another one. In the
present GGE you can't do so directly. You have to "Create" a new logical
volume with the type of solid you want and then delete the unnecessary volume.
1) Choose your new solid with "Select Solid" combo-box.
2) Push "Create" button and you have a pop-up window to input parameters.
3) Type in numbers and select their units.
4) Preview if you like and then push "OK".
5) Check the C++ code.
4.2.4) Changing visualization attributes (Color).
1) You have to "Create" a new VisAttributes
2) Upon the "Create" button, you have a Color Chooser.
3) Select RGB (not HSV). Set your color with slide-bars.
4) Give it a name, and push "OK". Then you have a color circle and name in the
VisAttrib panel.
5) Edit the VisAtb box in the LogicalVolume panel.
6) See the C++ code.
4.2.5) Changing Repeated Volumes
"exampleN01.g4dt" contains three "single positioned volumes"
and one "repeated volumes" in the X direction.
Change the parameter of repetition such as the number
or width, or you can add another "repeated volumes"
in another direction.
In "trumpetBREP.g4dt" you can edit BREPs, adding new faces etc..
b) making C++ code "MyDetectorConstruction.cc" and compile.
Finally, back to the step 3 and recompile.
Opening GGE, compile, GAG simultaneously, you can
test and improve the geometry, just like creating
HTML or TeX documents.
2.4) GGEmake; a directory containing the GEANT4 codes to compile and visualize the detector
a) implemented
+ GNUmakefile
+ myDetector.cc ; main() with GAG session and visualization manager
+ src/ directory contains
+ MyDetectorConstruction.cc
+ MyPhysicsList.cc
+ MyPrimaryGeneratorAction.cc
+ MyVisManager.cc
+ include/ directory
2.5) compile and visualize with Momo and GAG
a) implemented
+ canonical scheme of GEANT4 to compile
+ make G4TARGET=myDetector
+ the binary is created as $G4INSTALL/bin/G4SYSTEM/myDetector
+ Momo (GAG, Compile and GGE buttons)
+ rapid cycling of GGE and GAG to edit and view the geometry
+ a macro file for visualization (OGLIX default) "DrawDAWN.g4m", etc..
b) not implemented
- automatic "calibration" of the detector with geantino
2.6) exemplary persistent detector files with *.g4dt suffix
+ 3D array of lead plates using translational RVArrangement
+ BREP Pcones trumpetss using axially symmetric RVArrangement
+ Replicas to form cylinders
-------------------------------------------------------------------------
3) Installation The minimum set to get C++ source code 1) GGE.jar file 2) Java interpreter ; java Additional set to compile 3) GEANT4 toolkit with compiled libraries 4) GGEmake directory Additional set to visualise and use GUI 4) DAWN (plus Ghostview) or OGLIX or VRML 5) GAG (Java version) or GAG.jar file Additional too to make life easy 6) Momo to use all the above ingredients; Momo.jar file (without Momo, you have to invoke GGE, compile and GAG respectively in windows.) 3.1) Java and Swing We have tested GGE on Unix-en (Linux and Solaris) and Windows (95/NT). 3.1.1) Unix: + Linux: jdk1.1.3 or later(i.,e., jdk-1.1.6) + Swing-1.0.2 1) jdk1.1.5 may have bugs, while jdk1.1.6 works 2) GGE co-works with Swing-1.0.2 and not with 1.0.1 (or maybe not with 1.0.3). 3) we are testing the current GGE with JRE1.2-beta04. The present source can be compiled but doesn't execute correctly. In any case Sun has announced on 17 August that JDK1.2 will be delayed till November!! + Solaris: jdk1.1.6 + swing-1.0.2 We assume that you have 1)jdk1.1.6/bin/java (Java interpreter) to which paths are set 2)Swing-1.0.2 which is defreezed and placed in $HOME/swing/swingall.jar 3.1.2) Windows: We use JBuilder2 with Swing-1.0.2. Note that you have to eliminate all other libraries than swing-1.0.2, after having copied it into JBuilder2. We are trying JDK1.2beta4 + JRE1.2 with JBuilder2. NOTE! At present we have not Momo/GAG for Windows. So, you can only create C++ code under the Windows. 3.2) GGE and related files The latest product of GGE is that of Sep. 24. All *.java, *.class and GGE.jar files are placed in geant4beta/environments/Momo/java/Momo/GGE Only "GGE.jar" file is necessary to run GGE. GGE/*.java GGE source files GGE/*.class GGE byte code files GGE/GGE.jar jar archive file to which CLASSPATH must be set GGE/*.g4mt material database after PDG data GGE/*.g4dt exampleN0x detector file C++ source codes and GNUmakefiles to compile with GEANT4 are placed in geant4beta/environments/Momo/GGEmake. Only geantino is instantiated in the initialization of GEANT4, so that it is quite rapid to have a visualization of the geometry. You can choose DAWN, OpenGL or VRML system. GGEmake/myGGEdetector.cc main() program /GNUmakefile /src /src/MyDetectorConstruction.cc C++ generated by GGE /src/MyPrimaryGeneratorAction.cc geantino gun /src/MyVisManager.cc DAWN, DAWNFILE, OGLIX, OGLSX, VRML1, VRML1FILE /src/MyPhysicsList.cc geantino definition /include/*.hh /GGEdraw.g4m default macro file to visualize with OGLIX 3.3) install, setenv and run %set path=($path jdk1.1.6/bin) <=== add the path to java and javac %setenv CLASSPATH .:$HOME/swing/swingall.jar:$HOME/geant4beta/environments/Momo/java/Momo/GGE/GGE.jar Then in any directory, you can invoke GGE. %java gge 3.4) DAWN, Tcl/Tk and Postscript for the preview of CSG or BREP solids If you don't use GGE's preview button, these are not necessary. If you want to preview G4Solids, you have to install DAWN, Fukui renderer as well as Tcl/Tk wish (Tcl/Tk 8.0) for its GUI. DAWN uses also Postscript to draw *.prim files. For the visualization of the whole detector, DAWN or Mesa (for OGLIX) are necessary. 3.5) GEANT4 toolkit and its environments The visualization manager instantiates DAWN, DAWNFILE, OPENGLIX, OPENGLSX, VRML, VRMLFILE. So, you have to setenv accordingly.