Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/runAndEvent/RE04/

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 ]

Name Size       Last modified (GMT) Description
Back Parent directory       2024-12-05 15:16:16
Folder include/       2024-12-05 15:16:16
Folder src/       2024-12-05 15:16:16
File CMakeLists.txt 2107 bytes       2024-12-05 15:16:16
File GNUmakefile 415 bytes       2024-12-05 15:16:16
File History 2521 bytes       2024-12-05 15:16:16
C++ file RE04.cc 3765 bytes       2024-12-05 15:16:16
File README 3838 bytes       2024-12-05 15:16:16
File batch.mac 238 bytes       2024-12-05 15:16:16
File exampleRE04.out 71309 bytes       2024-12-05 15:16:16
File score.mac 212 bytes       2024-12-05 15:16:16
File vis.mac 387 bytes       2024-12-05 15:16:16

  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