$Id: README,v 1.28 2010/02/22 15:41:29 maire Exp $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                            TestEm2
                            -------
			    
     How to do shower profiles in an homogenous medium, with virtual
     voxelisation.

 1- GEOMETRY DEFINITION

     The geometry consists of a cylinder of homegenous material.

     The default geometry is constructed in DetectorConstruction class,
     but all of the above parameters can be modified interactively via
     the commands defined in the DetectorMessenger class.

     Material can be choosen: Air Water lAr Al Fe BGO PbWO4 Pb.
     eg: /testem/det/setMat PbWO4
     
     The cylinder is virtually sliced longitudinaly (slice) and radialy (ring).
     The size of the slices and rings are expressed in radiation length units
     and can be changed.
     eg: /testem/det/setLbin 20   1.    ---> 20 slices of 1. radl
         /testem/det/setRbin  5   0.25  --->  5 rings of 0.25 radl
         /testem/det/update             ---> rebuild the geometry
	 
     (MaxBin = 500 in both directions)	 

     An uniform magnetic field along the cylinder axis can be set.
     eg: /testem/det/setField 5 tesla 
     
 2- PHYSICS LISTS
 
    Physics lists can be local (eg. in this example) or from G4 kernel
    physics_lists subdirectory.
     
    Local physics lists:	 
    - "local"	standard EM physics with current 'best' options setting.
                these options are explicited in PhysListEmStandard
    
    From geant4/source/physics_lists/builders:	 
    - "emstandard_opt0" recommended standard EM physics for LHC
    - "emstandard_opt1" best CPU performance standard physics for LHC
    - "emstandard_opt2"     
    - "emstandard_opt3" best current advanced EM options. 
                        analog to "local" above 
    
    Physics lists and options can be (re)set with UI commands
    
    Please, notice that options set through G4EmProcessOPtions are global, eg
    for all particle types. In G4 builders, it is shown how to set options per
    particle type.

 3- AN EVENT : THE PRIMARY GENERATOR

     The primary kinematic consists of a single particle which hits the
     cylinder perpendicular to the input face. The type of the particle
     and its energy are set in the PrimaryGeneratorAction class, and can
     changed via the G4 build-in commands of ParticleGun class (see
     the macros provided with this example).

     A RUN is a set of events.

 4- VISUALIZATION

     The Visualization Manager is set in the main().
     The initialisation of the drawing is done via the commands
     /vis/.. in the macro vis.mac. In interactive session:
     PreInit or Idle > /control/execute vis.mac

     The detector has a default view which is a longitudinal view of the
     cylinder.

     The tracks are drawn at the end of event, and erased at the end of run.
     Optionaly one can choose to draw all particles, only the charged one,
     or none. This command is defined in EventActionMessenger class.

 5- PHYSICS DEMO

     The particle's type and the physic processes which will be available
     in this example are set in PhysicsList class.

     In addition a build-in interactive command (/process/inactivate proname)
     allows to activate/inactivate the processes one by one.

     The threshold for producing secondaries can be changed.
     eg: /testem/phys/setCuts 100 microm
         /run/initialize
	 
     The shower profiles are histogramed, if histograming is activated.
     They can be also printed with the command /testem/run/verbose 1	 

 6- HOW TO START ?

     - compile and link to generate an executable
 		% cd TestEm2
 		% gmake

     - execute TestEm2 in 'batch' mode from macro files
 		% TestEm2   run01.mac

     - execute TestEm2 in 'interactive mode' with visualization
 		% TestEm2
 		....
 		Idle> type your commands
  		....
 		Idle> exit

 7- HISTOGRAMS

   TestEm2 produces several histograms:

     Content of these histo:

      1 : energy deposit       per event
      2 : charged track length per event
      3 : neutral track length per event

      4 : longitudinal energy profile
      5 : rms of longitudinal energy profile      
      6 : cumulated longitudinal energy profile
      7 : rms of cumulated longitudinal energy profile

      8 : radial energy profile
      9 : rms of radial energy profile      
     10 : cumulated radial energy profile
     11 : rms of cumulated radial energy profile

 Note that, by default, histograms are disabled. To activate them, uncomment
 the flag G4ANALYSIS_USE in GNUmakefile. To define the output file name with
 histograms and the type of these file the following UI commands can be used:

   "/testem/histo/setFileName name"
   "/testem/histo/setFileType type"

 The following types are available: "hbook", "root", "XML"
 By default the name is "testem2" and the type "root".
 
 Before compilation of the example it is optimal to clean up old files:
  	gmake histclean
  	gmake 

 8- USING HISTOGRAMS

  To use histograms, at least one of the AIDA implementations should be 
  available. See InstallAida.txt
  
