Geant4 Cross Reference |
1 ---------------------------------------------- 2 3 ========================================= 4 Geant4 - an Object-Oriented Toolkit for S 5 ========================================= 6 7 Example B3 8 ---------- 9 10 This example simulates schematically a Positr 11 12 1- GEOMETRY DEFINITION 13 14 The support of gamma detection are scintill 15 of such crystals are optically grouped in a 16 this example, individual crystals are not d 17 crystals is and it is still called 'Crystal 18 19 Crystals are circularly arranged to form a 20 detector (gamma camera). This is done by po 21 Ring with an appropriate rotation matrix. S 22 then placed in the full detector. 23 24 The head of a patient is schematised as a h 25 tissue, placed at the center of full detect 26 27 The Crystal material, Lu2SiO5, is not inclu 28 Therefore, it is explicitly built in Define 29 30 2- PHYSICS LIST 31 32 The physics list contains standard electrom 33 radioactiveDecay module for GenericIon. It 34 class as a Geant4 modular physics list with 35 provided in Geant4: 36 - G4DecayPhysics - defines all particles an 37 - G4RadioactiveDecayPhysics - defines radio 38 - G4EmStandardPhysics - defines all EM stan 39 40 This physics list requires data files for: 41 - low energy electromagnetic processes whic 42 the G4LEDATA envirnoment variable 43 - nuclides properties which path is defined 44 the G4ENSDFSTATEDATA envirnoment variable 45 - radioactive decay hadronic processes whic 46 the G4RADIOACTIVEDATA envirnoment variabl 47 48 See more on installation of the datasets in 49 Chapter 3.3: Note On Geant4 Datasets: 50 http://geant4.web.cern.ch/geant4/UserDocume 51 /Ins 52 3- ACTION INITALIZATION 53 54 B3[a,b]::ActionInitialization class instant 55 all user action classes. 56 57 While in sequential mode the action classes 58 via invoking the method: 59 B3[a,b]::ActionInitialization::Build() 60 in multi-threading mode the same method is 61 and so all user action classes are defined 62 63 A run action class is instantiated both thr 64 and global that's why its instance is creat 65 B3[a,b]::ActionInitialization::BuildForM 66 which is invoked only in multi-threading mo 67 68 4- PRIMARY GENERATOR 69 70 The default particle beam is an ion (F18), 71 within a zone inside a patient and is defin 72 B3::PrimaryGeneratorAction::GeneratePrimari 73 The type of a primary particle can be chang 74 (see run2.mac). 75 76 5- DETECTOR RESPONSE: scorers 77 78 A 'good' event is an event in which an iden 79 deposited in two separate Crystals. A count 80 corresponds to a measure of the efficiency 81 The total dose deposited in a patient durin 82 83 Scorers are defined in B3::DetectorConstruc 84 two G4MultiFunctionalDetector objects: one 85 and one for the Patient (DoseDeposit) 86 87 The scorers hits are saved in form of ntupl 88 analysis tools. This feature is activated i 89 G4TScoreNtupleWriter. 90 91 Two variants of accumulation event statisti 92 in this example: 93 94 B3a: 95 96 At the end of event, the values acummulated 97 in B3a::RunAction and summed over the whole 98 In multi-threading mode the data accumulate 99 workers is merged to the master in B3a::Run 100 result is printed on the screen. 101 102 G4Accumulable<> type instead of G4double an 103 data members in order to facilitate merging 104 to the master. Currently the accumulables 105 and G4AccumulablesManager::Merge() has to b 106 to be further simplified with a closer inte 107 the Geant4 kernel next year. 108 109 B3b: 110 111 B3b::Run::RecordEvent(), called at end of e 112 event per event from the hits collections, 113 B3b::RunAction::EndOfRunAction(). 114 In addition, results for dose are accumulat 115 standard floating-point summation and using 116 class called G4StatAnalysis. The G4StatAnal 117 (1) the sum, (2) sum^2, (3) number of entri 118 less than mean * machine-epsilon (the machi 119 between 1.0 and the next value representabl 120 From these 4 values, G4StatAnalysis provide 121 standard deviation, variance, coefficient o 122 and r2eff. 123 124 In multi-threading mode the statistics accu 125 to the master in B3b::Run::Merge(). 126 127 6- STACKING ACTION 128 129 Beta decay of Fluor generates a neutrino. O 130 neutrino; therefore one kills it immediatel 131 are put in a stack. 132 The function B3::StackingAction::ClassifyNe 133 each time a new particle is created. 134 135 The following paragraphs are common to all ba 136 137 A- VISUALISATION 138 139 The visualization manager is set via the G4 140 in the main() function in exampleB3.cc. 141 The initialisation of the drawing is done v 142 in the macro vis.mac. This macro is automat 143 the main function when the example is used 144 145 By default, vis.mac opens an OpenGL viewer 146 The user can change the initial viewer by c 147 and instead uncommenting one of the other / 148 HepRepFile or DAWNFILE (which produce files 149 HepRApp and DAWN viewers, respectively). N 150 open new viewers at any time from the comma 151 you already have a view in, say, an OpenGL 152 "viewer-0", then 153 /vis/open DAWNFILE 154 then to get the same view 155 /vis/viewer/copyView viewer-0 156 or to get the same view *plus* scene-modifi 157 /vis/viewer/set/all viewer-0 158 then to see the result 159 /vis/viewer/flush 160 161 The DAWNFILE, HepRepFile drivers are always 162 (since they require no external libraries), 163 that the Geant4 libraries have been built w 164 165 Since 11.1, the TSG visualization driver ca 166 file output in png, jpeg, gl2ps formats wit 167 It can be controlled via UI commands provid 168 demonstrated in the tsg_offscreen.mac macro 169 170 For more information on visualization, incl 171 install and run DAWN, OpenGL and HepRApp, s 172 for example, 173 http://geant4.slac.stanford.edu/Presentatio 174 (where [VIS] can be replaced by DAWN, OpenG 175 176 The tracks are automatically drawn at the e 177 for all events and erased at the beginning 178 179 B- USER INTERFACES 180 181 The user command interface is set via the G 182 in the main() function in exampleB3.cc 183 184 The selection of the user command interface 185 according to the Geant4 configuration or it 186 the third argument of the G4UIExecutive con 187 188 The gui.mac macros are provided in examples 189 is automatically executed if Geant4 is buil 190 It is also possible to customise the icons 191 demonstrated in the icons.mac macro in exam 192 193 C- HOW TO RUN 194 195 - Execute exampleB3a in the 'interactive m 196 % ./exampleB3a 197 and type in the commands from run1.mac l 198 Idle> /control/verbose 2 199 Idle> /tracking/verbose 2 200 Idle> /run/beamOn 1 201 Idle> ... 202 Idle> exit 203 or 204 Idle> /control/execute run1.mac 205 .... 206 Idle> exit 207 208 - Execute exampleB3a in the 'batch' mode f 209 (without visualization) 210 % ./exampleB3a run2.mac 211 % ./exampleB3a exampleB3.in > exampleB 212 213