76 lines
2.2 KiB
Plaintext
76 lines
2.2 KiB
Plaintext
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
|
|
|
|
field06 Example
|
|
---------------
|
|
|
|
This example exercises the capability of tracking massive
|
|
particles in a gravity field.
|
|
|
|
Credit goes to Erik Miller (Univ. of Northern British Columbia) and
|
|
Garry Yan (Univ. of Toronto)
|
|
|
|
**************
|
|
*Classes Used*
|
|
**************
|
|
|
|
1 - main()
|
|
|
|
See field06.cc.
|
|
|
|
|
|
2- GEOMETRY DEFINITION
|
|
|
|
As simple world G4Box with a G4UniformGravityField propagating momentum
|
|
(G4EqGravityField) with G4ClassicalRK4(fEquation,8). The example uses the
|
|
default gravity field on the earth's surface: gy = -9.81*m/s/s/c_light.
|
|
|
|
3- AN EVENT: THE PRIMARY GENERATOR
|
|
|
|
Uses an Ultra Cold Neutron (UCN) and G4ParticleGun with:
|
|
particleEnergy = G4UniformRand()*1e-7*eV
|
|
|
|
UCN are launched from (0,0,0) uniform into 4pi
|
|
|
|
4- PHYSICS
|
|
|
|
The simulation knows of only four particles: G4Neutron, G4Proton,
|
|
G4Electron and G4AntiNeutrinoE
|
|
|
|
RegisterPhysics(new G4DecayPhysics());
|
|
RegisterPhysics(new G4StepLimiterPhysics());
|
|
|
|
G4VModularPhysicsList::ConstructProcess();
|
|
|
|
G4StepLimiterPhysics defines G4StepLimiter and G4UserSpecialCuts
|
|
|
|
5- User Action Classes
|
|
|
|
F06EventAction:
|
|
EndOfEventAction - draws trajectories in G4TrajectoryContainer
|
|
|
|
6- HOW TO START ?
|
|
|
|
This example handles the program arguments in a new way.
|
|
It can be run with the following optional arguments:
|
|
% OpNovice [-m macro ] [-u UIsession] [-t nThreads]
|
|
|
|
The -t option is available only in multi-threading mode
|
|
and it allows the user to override the Geant4 default number of
|
|
threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
|
|
environment variable which has the top priority.
|
|
|
|
- execute field06 in 'batch' mode from macro files e.g.
|
|
% field06 -m field06.in > field06.out &
|
|
|
|
- execute field06 in 'interactive' mode with visualization e.g.
|
|
% field60
|
|
....
|
|
Idle> type your commands, for example:
|
|
Idle> run/beamOn 1
|
|
....
|