Geant4 Cross Reference |
1 ---------------------------------------------- 1 ------------------------------------------------------------------- 2 2 3 ========================================= 3 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for S 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================= 5 ========================================================= 6 6 7 purgin_magnet 7 purgin_magnet 8 ------------- 8 ------------- 9 s. Larsson, May 2004 9 s. Larsson, May 2004 10 10 11 ---------------------------------------------- 11 ----------------------------------------------------------------- 12 Acknowledgments to the GEANT4 Collaboration, i << 12 Acknowledgments to GEANT4 people, in particular to J. Apostolakis, 13 J Generowicz, G. Folger, Vladimir Ivanchenko, 13 J Generowicz, G. Folger, Vladimir Ivanchenko, M.G.Pia and 14 S. Guatelli. 14 S. Guatelli. 15 ---------------------------------------------- 15 ----------------------------------------------------------------- 16 16 17 0. Introduction 17 0. Introduction 18 ---------------- 18 ---------------- 19 19 20 This example simulates electrons traveling thr 20 This example simulates electrons traveling through a 3D magnetic field. 21 21 22 The Purging Magnet example is an application o 22 The Purging Magnet example is an application of Geant4 in a medical 23 environment. It simulates a strong purging mag 23 environment. It simulates a strong purging magnet in a treatment head. 24 The geometry is very simplified. The major ide 24 The geometry is very simplified. The major idea of this example is to 25 implement an external magnetic field grid and 25 implement an external magnetic field grid and test if the deviation of 26 electrons are as expected in this particular f 26 electrons are as expected in this particular field. The data (position, 27 energy and momentum) are collected in a measur << 27 energy and momentum) are collected in a measurement volume.The data is 28 stored in a CSV file (or, optionally in a ROOT << 28 stored in a CSV file (or, optionally in a ROOT, or a XML file, by 29 the G4AnalysisManager default file type in Pur << 29 commenting/uncommenting the appropriate #includes in PurgMagAnalysisManager.hh) 30 30 31 <<<<<<< HEAD << 31 32 32 33 ======= << 34 >>>>>>> Migration to G4RunManagerFactory done. << 35 1. Setting up the environment variables 33 1. Setting up the environment variables 36 --------------------------------------- 34 --------------------------------------- >> 35 -example enviroment with the compiler 3.2.3 >> 36 -a standard Geant4 example GNUmakefile is provided >> 37 >> 38 setup with: >> 39 compiler = gcc-3.2.3 >> 40 G4SYSTEM = linux-g++ 37 41 38 The following environment variables need to be 42 The following environment variables need to be set: 39 43 40 G4LEDATA: points to low energy data base 44 G4LEDATA: points to low energy data base 41 45 42 The required data-file for the detailed field << 46 The required data-file for the field map can be downloaded from: 43 http://cern.ch/geant4-data/datasets/PurgMag << 47 http://cern.ch/geant4/source/source/PurgMag3D.TABLE.gz 44 48 45 49 46 2. How to run the example 50 2. How to run the example 47 ------------------------- 51 ------------------------- 48 52 49 - Run the "PurgMag" executable. 53 - Run the "PurgMag" executable. 50 - File PurgMag.TABLE needs to be available in 54 - File PurgMag.TABLE needs to be available in the current directory in order to run correctly. 51 - For visualisation use vis.mac. 55 - For visualisation use vis.mac. >> 56 Default visualization is with OpenGL 52 - Interactive or batch modes possible. 57 - Interactive or batch modes possible. 53 Default: Interactive mode. 58 Default: Interactive mode. 54 59 55 To run a certain number of events in interacti 60 To run a certain number of events in interactive mode, 56 type the following at the "idle>" prompt: 61 type the following at the "idle>" prompt: 57 62 58 idle> run/beamOn NumberOfEvents 63 idle> run/beamOn NumberOfEvents 59 idle> exit 64 idle> exit 60 65 61 - Simulation histogram output is stored in pur 66 - Simulation histogram output is stored in purgmag_101.cvs (e-), 62 purgmag_102.cvs (gammas), purgman_103.cvs (e+ 67 purgmag_102.cvs (gammas), purgman_103.cvs (e+) 63 68 64 1)Ntuple with position, energy and momentum fo 69 1)Ntuple with position, energy and momentum for electrons 65 2)Ntuple with position, energy and momentum fo 70 2)Ntuple with position, energy and momentum for photons 66 (not needed in this example, will be used in 71 (not needed in this example, will be used in further development) 67 3)Ntuple with position, energy and momentum fo 72 3)Ntuple with position, energy and momentum for positrons 68 (not needed in this example, will be used in 73 (not needed in this example, will be used in further development) 69 74 70 A default visualisation macro (vis.mac) is pre << 75 A default vizualisation macro (vis.mac) is pre-loaded before interactive runs. 71 Executing it from the build directory: << 76 Executing it 72 $ ./PurgMag << 77 osmachine.3% $G4WORKDIR/bin/Linux-g++/PurgMag 73 runs vis.mac before giving you an interactive 78 runs vis.mac before giving you an interactive prompt. 74 79 75 80 76 3. Detector description 81 3. Detector description 77 ----------------------- 82 ----------------------- 78 83 79 Simply a measurement volume. All particles ent 84 Simply a measurement volume. All particles entering the volume are scored. 80 85 81 86 82 4. Physics processes 87 4. Physics processes 83 -------------------- 88 -------------------- 84 89 85 This example uses the standard Electromagnetic 90 This example uses the standard Electromagnetic processes. 86 91 87 92 88 5. Particle Generator 93 5. Particle Generator 89 ---------------------- 94 ---------------------- 90 95 91 The PurgMagPrimaryGeneratorAction sets the ini 96 The PurgMagPrimaryGeneratorAction sets the initial state of tracks to 92 97 93 -electrons 50MeV 98 -electrons 50MeV 94 -Start position (0, 0, 15cm) 99 -Start position (0, 0, 15cm) 95 -Momentum direction (0, 0, -1) 100 -Momentum direction (0, 0, -1) 96 101 97 102 98 6. Geometry and materials 103 6. Geometry and materials 99 -------------------------- 104 -------------------------- 100 105 101 The world consists of Vacuum to minimize inter 106 The world consists of Vacuum to minimize interactions of the electrons 102 with the medium. The purging magnet is impleme 107 with the medium. The purging magnet is implemented as a 3D field grid 103 of field values and geometerically as a pole g 108 of field values and geometerically as a pole gap made of iron. The 104 measurement volume also contains vacuum. 109 measurement volume also contains vacuum. 105 110 106 The field is interpolated using a simple linea 111 The field is interpolated using a simple linear interpolation in two 107 dimensions (z and rho). 112 dimensions (z and rho). 108 113 109 7. Comparison 114 7. Comparison 110 -------------- 115 -------------- 111 116 112 The design of the magnetic field was made with 117 The design of the magnetic field was made with the OPERA 3D package 113 which is an electromagnetic finite element and 118 which is an electromagnetic finite element and finite difference 114 analysis software. The deviation in the y-dire 119 analysis software. The deviation in the y-direction (ey in Ntuple 1) 115 has also been calculated in the OPERA 3D modul 120 has also been calculated in the OPERA 3D module TOSCA for comparison. 116 121 117 TOSCA: deviation y-direction: 35.112 cm 122 TOSCA: deviation y-direction: 35.112 cm 118 GEANT4: deviation y-direction: 35.170 cm (upda 123 GEANT4: deviation y-direction: 35.170 cm (updated after PurgMag.pdf) 119 124 120 ********************************************** 125 **************************************************************** 121 * 126 * * 122 * More information about the setup and geometr 127 * More information about the setup and geometry in PurgMag.pdf * 123 * 128 * * 124 ********************************************** 129 ****************************************************************