$Id: README 100688 2016-10-31 11:21:51Z gcosmo $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
field01
-------
Example enabling investigation of tracking in a magnetic field.
The key capabilities of this example are creating a uniform magnetic
field interactively using the field messenger.
The capabilities are demonstrated in the field.in file:
/field/setStepperType 4
/field/setMinStep 0.1 mm
/field/update
There are several potential choices of the stepper type. Here are some suggestions:
===========================================================================
Number Name of Stepper Comments
===========================================================================
Recommended - new in Geant4 10.3-beta:
15 - Dormand Prince 745 : well-known and very efficient embedded method
Highly recommended in literature, including
Hairer & Wanner, & even Numerical Recipes
Used in several established RK code (e.g. DOPRI5)
===========================================================================
Good choices for reasonably smooth fields:
8 - Cash Karp RKF 45 : Old 'embedded' RK method - fairly robust,
Uses a pair 4th & 5th order formulae;
the difference is the error estimate.
Faster than old 'simple' that use two half
steps to estimate error.
Available since Geant4 1.0
45 - BogackiShampine45 : More efficient embedded 4/5 pair
Used in many applications, including
RKSUITE suite.
New in Geant4 10.3-beta:
===========================================================================
Default - good choice for unknown fields:
4 - ClassicalRK4 : original Runge-Kutta method, very robust but slower )
( obtains error estimate by doing 2 half steps )
===========================================================================
Good choices for non-smooth fields (with kinks, abrupt changes):
3 - SimpleHeum : low order, with error obtained from half-steps
23 - BogackiShampine23 : lower order embedded method (new in 10.3-beta)
===========================================================================
Background Information
1- GEOMETRY DEFINITION
The "absorber" is a solid made of a given material.
Three parameters define the absorber :
- the material of the absorber,
- the thickness of an absorber,
- the transverse size of the absorber (the input face is a square).
The volume "World" contains the "absorber".
In this test the parameters of the "World" can be changed , too.
In addition a transverse uniform magnetic field can be applied.
The default geometry is constructed in F01DetectorConstruction class,
but all the parameters can be changed via
the commands defined in the F01DetectorMessenger class.
2- AN EVENT : THE PRIMARY GENERATOR
The primary kinematic consists of a single particle (proton, Ekin = 1 GeV)
which hits the
absorber perpendicular to the input face. The type of the particle
and its energy are set in the F01PrimaryGeneratorAction class, and can
be changed via the G4 build-in commands of G4ParticleGun class (see
the macros provided with this example).
A RUN is a set of events.
3- DETECTOR RESPONSE
The spatial distribution of charged particles transported in magnetic
field is envistigated.
A HIT is a record, event per event , of all the
informations needed to simulate and analyse the detector response.
In this example a F01CalorHit is defined as a set of 2 informations:
- the total energy deposit in the absorber,
- the total tracklength of all charged particles in the absorber,
Therefore the absorber is declared
'sensitive detector' (SD), see F01CalorimeterSD, which means they can contribute to the hit.
4- PHYSICS LIST
The particle's type and the physic processes which will be available
in this example are set in the FTFP_BERT physics list. This physics list
requires data files for electromagnetic and hadronic processes.
See more on installation of the datasets in Geant4 Installation Guide,
5- HOW TO START ?
- execute field01 in 'batch' mode from macro file e.g.
% field01 field01.in
- execute field01 in 'interactive' mode with visualization e.g.
% field01
....
Idle> /control/execute vis.mac
....