156 lines
5.7 KiB
Plaintext
156 lines
5.7 KiB
Plaintext
$Id: README,v 1.11 2009-09-22 14:20:31 maire Exp $
|
|
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
TestEm11
|
|
--------
|
|
|
|
How to plot a depth dose profile in a rectangular box.
|
|
|
|
|
|
1- GEOMETRY DEFINITION
|
|
|
|
The geometry consists of a stack of one or several blocks of homogenous
|
|
material, called absorbers.
|
|
Optionally, each absorber can be divided in thinner layers (replica)
|
|
|
|
A minimum of 5 parameters define the geometry :
|
|
- the number of absorbers (NbOfAbsor)
|
|
- the material of each absorber,
|
|
- the thickness of each absorber,
|
|
- the tranverse dimension of the stack (sizeYZ),
|
|
- the number of divisions of each absorber (NbOfDivisions)
|
|
|
|
In addition a transverse uniform magnetic field can be applied.
|
|
|
|
The default geometry is constructed in DetectorConstruction class,
|
|
but all of the above parameters can be changed interactively via
|
|
the commands defined in the DetectorMessenger class.
|
|
|
|
2- PHYSICS LIST
|
|
|
|
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
|
|
- "emlivermore" low-energy EM physics using Livermore data
|
|
- "empenelope" low-energy EM physics implementing Penelope models
|
|
|
|
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 starting at the
|
|
left face of the box. The type of the particle and its energy are set
|
|
in the PrimaryGeneratorAction class, and can be changed via the G4
|
|
build-in commands of ParticleGun class (see the macros provided with
|
|
this example).
|
|
|
|
In addition one can choose randomly the impact point of the incident
|
|
particle. The corresponding interactive command is built in
|
|
PrimaryGeneratorMessenger class.
|
|
|
|
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. To get visualisation:
|
|
> /control/execute vis.mac
|
|
|
|
The detector has a default view which is a longitudinal view of the box.
|
|
|
|
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- HOW TO START ?
|
|
|
|
- Execute TestEm11 in 'batch' mode from macro files
|
|
% TestEm11 run01.mac
|
|
|
|
- Execute TestEm11 in 'interactive mode' with visualization
|
|
% TestEm11
|
|
....
|
|
Idle> type your commands
|
|
....
|
|
Idle> exit
|
|
|
|
|
|
6- TRACKING and STEP MAX
|
|
|
|
Testem11 computes the distribution of energy deposited along the trajectory of
|
|
the incident particle : the so-called longitudinal energy profile,
|
|
or depth dose distribution.
|
|
The energy deposited (edep) is randomly distribued along the step (see
|
|
SteppingAction).
|
|
|
|
In order to control the accuracy of the deposition, the maximum step size
|
|
of charged particles is computed automatically from the binning of
|
|
histograms 1 and 8 (see RunAction).
|
|
|
|
As an example, this limitation is implemented as a 'full' process :
|
|
see StepMax class and its Messenger. The 'StepMax process' is registered
|
|
in the Physics List.
|
|
|
|
StepMax is evaluated at RunAction::BeginOfRun(),
|
|
and passed to the StepMax process.
|
|
A boolean UI command allows to desactivate this mechanism.
|
|
Another UI command allows to define directly a stepMax value.
|
|
|
|
7- HISTOGRAMS
|
|
|
|
Testem11 has several predefined 1D histograms :
|
|
|
|
1 : longitudinal energy profile (in MeV/mm and per event)
|
|
2 : total energy deposited in the absorber
|
|
3 : total track length of the primary track
|
|
4 : step size of the primary track
|
|
5 : projected range of the primary track
|
|
6 : total track length of charged secondary tracks
|
|
7 : step size of charged secondary tracks
|
|
8 : longitudinal energy profile (in MeV.cm2/g), as a function of x/r0
|
|
where r0 is the range of the primary particle
|
|
|
|
The histograms are managed by G4Analysis classes.
|
|
The histos can be individually activated with the command :
|
|
/analysis/h1/set id nbBins valMin valMax unit
|
|
where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
|
|
|
|
One can control the name of the histograms file with the command:
|
|
/analysis/setFileName name (default testem11)
|
|
|
|
It is possible to choose the format of the histogram file : root (default),
|
|
hbook, xml, csv, by using namespace in HistoManager.hh
|
|
|
|
It is also possible to print selected histograms on an ascii file:
|
|
/analysis/h1/setAscii id
|
|
All selected histos will be written on a file name.ascii (default testem11)
|
|
|
|
Using hbook format
|
|
------------------
|
|
|
|
Need a special treatement : the Cern Library must be installed and the
|
|
environment variable CERNLIB correctly set. Then, *before* compiling,
|
|
activate G4_USE_HBOOK in GNUmakefile and g4hbook.hh in HistoManager.hh
|