-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
TestEm4
-------
Plot energy deposited by 9 MeV photon beam in an homogeneous medium.
1- GEOMETRY DEFINITION
It is a cylinder of 5 cm radius filled with C6F6.
2- PHYSICS LIST
The particle list contains only gamma, electron,positron.
The physics list contains the 'standard' electromagnetic processes.
3- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic is a single 9 MeV gamma randomly shooted at the
middle of the cylinder.
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. This macro is
automatically read from the main in case of interactive running mode.
The detector has a default view which is a transversal 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 SURVEY
The energy deposited in C6F6 is histogramed.
6- HOW TO START ?
- execute TestEm4 in 'batch' mode from macro files
% TestEm4 TestEm4.in
- execute TestEm4 in 'interactive mode' with visualization
% TestEm4
....
Idle> type your commands
....
Idle> exit
7- USING HISTOGRAMS
The format of the histogram file can be : root (default),
xml, csv, by selecting g4nnn.hh in RunAction.hh
8- RANDOM NUMBERS HANDLING
CLHEP provides several random number engines. In this example the Ranecu
engine is choosen at beginning of the main (TestEm4.cc).
By default, G4RunManager does not save the rndm seed.
To do so the user must set in BeginOfRunAction:
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
Then the rndm seed is systematically saved at beginning of run
(currentRun.rndm) and beginning of event (currentEvent.rndm)
Therefore, in case of abnormal end, the seed of the last event processed
is available in currentEvent.rndm
Even in case of normal run processing, the user may wish to preserve the
rndm seed of selected events. At any time in the event, put the
following statement:
if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
currentEvent.rndm will be copied to runXXevntYY.rndm
(see SteppingAction::UserSteppingAction() )
To restart a run from a given rndm seed, use the UI command :
/random/resetEngineFrom fileName
The macro rndmSeed.mac shows how to save and reset the random number
seed between runs, from UI commands.