1 | $Id: README,v 1.3 2002/07/02 18:35:01 asaim Exp $ |
---|
2 | ------------------------------------------------------------------- |
---|
3 | |
---|
4 | ========================================================= |
---|
5 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
6 | ========================================================= |
---|
7 | |
---|
8 | ExampleN01 |
---|
9 | ---------- |
---|
10 | |
---|
11 | ExampleN01 is the simplest example in this novice level examples. It has |
---|
12 | a tracker tube and a sandwitch calorimeter made of boxes. It shoots a |
---|
13 | geantino (pseudo-particle which has no "real" physics interaction) per |
---|
14 | one event. This example demonstrates how the basic GEANT4 framework works. |
---|
15 | |
---|
16 | 1. Detector description |
---|
17 | |
---|
18 | The detector is defined in ExN01DetectorConstruction.cc. Argon gas, |
---|
19 | aluminum and lead are defined first, where all of them are single element |
---|
20 | materials. Though materials are assigned for each volume, they will not |
---|
21 | affect the trajectory of a geantino. |
---|
22 | |
---|
23 | The experimental hall, which is the world volume, is made of argon gas |
---|
24 | and it is a box. The tracker tube made of argon gas is placed at |
---|
25 | (-1m,0m,0m) respect to the origin of the world volume. The calorimeter |
---|
26 | block made of lead and it has 19 layers of aluminum plates inside. |
---|
27 | |
---|
28 | 2. Physics processes |
---|
29 | |
---|
30 | ExN01PhysicsList.cc defines only a geantino and a transportation |
---|
31 | process. Though cutoff will not be applied onto geantino, a dummy |
---|
32 | value must be set. |
---|
33 | |
---|
34 | 3. Event generation |
---|
35 | |
---|
36 | G4ParticleGun is instanciated in the constructor of |
---|
37 | ExN01PrimaryGeneratorAction class. At the every event, the public |
---|
38 | method GeneratePrimaries(G4Event*) is invoked. In this method, |
---|
39 | G4ParticleGun is accessed to generate a primary particle (geantino). |
---|
40 | Please note that the direction of the primary particle is set |
---|
41 | just before shooting, i.e. GeneratePrimaryVertex() method invokation. |
---|
42 | G4ParticleGun class itself does not have any capability of randomizing |
---|
43 | the energy nor the momentum of the primary particle. Therefore the user |
---|
44 | should implement randomizing code in the GeneratePrimaries() method. |
---|
45 | |
---|
46 | 4. main() |
---|
47 | |
---|
48 | exampleN01.cc has the main() method. In the main() method, three |
---|
49 | mandatory user classes described above are constructed and set to |
---|
50 | the G4RunManager object. Then, the "Initialize()" method of G4RunManager |
---|
51 | is invoked. |
---|
52 | Some UI commands for setting verbosity are applied via hardly coded |
---|
53 | "ApplyCommand()" method of G4UImanager class. |
---|
54 | The "BeamOn()" method triggers the event loop. The argument of this |
---|
55 | method is the number of event in the run. |
---|
56 | |
---|
57 | |
---|