$Id: README,v 1.13 2005/11/30 19:58:30 santin Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - X-Ray Telescope Example
=========================================================
NEW: May 2004: Migration to AIDA 3.2.1 - see below
Introduction
------------
XrayTel is an advanced Geant4 example based on a realistic simulation of
an X-ray Telescope. It is based on work carried out by a team of Geant4
experts to simulate the interaction between X-ray Telescopes XMM-Newton
and Chandra with low energy protons present in the orbital radiation
background. The X-ray mirrors are designed to collect x-ray photons at
grazing-incidence angles and focus them onto detectors at the focal plane.
However, this mechanism also seems to work for low energy protons which,
if they reach the detectors in sufficient numbers, can cause damage.
In this example, the geometry has been simplified by using a single mirror
shell and no baffles, but all the dimensions and materials are realistic.
The aim of this advanced example is to illustrate the use advanced
GUI, visualisation, particle generation and analysis schemes available
in Geant4:
- the simulation can be run from GAG or the command prompt
- macros are provided to display the geometry and particle tracks with
OpenGL, DAWN Postscript or VRML visualisation
- the generation of particles is done via the new General Particle Source
- histograming facilities are available through the AIDA 3.0 interfaces.
- on-line visualisation of histograms is provided through the AIDA 3.0 interface.
In order to be able to use any of these packages, prior installation is
necessary and a number of environment variables will have to be set.
1. Setting up the environment variables for GAG, Visualisation and
Analysis options (example based on Linux at CERN)
#set up GAG
setenv G4UI_BUILD_GAG_SESSION 1
setenv G4UI_USE_GAG 1
#set up VRMLview
setenv G4VIS_USE_VRML 1
setenv G4VRMLFILE_MAX_FILE_NUM 100
setenv G4VRMLFILE_VIEWER vrmlview #if installed
setenv G4VIS_USE_VRML 1
setenv PATH ${PATH}:"/afs/cern.ch/sw/contrib/VRML/bin/Linux" # example at CERN
#set up OpenGL
setenv G4VIS_BUILD_OPENGLX_DRIVER 1
setenv G4VIS_USE_OPENGLX 1
#set up DAWN
setenv G4VIS_BUILD_DAWN_DRIVER 1
setenv G4VIS_USE_DAWN 1
NOTE: The geometry is refreshed on the viewer at the beginning of each run,
but the tracks are plotted only in case an interesting event occurs.
This is the case only for about 1 every 10**4 events.
Sources
-------
GAG can be found in:
geant4/environments/MOMO
DAWN can be obtained from:
http://geant4.kek.jp/~tanaka/
VRMLview for Linux can be obtained from:
http://www.sim.no
2. Run
To execute a sample simulation with visualisation of proton tracks
reaching the detector run:
XrayTel
execute command "/control/execute xxxxx.mac"
visualisation macros provided are
- opengl.mac for OpenGL display
- vrml.mac for VRML display and output file
- dawn.mac for dawn display and PS output file
To execute a run without visualisation use
- test.mac
If the analysis options are set, histograming windows will
automatically open and the corresponding files will be created.
A 1D histogram will display the energy distribution of the protons
that reach the detector at the end of the run.
3. Detector description
The telescope and detector geometry is defined in
XrayTelDetectorConstruction.cc
4. Physics processes
The physics processes are in XrayTelPhysicsList.cc
The main process in this example is MultipleScattering of the protons
on the mirror surfaces.
5. Event generation
This is done using the new General Particle Source. Documentation for
this can be found in:
http://reat.space.qinetiq.com/gps/
6. Analysis
In case the variable G4ANALYSIS_USE is set:
setenv G4ANALYSIS_USE 1
relevant information from the simulation is processed in the XrayTelAnalysis
class and saved, through the AIDA interface, to Histograms and Tuples.
Compilation and link flags to hook any AIDA compliant system are passed
to the Geant4 GNUmakefile system by using the "aida-config" tool
that should come with any AIDA compliant system.
Specifically in the GNUmakefile you find the 2 lines:
CPPFLAGS += `aida-config --include`
LDFLAGS += `aida-config --lib`
For more information about AIDA and PI please look at:
http://aida.freehep.org/
http://www.cern.ch/PI
Presently, the tools
- PI (http://cern.ch/pi)
- OpenScientist (http://openscientist.lal.in2p3.fr/)
- JAS (http://jas.freehep.org/jas3/)
provide an implementation of AIDA 3.2.1
To build and execute the example on platforms where there is no
implementation of the analysis system, the environment variables
must not be set.