Import Geant4 1.0.0 source tree
This commit is contained in:
@@ -0,0 +1,222 @@
|
||||
----- How to visualize Geant4 simulation -----
|
||||
----- with VRML-network drivers and g4vrmlview -----
|
||||
|
||||
November 04, 1999
|
||||
|
||||
Satoshi Tanaka and Yasuhide Sawada
|
||||
Fukui University, Japan
|
||||
tanaka@i1nws1.fuis.fukui-u.ac.jp
|
||||
|
||||
------------------------
|
||||
Section 1: Introduction
|
||||
------------------------
|
||||
|
||||
This is a document to explain how to perform Geant4
|
||||
"remote" visualization with VRML. You can visualize Geant4
|
||||
simulation on your WWW browser.
|
||||
You have to prepare the following softwares beforehand:
|
||||
|
||||
(1) Geant4
|
||||
(2) g4vrmlview, a small java software included in the Geant4 package
|
||||
|
||||
geant4/source/visualization/VRML/g4vrmlview/
|
||||
|
||||
Or you can also obtain it from our ftp site:
|
||||
|
||||
ftp://i1nws2.fuis.fukui-u.ac.jp/pub/graphics
|
||||
/fukui_graphics_system/g4vrmlview_VERSION.tar.gz
|
||||
|
||||
|
||||
(3) VRML browser, e.g., vrweb, VRMLview, etc
|
||||
|
||||
|
||||
-----------------------------------------------
|
||||
Section 2: What is the Geant4 VRML-network drivers?
|
||||
-----------------------------------------------
|
||||
|
||||
Geant4 VRML-network drivers are included in visualization category of
|
||||
the Geant4 package:
|
||||
|
||||
geant4/source/visualization/VRML/
|
||||
|
||||
The VRML-network drivers work as follows:
|
||||
|
||||
(1) Convert 3D data of Geant4 simulation into VRML 1.0/2.0 codes.
|
||||
(2) Send the generated VRML codes to another process of "g4vrmlview",
|
||||
running at either local or remote host.
|
||||
|
||||
(Note: For local visualization, use the VRML-file drivers,
|
||||
which can be invoked with the following commands:
|
||||
|
||||
.....
|
||||
|
||||
Idle> /vis/sceneHandler/create VRML1FILE
|
||||
|
||||
for VRML 1.0 and
|
||||
|
||||
Idle> /vis/sceneHandler/create VRML2FILE
|
||||
|
||||
for VRML 2.0.
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Section 3: Environmental variables to customize the VRML-network drivers
|
||||
------------------------------------------------------------------------
|
||||
|
||||
You can customize the VRML-network drivers by setting environmental
|
||||
variables at Geant4 host, i.e., the host where Geant4 runs:
|
||||
|
||||
Geant4_host % setenv G4VRML_PORT port_number
|
||||
Geant4_host % setenv G4VRML_HOST_NAME host_name
|
||||
|
||||
The default port number is 40801, and the default host name
|
||||
is "localhost". You need not define the environmental
|
||||
variables if you use the default values.
|
||||
|
||||
|
||||
---------------------------------
|
||||
Section 4: What is g4vrmlview?
|
||||
---------------------------------
|
||||
|
||||
g4vrmlview is a software written in java.
|
||||
It works as follows:
|
||||
|
||||
(1) Receive VRML codes from a VRML-network driver of Geant4
|
||||
via local or wide-area network.
|
||||
(2) Save the received VRML codes to a local file named "g4.wrl" etc.
|
||||
(3) Invoke a VRML viewer, which is specified at the command line,
|
||||
automatically.
|
||||
|
||||
--------------------------------------
|
||||
Section 5: How to install g4vrmlview
|
||||
--------------------------------------
|
||||
|
||||
You need JDK1.1 to install g4vrmlview.
|
||||
The installation can be done by doing the following steps:
|
||||
|
||||
(1) % cd g4vrmlview
|
||||
(2) Edit Makefile and set a proper directory name to variable
|
||||
"INSTALL_DIR". The default setting is:
|
||||
|
||||
INSTALL_DIR = "/usr/local/javaclass"
|
||||
|
||||
Later, java classes (g4vrmlview.class etc) are installed
|
||||
to the directory specified by the variable INSTALL_DIR.
|
||||
|
||||
(3) Set the environmental variable "CLASSPATH" in .cshrc etc.
|
||||
(This step can be skipped in some platforms.)
|
||||
For example, if JDK1.1.1 is installed in the directory
|
||||
"/usr/local/dev/jdk1.1.1" and you want to install g4vrmlview
|
||||
into "/usr/local/javaclass", then the variable CLASSPATH
|
||||
should be defined as:
|
||||
|
||||
# java in Unix (.cshrc)
|
||||
setenv CLASSPATH .:/usr/local/dev/jdk1.1.1/lib/classes.zip:\
|
||||
/usr/local/javaclass
|
||||
|
||||
Similarly, in Windows NT/95, if JDK.1.1 is installed in
|
||||
the directory "C:\jdk1.1.1" and you want to install g4vrmlview
|
||||
into C:\dev\javaclass, you should add the following lines to
|
||||
AUTOEXEC.BAT:
|
||||
|
||||
# java in Windows NT/95 (autoexec.bat)
|
||||
SET CLASSPATH = .;C:\jdk1.1.1\lib\classes.zip;C:\dev\javaclass
|
||||
|
||||
(4) % make clean
|
||||
(5) % make
|
||||
|
||||
(6) Test created java classes using g4mini.
|
||||
You can do it using two separate windows,
|
||||
instead of using two separate hosts.
|
||||
Here we assume that we use windows named "window_1"
|
||||
and "window_2", and use the VRML browser "vrweb".
|
||||
|
||||
window_1 % java g4vrmlview vrweb
|
||||
Waiting for requests at port 40801 ...
|
||||
|
||||
window_2 % java g4vrmlview vrweb
|
||||
% java g4mini
|
||||
Usage: java g4mini src_file server_hostname
|
||||
|
||||
window_2 % java g4mini sample.wrl localhost
|
||||
|
||||
The test is successful if you see pictures on the VRML browser.
|
||||
|
||||
Now you can use g4vrmlview if the class path of java is,
|
||||
explicitly or implicitly set to the current directory.
|
||||
Go on to the next step if you want to install g4vrmlview into
|
||||
a public place.
|
||||
|
||||
Here you have to become root if you do not have permission
|
||||
to INSTALL_DIR. If the directory INSTALL_DIR does not exist,
|
||||
it will be created automatically.
|
||||
|
||||
(5) % make install
|
||||
|
||||
|
||||
--------------------------------------
|
||||
Section 6: How to use g4vrmlview
|
||||
--------------------------------------
|
||||
|
||||
(1) Invoke g4vrmlview at the host where g4vrmlview runs,
|
||||
say, "VRML_host". For example,
|
||||
|
||||
VRML_host% java g4vrmlview VRML_browser_name
|
||||
|
||||
where the last argument is a name of your favorite VRML browser.
|
||||
|
||||
(2) Invoke Geant4 at the host, where Geant4 runs, say, Geant4_host.
|
||||
For example,
|
||||
|
||||
Geant4_host% exampleN03
|
||||
|
||||
.....
|
||||
|
||||
Idel> /vis/sceneHandler/create VRML1
|
||||
|
||||
for VRML 1.0 and
|
||||
|
||||
Idel> /vis/sceneHandler/create VRML2
|
||||
|
||||
for VRML 2.0.
|
||||
|
||||
|
||||
---------------------------------------
|
||||
Section 7: More notes on g4vrmlview
|
||||
---------------------------------------
|
||||
|
||||
(1) Format of invoking g4vrmlview:
|
||||
|
||||
% java g4vrmlview VRML_browser_name [port_number]
|
||||
|
||||
VRML_browser_name:
|
||||
"netscape", "vrweb", etc,
|
||||
or "NONE" to suppress invoking VRML browser
|
||||
|
||||
port_number:
|
||||
The default port number is 40801.
|
||||
If you have set the environmental variable
|
||||
"G4VRML_PORT" at Geant4 host,
|
||||
you have to give the same port number.
|
||||
For example,
|
||||
|
||||
Geant4_host % setenv G4VRML_PORT 40802
|
||||
VRML_host % java g4vrmlview netscape 40802
|
||||
|
||||
(2) Auto increment of port number:
|
||||
If the port number 40801 is already in use, it is
|
||||
automatically incremented one by one up to 40810.
|
||||
|
||||
(3) Multiple thread:
|
||||
g4vrmlview is a multi-thread software.
|
||||
It can accept data from plural Geant4 at the same time.
|
||||
|
||||
(4) Saving VRML codes to files:
|
||||
VRML codes sent from Geant4 is saved to a file named
|
||||
"g4.wrl". If g4.wrl already exists, the file name is
|
||||
incremented to g4_2.wrl. Similarly the file name is
|
||||
incremented to g4_3.wrl, g4_4.wrl, etc.
|
||||
The files are created in the directory where you invoked g4vrmlview.
|
||||
|
||||
|
||||
===== End of document =====
|
||||
@@ -1,12 +1,12 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: g4mini.java,v 1.1 1999/01/07 16:15:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: g4mini.java,v 1.1.10.1 1999/12/07 20:53:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: g4vrmlview.java,v 1.1 1999/01/07 16:15:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: g4vrmlview.java,v 1.1.10.1 1999/12/07 20:53:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
Reference in New Issue
Block a user