Installation guides are available for a variety of different
Geant4 releases and operating systems.
Be sure to use the appropriate guide for your Geant4 release and system. The full set of guides can be found at:
http://geant4.slac.stanford.edu/installation
What are the two pieces of software
required for building Geant4?
Single versus
Multi-User Installation
Selecting an Example Application
Building an Example
Application
How to Go Back and Change Choices
from./Configure -build
XCode:
XCode is a set of developer tools that includes the gcc compiler that is recommended for Geant4 on Macintosh OSX.
For OSX 10.4, any version of XCode in the 2.x series from 2.2 onwards will work.
For OSX 10.5, any version of XCode from 2.5 through 3.1.x will work.
For OSX 10.6, any version of XCode from 3.2 onwards will work.
Other versions of XCode will give you problems. To check your version, go to the Apple menu, "About this Mac", "More InfoÉ", "Software Applications" and then find XCode.
If you need to pick up a new version of XCode, you can get it from:
http://developer.apple.com/mac/
Look for "Download Xcode" on that page.
Note that the download is very large, over 900MB, so get yourself on a fast network.
You must register with Apple Developer Connection, but there is no charge.
The site makes it easy to find the latest version of XCode,
appropriate for OSX 10.6, but harder to find the older versions, appropriate
for OSX 10.5 and OSX 10.4. Here's
how to find those earlier versions:
Log in.
Click "Member Site" in the right hand column.
Log in again.
Click "Downloads".
Click "Developer Tools" in the right hand column.
You can then search for the appropriate XCode version in the
resulting page.
X11:
X11 is the XWindows system for Macintosh OSX. It comes with your OS X Mac on the installation DVD, but is not generally pre-installed.
Insert the Mac OS X installation DVD into your Mac.
Double-click on the Optional Installs package, open Applications and select X11.
Or use Spotlight to search for a file named X11User.pkg. It is typically in /Volumes/Mac OS X Install DVD/System/Installation/Packages. Click on this package to start the installation process.
You should end up with X11.app in Applications/Utilities.
If you don't have X11, you can still use Geant4 on your Mac, but you will not be able to output graphics to OpenGL. You should answer "no" when the Geant4 configuration script asks about OpenGL and RayTracerX, and then just use one of the other Geant4 graphics drivers such as HepRepFile (see some notes on HepRepFile later in this guide).
Later, when you have X11 installed, you can rerun the Geant4 configuration script, answer "yes" for OpenGL and RayTracerX, and Geant4 will recompile only those parts of the code that care about the difference.
CLHEP:
CLHEP is a set of base libraries that have long provided great functionality for the particle physics community. They provide things like matrix manipulations, four-vector tools and lists of particle properties. The Geant4 collaboration has chosen to use these libraries rather than re-invent these wheels. Please note that while CLHEP and Geant4 both come out of the particle physics communities, they are separate products - the Geant4 collaboration is not responsible for maintenance, distribution or documentation of CLHEP.
Go to the CLHEP source download page:
http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/clhep.html
From the "Source" section near the bottom of the page, select "clhep-2.0.4.2.tgz"
which corresponds to:
http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/distributions/clhep-2.0.4.2.tgz
The file is about 3.4MB.
The file will automatically unzip and will be placed on your desktop as:
clhep-2.0.4.2.tar
Click on the file.
It will automatically un-tar and leave you with a folder on your desktop:
2.0.4.2
Create a folder in your Applications folder called CLHEP
Put the downloaded folder there, so that you now have:
/Applications/CLHEP/2.0.4.2
For the following step, note that there are two dashes in a row before the word "prefix".
And be sure to point to your top level CLHEP directory, NOT:
/Applications/CLHEP/2.0.4.2/CLHEP
In a terminal window, navigate into the unpacked directory
and begin the configuration process.
cd /Applications/CLHEP/2.0.4.2/CLHEP
./configure --prefix /Applications/CLHEP
You should get a response that starts with:
checking
build system type... i686-apple-darwin9.7.0
checking
host system type... i686-apple-darwin9.7.0
checking
target system type... i686-apple-darwin9.7.0
checking
for a BSD-compatible install... /usr/bin/install -c
checking
whether build environment is sane... yes
And ends with:
config.status:
creating test/exctest4.sh
config.status:
creating test/exctestNothrow.sh
config.status:
creating test/excDblThrow.sh
config.status:
creating Exceptions/defs.h
config.status:
executing depfiles commands
The complete output from the above command can be found in this same web directory as:
For the following, be sure to type make rather than gmake. Users coming from a Linux background may instead be used to typing gmake. It can be very hard to remember which of these to type. Most Mac users will not have any command called gmake, but if you do find such a command, there's no telling where it came from and it will not necessarily do the correct thing for CLHEP or Geant4.
Run the build process:
make
You should get a response that starts with:
Making
all in Units
Making
all in Units
make all-am
make[3]:
Nothing to be done for `all-am'.
Making
all in .
/Applications/CLHEP/2.0.4.2/CLHEP/Units/autotools/install-sh
-d
And ends with:
liblist=`./getObjectList
-shared Units Vector Evaluator GenericFunctions Geometry Random Matrix
RandomObjects RefCount Cast Exceptions`; \
g++ -O -ansi -pedantic
-Wall -D_GNU_SOURCE -g -O2
-o libCLHEP-2.0.4.2.dylib -dynamiclib -single_module -undefined
dynamic_lookup -Wl,-install_name,libCLHEP-2.0.4.2.dylib $liblist -o
libCLHEP-2.0.4.2.dylib
./build-header
The complete output from the above command can be found in this same web directory as:
Move the build products to their installation area (again, be careful you don't accidentally use gmake - you need to use make):
make install
You should get a response that starts with:
Making
install in Units
Making
install in Units
make[3]:
Nothing to be done for `install-exec-am'.
test
-z "/Applications/CLHEP/include/CLHEP/Units" ||
/Applications/CLHEP/2.0.4.2/CLHEP/Units/autotools/install-sh -d
"/Applications/CLHEP/include/CLHEP/Units"
And ends with:
if
test -f ClhepVersion.h; then \
echo " /usr/bin/install -c -m 644
'ClhepVersion.h' '/Applications/CLHEP/include/CLHEP/ClhepVersion.h'"; \
/usr/bin/install -c -m 644
"ClhepVersion.h"
"/Applications/CLHEP/include/CLHEP/ClhepVersion.h"; \
else :; fi
/usr/bin/install -c -m 644
'ClhepVersion.h' '/Applications/CLHEP/include/CLHEP/ClhepVersion.h'
make[2]:
Nothing to be done for `install-data-am'.
The complete output from the above command can be found in this same web directory as:
You will now have directories such as:
/Applications/CLHEP/include
and
/Applications/CLHEP/lib
You're done setting up CLHEP.
We do not recommend you run the "make check" command described in the CLHEP documentation unless you really want to. If you do, note that it will report some errors that you can ignore, such as:
FAIL:
testMatrix.sh
FAIL:
testInversion.sh
FAIL: testBug6181
Much more detailed instructions on installation of CLHEP are available from the CLHEP web site:
http://proj-clhep.web.cern.ch/proj-clhep/INSTALLATION/newCLHEP-install.html
From the top of the Geant4 home page:
http://geant4.web.cern.ch/geant4/
Select "Download" from near the top right corner of the page.
Select "Unix tar format, compressed using gzip"
which corresponds to:
http://geant4.web.cern.ch/geant4/support/source/geant4.9.2.p02.tar.gz
The file is about 18M.
The file will automatically unzip and will be placed on your desktop as:
geant4.9.2.p02.tar
Click on the file.
It will automatically un-tar and leave you with a folder on your desktop:
geant4.9.2.p02
Put this into your Applications folder.
Depending on the physics of your particular application, you may need to install additional data files. These data files can be downloaded separately from the Geant4 source distribution page (the same place where you got Geant4 itself).
Create a new folder within /Applications/geant4.9.2.p02 to hold any of these required data files.
/Applications/geant4.9.2.p02/data
For now, pick up the "data files for low energy electromagnetic processes":
http://geant4.web.cern.ch/geant4/support/source/G4EMLOW.6.2.tar.gz
The file is about 8.0M.
The file will automatically unzip and will be placed on your desktop as:
G4EMLOW6.2.tar
Click on the file.
It will automatically un-tar and leave you with a folder on your desktop:
G4EMLOW6.2
Put this into your Applications/geant4.9.2.p02/data folder.
TAKE YOUR TIME AT THIS STAGE, DON'T RUSH IT.
Mistakes made at this stage can be very time-consuming to correct. Slow down.
Maybe get a cup of coffee (or a glass of wine) before you proceed. Breathe.
Finally, unless you're absolutely sure you are starting from a nice clean system, make sure you don't have any pre-existing Geant4 environment variables. You can use the "printenv" command to show all variables, and filter this with a "grep" for the string G4 as follows:
From a Terminal or xterm window:
printenv | grep G4
If any variables show up, find out what is setting them and remove them. They might be coming from some other script that you invoke upon login for some other project. Take the time now to find the cause and resolve it.
If you have a multi-core computer, you can speed up the following step dramatically by instructing your system to use more than one core. This has a huge effect. To do this, set the -j MAKEFLAG to the number of cores that you wish to use. The following sets a system to use two cores:
export MAKEFLAGS="-j 2"
From a Terminal or xterm window:
cd /Applications/geant4.9.2.p02/
./Configure -build
You will be asked a series of questions.
In most cases, you can just take the default response (by hitting carriage return).
But pay close attention so that you do not accept the default for certain questions listed below.
Along the way you will see a message "Failed to locate one or more of the Geant4 data libraries..." Don't worry about this. The additional data libraries are not required for the simple physics in our initial examples. They can be loaded later as needed. For now, just accept the default response (by hitting carriage return).
When the configure script says:
Could
not find CLHEP installed on this system!
Please,
specify where CLHEP is installed:
First, confirm that you have installed your CLHEP to
/Applications/CLHEP
Make sure you have lib, bin and include subdirectories in that directory.
If not, recheck your CLHEP installation. If so, proceed.
Enter: /Applications/CLHEP
Or wherever you've decided to keep CLHEP.
Take the default for everything else except:
When it asks about:
G4VIS_BUILD_OPENGLX_DRIVER
G4VIS_USE_OPENGLX
Enter: y
This tells Geant4 that you want to include the optional OpenGL Visualization driver.
When it asks about:
G4VIS_BUILD_RAYTRACERX_DRIVER
G4VIS_USE_RAYTRACERX
Enter: y
This tells Geant4 that you want to include the optional RayTracerX Visualization driver.
Take the default for everything else.
Once all of the questions have been answered, you will be told:
WARNING:
the generated configuration file
can
be edited if necessary!
You
can introduce any change to the configuration file
/Applications/geant4.9.2.p02/.config/bin/Darwin-g++/config.sh
before the final installation.
To
do so, use a shell escape now (e.g. !vi
/Applications/geant4.9.2.p02/.config/bin/Darwin-g++/config.sh).
Press
[Enter] to start installation or use a shell escape to edit config.sh:
At this point, what you have seen in this question and answer session should match what you find in this web directory as:
You are ready to proceed with the build.
Hit Enter.
You will then see:
Now
starting Geant4 libraries build...
On
this machine the G4SYSTEM=Darwin-g++
On
this machine the G4INSTALL=/Applications/geant4.9.2.p02
On
this machine the G4TMP=/Applications/geant4.9.2.p02/tmp
On
this machine the G4LIB=/Applications/geant4.9.2.p02/lib
On
this machine the
G4LEVELGAMMADATA=/Applications/geant4.9.2.p02/data/PhotonEvaporation2.0
On
this machine the
G4RADIOACTIVEDATA=/Applications/geant4.9.2.p02/data/RadioactiveDecay3.2
On
this machine the G4LEDATA=/Applications/geant4.9.2.p02/data/G4EMLOW6.2
On
this machine the G4NEUTRONHPDATA=/Applications/geant4.9.2.p02/data/G4NDL3.13
On
this machine the G4ABLADATA=/Applications/geant4.9.2.p02/data/G4ABLA3.0
On
this machine the CLHEP_BASE_DIR=/Applications/CLHEP
On
this machine the CLHEP_INCLUDE_DIR=/Applications/CLHEP/include
On
this machine the CLHEP_LIB_DIR=/Applications/CLHEP/lib
On
this machine the CLHEP_LIB=CLHEP
On
this machine G4UI_NONE is not set - following UIs will be built:
On
this machine G4VIS_NONE is not set - following drivers will be built:
On
this machine the G4VIS_BUILD_OPENGLX_DRIVER=1
On
this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=1
On
this machine the G4VIS_USE_OPENGLX=1
On
this machine the G4VIS_USE_RAYTRACERX=1
On
this machine the XMFLAGS=
On
this machine the XMLIBS=
On
this machine the XMFLAGS=
On
this machine the XAWFLAGS=
On
this machine the XAWLIBS=
On
this machine the G4LIB_BUILD_STATIC=1
On
this machine the G4LIB_USE_GRANULAR=1
Starting
build...
*************************************************************
Installation Geant4 version :
geant4-09-02-patch-02
Copyright (C) 1994-2009 Geant4
Collaboration
*************************************************************
Making
dependency for file src/G4ios.cc ...
Making
dependency for file src/G4coutDestination.cc ...
Making
dependency for file src/G4VStateDependent.cc ...
Making
dependency for file src/G4VNotifier.cc ...
Making
dependency for file src/G4VExceptionHandler.cc ...
Making
dependency for file src/G4UnitsTable.cc ...
Making
dependency for file src/G4Timer.cc ...
Making
dependency for file src/G4StateManager.cc ...
Making
dependency for file src/G4SliceTimer.cc ...
Making
dependency for file src/G4PhysicsVector.cc ...
Making
dependency for file src/G4PhysicsTable.cc ...
Making
dependency for file src/G4PhysicsOrderedFreeVector.cc ...
Making
dependency for file src/G4PhysicsLogVector.cc ...
Making
dependency for file src/G4PhysicsLnVector.cc ...
Making
dependency for file src/G4PhysicsLinearVector.cc ...
Making
dependency for file src/G4PhysicsFreeVector.cc ...
Making
dependency for file src/G4OrderedTable.cc ...
Making
dependency for file src/G4LPhysicsFreeVector.cc ...
Making
dependency for file src/G4GeometryTolerance.cc ...
Making
dependency for file src/G4Exception.cc ...
Making
dependency for file src/G4ErrorPropagatorData.cc ...
Making
dependency for file src/G4DataVector.cc ...
Making
dependency for file src/G4AllocatorPool.cc ...
Compiling
G4AllocatorPool.cc ...
Compiling
G4DataVector.cc ...
Compiling
G4ErrorPropagatorData.cc ...
Compiling
G4Exception.cc ...
Once you see any lines like:
Compiling G4AllocatorPool.cc ...
with no errors,
the compilation is successfully under way.
Adjust your machine's power management properties so that it doesn't go to sleep, and then walk away for a long long time. Wait, and wait, and wait, for the initial compilation to run.
The same information that is showing on the console is also being written to a log file so that you can review it later if necessary. The information will appear in:
/Applications/geant4.9.2.p02/.config/bin/Darwin-g++/g4make.log
An example of how this log file should look can be found in this same web directory as:
When you get to the part about G4OpenGL, you may see some warning messages that can be ignored. They will have the form:
Creating/replacing
object files in /Applications/geant4.9.2.p02/lib/Darwin-g++/libG4OpenGL.a ...
ar:
creating archive /Applications/geant4.9.2.p02/lib/Darwin-g++/libG4OpenGL.a
ranlib:
file:
/Applications/geant4.9.2.p02/lib/Darwin-g++/libG4OpenGL.a(G4OpenGLImmediateQt.o)
has no symbols
ranlib:
file:
/Applications/geant4.9.2.p02/lib/Darwin-g++/libG4OpenGL.a(G4OpenGLImmediateQtViewer.o)
has no symbols
You can ignore these. OpenGL will still be usable.
Eventually, you will see messages stating that libname.map has been built, then you will see messages about successful completion:
Libmap
stage. Searching for GNUmakefiles and sorting ...
Weeding
out paths and files ...
Making
libname.map starter file ...
Making
libname.map ...
Reading library name map file...
Reading dependency files...
Checking for circular dependencies...
Reordering according to dependencies...
Writing new library map file...
Libraries
installation completed !
####################################################
#
Your Geant4 installation seems to be successful!
#
To be sure please have a look into the log file:
#
/Applications/geant4.9.2.p02/.config/bin/Darwin-g++/g4make.log
####################################################
The above instructions assumed you were doing a single-user installation. They had you keep all of the build products in the same area as your CLHEP and Geant4 source. Note however that both of these packages support standard multi-user installation processes.
For CLHEP, just specify a different value for "--prefix".
When Geant4's ./Configure -build asks you to "Specify the path where Geant4 libraries and source files should be installed", specify the area you want the code to eventually be installed.
When Geant4's ./Configure -build asks you about the CLHEP library, be sure to specify the same location that you specified during the CLHEP installation.
After you finish the ./Configure -build, issue an additional command to copy the libraries and header files to the installation area:
./Configure -install.
The configure process has set up some environment variables that you will want to have in future sessions. Have configure make you an environment setup script by typing:
./Configure
(that was with no options, as opposed to ./Configure -build that you typed earlier).
You will see the following:
--- Geant4 Toolkit Installation ---
(setting environments for USER )
---------------------------------------------------
The Geant4 toolkit installation was found.
The files env.[c]sh will be copied to your current directory.
For setting Geant4 environments you should make:
source env.csh
or
. env.sh
It will also check G4WORKDIR setting and set it to
your HOME if needed.
You can use these files also for further modifications
(adding your own environments).
---------------------------------------------------
Your directory /Applications/geant4.9.2.p02 will now contain two scripts:
env.sh
and
env.csh
You have now built the Geant4 toolkit. If you have learned a little about
Geant4, you will know that Geant4 is not an application but rather a toolkit
from which you can build any number of applications. So before you can test Geant4, you need an example
application.
You should create a new directory, outside of your Geant4
installation area, where you will keep your example applications. This separation of spaces will help you
avoid accidentally messing up your main Geant4 installation, and will insure
that if you eventually update your main Geant4 installation (for example when a
newer Geant4 release is available), your personal application work will not be
disturbed.
Create a new directory for your work, and designate it as
your G4WORKDIR.
For example, if you want your work to be in /Applications/g4work:
export G4WORKDIR=/Applications/g4work
You can try any of the Geant4 examples. Some suggested starting points are any of the Novice examples
/Applications/geant4.9.2.p02/examples/novice
or the analysis example
/Applications/geant4.9.2.p02/examples/extended/analysis/A01
Each example is described in a detailed README it the example's top level directory.
Whichever example you choose, copy it to your Geant4 work
directory.
For example, you might end up with:
/Applications/g4work/A01
Note that this step needs to be redone any time you start a fresh Terminal or xterm window.
Type:
export G4WORKDIR=/Applications/g4work
export DYLD_LIBRARY_PATH=/Applications/CLHEP/lib
source /Applications/geant4.9.2.p02/env.sh
It will respond:
On
this machine the G4SYSTEM=Darwin-g++
On
this machine the G4INSTALL=/Applications/geant4.9.2.p02
On
this machine the G4LIB=/Applications/geant4.9.2.p02/lib
On
this machine the G4LEVELGAMMADATA=
/Applications/geant4.9.2.p02/data/PhotonEvaporation2.0
On
this machine the G4RADIOACTIVEDATA=
/Applications/geant4.9.2.p02/data/RadioactiveDecay3.2
On
this machine the G4LEDATA=/Applications/geant4.9.2.p02/data/G4EMLOW6.2
On
this machine the G4NEUTRONHPDATA=/Applications/geant4.9.2.p02/data/G4NDL3.13
On
this machine the G4ABLADATA=/Applications/geant4.9.2.p02/data/G4ABLA3.0
On
this machine the CLHEP_BASE_DIR=/Applications/CLHEP
On
this machine the CLHEP_INCLUDE_DIR=/Applications/CLHEP/include
On
this machine the CLHEP_LIB_DIR=/Applications/CLHEP/lib
On
this machine the CLHEP_LIB=CLHEP
On
this machine the G4UI_USE_TCSH=1
On
this machine the G4VIS_BUILD_OPENGLX_DRIVER=1
On
this machine the G4VIS_BUILD_RAYTRACERX_DRIVER=1
On
this machine the G4VIS_USE_OPENGLX=1
On
this machine the G4VIS_USE_RAYTRACERX=1
On
this machine the XMFLAGS=
On
this machine the XMLIBS=
On
this machine the XMFLAGS=
On
this machine the XAWFLAGS=
On
this machine the XAWLIBS=
On
this machine the G4LIB_BUILD_STATIC=1
On
this machine the G4LIB_USE_GRANULAR=1
A further note about the environment setup scripts:
The env scripts do not set every environment variable that
could be used by Geant4. They only
set those variables that you had declared to non-default values in the configure process. This works fine because any variable
that Geant4 does not find is assumed to be default. But if you are also setting some of your Geant4 environment
variables elsewhere, you can end up with inconsistent results. That is why you were strongly advised
to make sure you had no pre-existing Geant4 variables set before you began the
Geant4 build.
Did you "Configure the Environment" as described above? Remember that you need to do this every time you start a new Terminal or xterm window.
Build your example by typing, the following. Be sure to use make rather than gmake.
cd $G4WORKDIR/A01
make
You will see output beginning with:
Making
dependency for file A01app.cc ...
Making
dependency for file src/A01Trajectory.cc ...
Making
dependency for file src/A01PrimaryGeneratorMessenger.cc ...
Making
dependency for file src/A01PrimaryGeneratorAction.cc ...
Making
dependency for file src/A01PhysicsList.cc ...
And ending with:
ranlib:
file:
/Applications/g4work/tmp/Darwin-g++/A01app/libA01app.a(A01AnalysisManager.o)
has no symbols
Compiling
A01app.cc ...
Using
granular libraries ...
Linking
A01app ...
...
Done!
The complete output from the above command can be found in this same web directory as:
If the build is successful, you will see the completed application file in your $G4WORKDIR directory such as:
$G4WORKDIR/bin/Darwin-g++/A01app
Since the example will be using OpenGL for visualization, OS 10.4 users will need to run it from an xterm window rather than a Terminal window (open the X11 application and then from its "Applications" menu, select "xterm"). On OS 10.5, both kinds of windows, Terminal or xterm can launch the appropriate graphics.
As always for a new xterm or Terminal window, configure the environment:
export
G4WORKDIR=/Applications/g4work
export
DYLD_LIBRARY_PATH=/Applications/CLHEP/lib
source
/Applications/geant4.9.2.p02/env.sh
Then, to run your example, cd to the example's top level directory, such as:
cd $G4WORKDIR/A01
And from there, run the newly created executable:
$G4WORKDIR/bin/Darwin-g++/A01app
You will see a response that starts with:
*************************************************************
Geant4 version Name:
geant4-09-02-patch-02
(28-August-2009)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
Visualization
Manager instantiating...
Visualization
Manager initialising...
Registering
graphics systems...
You
have successfully registered the following graphics systems.
Current
available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
RayTracerX (RayTracerX)
And ends with:
EMcalorimeterPhysical[0]
EMcalorimeterLogical 1 CsI
cellPhysical[-1] cellLogical 0 CsI /EMcalorimeter
HadCalorimeterPhysical[0]
HadCalorimeterLogical 1 Lead
HadCalColumnPhysical[-1] HadCalColumnLogical 1 Lead
HadCalCellPhysical[-1] HadCalCellLogical 1 Lead
HadCalLayerPhysical[-1] HadCalLayerLogical 1 Lead
HadCalScintiPhysical[0] HadCalScintiLogical 0 Scintillator
/HadCalorimeter
Idle>
The complete output from the above command can be found in this same web directory as:
Make sure your output included a mention of the graphics systems:
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
If those didn't show up, you have missed something in the above instructions.
Did you correctly answered the questions about OpenGL in the ./Configure -build procedure?
Did you get error messages during that procedure?
Did you follow the instructions in the above section, "Creating
the setup script"?
Did you follow the instructions above about "As always
for a new xterm or Terminal window, configure the environmentÉ."?
If you still can't figure out why you don't have OpenGL, you
can still proceed, but you will have to use some other graphics driver. See some notes a little later in this
document about how to use the HepRepFile driver.
From here, we'll assume you have OpenGL successfully loaded.
From the idle prompt, visualize the example by typing the following:
/vis/open OGLIX
/vis/drawVolume
You will get the following response:
Got
standard cmap
Window
name: viewer-0 (OpenGLImmediateX)
And an OpenGL window will appear and the example geometry will be drawn, as in:

To add trajectories and hits to the visualization, and then run an event:
/vis/scene/add/trajectories
/vis/scene/add/hits
/run/beamOn 1
You will then see something like:

When you are finished with your Geant4 session, just type:
exit
For more details on using OpenGL for Geant4, see:
http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html
Here's another example. This one makes output go to a HepRep file, suitable for viewing in the HepRApp HepRep Browser:
$G4WORKDIR/bin/Darwin-g++/A01app
/vis/open HepRepFile
/vis/drawVolume
/vis/viewer/flush
/vis/scene/add/trajectories
/vis/scene/add/hits
/run/beamOn 1
For more details on using HepRApp for Geant4, see:
http://geant4.slac.stanford.edu/Presentations/vis/G4HepRAppTutorial/G4HepRAppTutorial.html
Note: HepRApp and Geant4 do not have to run on the same machine. You can copy the .heprep file from the Geant4 machine to the machine with HepRApp, or you can simply make the .heprep file visible from the web, and let HepRApp pick it up via the url.
Also note that the .heprep file can be zipped to about 5 percent
of original size and HepRApp can then read in the zipped version (you don't
need to unzip the file).
You now have Geant4 installed and have demonstrated a few examples using two different visualization systems.
You can go back and re-run Geant4's ./Configure -build procedure at any time to change various options. In general, this will not force a complete recompilation but will only rebuild those libraries that have changes.
Make sure to run ./Configure -build in a fresh session, one that doesn't have the G4WORKDIR environment variable set. Otherwise this difference between your original build environment and your new one will trigger a whole new Geant4 build in a whole new place.
After the build, do ./Configure (the version with no arguments that creates the env.sh and env.csh files) and, if you are doing a multi-user installation, ./Configure -install
Also note that even though you successfully rebuild Geant4, your user application will not take advantage of the change unless you explicitly tell it to do so. The standard way to do this is to update the time stamp of your application's main class before you rebuild the application. For example, use the "touch" command:
export
G4WORKDIR=/Applications/g4work
export
DYLD_LIBRARY_PATH=/Applications/CLHEP/lib
source
/Applications/geant4.9.2.p02/env.sh
cd $G4WORKDIR/A01
touch A01app.cc
make
I hope these instructions have been helpful.
If you find any problems or can suggest corrections, please let me know.
29 October 2009