151 lines
5.8 KiB
Plaintext
151 lines
5.8 KiB
Plaintext
$Id: README 93735 2015-10-30 11:00:28Z gcosmo $
|
|
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
TestEm1
|
|
-------
|
|
How to count processes.
|
|
How to activate/inactivate processes.
|
|
How to survey the tracking, in particular the range of charged particles.
|
|
How to define a maximum step size.
|
|
|
|
1 - GEOMETRY DEFINITION
|
|
|
|
It is a simple box which represents a 'semi infinite' homogeneous medium.
|
|
|
|
Two parameters define the geometry :
|
|
- the material of the box,
|
|
- the full size of the box.
|
|
|
|
In addition a transverse uniform magnetic field can be applied.
|
|
e.g. /globalField/setValue 0 0 5 tesla
|
|
|
|
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 are based on modular design. Several modules are instantiated:
|
|
1. Transportation
|
|
2. EM physics
|
|
3. Decays
|
|
4. StepMax - for step limitation
|
|
|
|
EM physics builders can be local (eg. in this example) or from G4 kernel
|
|
physics_lists subdirectory.
|
|
|
|
Local physics builder:
|
|
- "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" similar fast simulation
|
|
- "emstandard_opt3" best standard EM options - analog to "local" above
|
|
- "emstandard_opt4" best current advanced EM options standard + lowenergy
|
|
- "emstandardSS" standard EM physics and single scattering model
|
|
- "emlivermore" low-energy EM physics using Livermore data
|
|
- "empenelope" low-energy EM physics implementing Penelope models
|
|
- "emlowenergy" low-energy EM physics implementing experimental
|
|
low-energy 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 (geant4/source/physics_lists/builders)
|
|
it is shown how to set options per particle type.
|
|
|
|
A few commands have been added to PhysicsList, in order to set the production
|
|
threshold for secondaries for gamma and e-/e+.
|
|
|
|
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 G4ParticleGun 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.
|
|
|
|
4 - VISUALIZATION
|
|
|
|
The Visualization Manager is set in the main () (see TestEm1.cc).
|
|
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.
|
|
|
|
5 - PHYSICS SURVEY
|
|
|
|
The particle's type and the physics processes which will be available in this
|
|
example are set in PhysicsList class.
|
|
|
|
A set of macros defining various run conditions are provided. The processes
|
|
are actived/inactivated together with differents cuts, in order to survey the
|
|
processes one by one.
|
|
|
|
The number of produced secondaries are counted, the number of steps, and the
|
|
number of process calls responsible of the step.
|
|
|
|
6 - HOW TO START ?
|
|
|
|
- execute TestEm1 in 'batch' mode from macro files
|
|
% TestEm1 runs.mac
|
|
|
|
- execute TestEm1 in 'interactive mode' with visualization
|
|
% TestEm1
|
|
....
|
|
Idle> type your commands
|
|
....
|
|
Idle> exit
|
|
|
|
7 - TRACKING : StepMax
|
|
|
|
In order to control the accuracy of the deposition, the user can limit
|
|
'by hand' the maximum step size of charged particles.
|
|
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.
|
|
|
|
8 - HISTOGRAMS
|
|
|
|
Testem1 produces several histo which are saved as testem1.root by default.
|
|
Content of these histo:
|
|
1 : track length of primary particle
|
|
2 : number of steps primary particle
|
|
3 : step size of primary particle
|
|
4 : total energy deposit
|
|
5 : energy of charged secondaries at creation
|
|
6 : energy of neutral secondaries at creation
|
|
|
|
The histograms are managed by G4AnalysisManager class and its Messenger.
|
|
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 testem1)
|
|
|
|
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 testem1)
|
|
|
|
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
|