Version:
[ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]
1
2 RE04 - An extended example for run and event
3 --------------------------------------------
4
5 Contact : M.Asai (SLAC)
6
7 1. Introduction
8
9 This example demonstrates how to define a layered mass
10 geometry in parallel world. In the mass (tracking) world,
11 there are two boxes only. One is the world volume and the
12 other is a box in the world. They both are made of air.
13 Thus, if tracks do not see materials (water and lead)
14 defined in the parallel world, they rarely interact.
15 In the parallel world, there are boxes made of water and
16 lead.
17
18 1.1 Geometry
19
20 RE04DetectorConstruction defines the mass (tracking)
21 geometry. It firstly defines all materials which apear
22 either in mass world or parallel world. Then in SetupGeometry()
23 method, it defines the world volume and a box named "phantom".
24 Both boxes are made of air.
25
26 RE04ParallelWorldConstruction defines the parallel world.
27 For a parallel world, solid, logical and physical volumes
28 which represent parallel world must not be created here but
29 should be taken through G4VUserParallelWorld::GetWorld()
30 method which creates clones of solid, logical and physical
31 volumes of the world volume of the mass world. Please note
32 that this cloned logical volume of the parallel world volume
33 does not have a valid pointer to aa material but null.
34
35 In the parallel world, if a logical volume has a valid
36 material pointer, a track in this volume (precisely saying
37 a physical volume which is made of this logical volume)
38 will see the material defined in this logical volume,
39 regardless of the material in the mass geometry. If a
40 logical volume has a null material pointer, a track will
41 see the ordinary material defined in the mass world.
42
43 RE04ParallelWorldConstruction defines one placement
44 volume of box-shape, which is made of water, and a mother
45 box (placement volume with null material pointer), which
46 contains parameterized volumes. RE04ParallelWorldParam
47 class defines a parameterization of the parameterized
48 volume "paraPara", which represents two boxes at different
49 locations and made of water and lead respectively.
50
51 1.2 Physics
52
53 RE04PhysicsList uses ordinary physics builders. It also
54 defines G4ParallelWorldProcess which deals with the parallel
55 world. This G4ParallelWorldProcess is an extension of
56 G4ParallelWorldScoringProcess. If SetLayeredMaterialFlag()
57 of this process class is invoked, in addition to taking
58 care of sensitive detectors in the parallel world, it also
59 takes care of layered mass geometry. If this set method is
60 not invoked, it behaves exactly same as G4ParallelWorldScoringProcess.
61 The constructor of G4ParallelWorldProcess takes the name
62 of the parallel world physical volume as an argument.
63
64 G4ParallelWorldProcess may be associated only to some
65 limited kinds of particle types. The parallel world is
66 seen only bythe particles which have G4ParallelWorldProcess
67 in their process manager objects. In this RE04 example
68 G4ParallelWorldProcess is defined to all particle types
69 except ChargedGeantino. Thus, if you shoot CargedGeantino,
70 it won't see any volume boundary defined in the parallel
71 world.
72
73 2. Macro files
74
75 The macro file "score.mac" defines a scoring mesh which covers
76 the "Phantom" and scores energy deposition. It shoots 1000
77 primary particles (by default 10 GeV muon-). Though the mass
78 world has only air, given tracks, both primary muons and
79 secondary particles see water and lead defined in the parallel
80 world, you will see the energy deposition is not evenly
81 distributed.
82
83 3. User action classes
84
85 In the main() of RE04.cc, three user action classes, i.e.
86 RE04EventAction, RE04TrackingAction and RE04SteppingAction,
87 are commented out. By using RE04SteppingAction, you will
88 see a material name which a track sees for each step.
89 By using RE04EventAction and RE04TrackingAction, you will
90 see the similar information for all trajectories of one
91 event.
92