$Id: README,v 1.15 2010-06-06 06:26:05 perl Exp $
-------------------------------------------------------------------

     =========================================================
               Geant4 - X-Ray Telescope Example
     =========================================================


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:

 - 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.


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.



2. Run

To execute a sample simulation with visualisation of proton tracks
reaching the detector run:

XrayTel 

execute command "/control/execute test.mac"

To enable visualisation, uncomment one line from test.mac:
/control/execute vis.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 G4hMultipleScattering for scattering of the protons
off 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 please look at:
http://aida.freehep.org/

Presently, tools
- OpenScientist (http://openscientist.lal.in2p3.fr/)
- JAS (http://jas.freehep.org/jas3/)
- iAIDA (http://iaida.dynalias.net/Intro.html)
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.

