Geant4 Cross Reference |
1 ------------------------------Advanced Example--------------------------------- README FILE 2 3 Note: Due to the importation of data files during the initialisation stage of 4 Geant4, load-time may be in excess of 5 minutes. 5 6 UNDERGROUND PHYSICS 7 8 An example of a underground dark matter experiment. 9 10 Please see the UserRequirements.txt and related web-pages referred to 11 at the end of that document. 12 13 Over-view: 14 A single liquid xenon cell is simulated within Geant4 and the scintillation 15 light produced from interactions from various calibration species is recorded 16 as PhotoMultiplier hits. The output is then written to an ASCII file for 17 future off-line analysis. 18 19 Geometry: 20 Experimental set-up: 21 22 G4double worldWidth = 470.0*cm + 2.*wallThick; // "x" 23 G4double worldLength = 690.0*cm + 2.*wallThick; // "y" 24 G4double worldHeight = 280.0*cm + 2.*wallThick; // "z" 25 26 27 28 A "cavern" of dimensions 5.18m x 7.38m x 3.28m with concrete walls is defined 29 as the World Volume. A laboratory geometry is incorporated included desks, 30 cupboards, door and windows. For ease this is included in a separate ".icc" 31 file which can be removed should the code seem cumbersome. In the centre of 32 the cavern a steel vacuum vessel containing liquid and gaseous xenon is placed. 33 The internal construction of the vessel accurately reproduces an existing 34 prototype Dark Matter detector which allows experimental comparison. The active 35 detector volume is defined by a series of metal rings, complemented by 36 a cover mirror and a PMT immersed in the liquid. Two grids and a 37 thermalising copper shield are also incorporated. The liquid/gas 38 interface is located 6mm away from the mirror surface. A Am241 39 calibration source is suspended from one of the grids in the liquid 40 phase, above the PMT. 41 42 XXX================XXX mirror 43 XXX________________XXX gas phase 44 XXX XXX 45 XXX XXX liquid phase 46 XXX XXX 47 XXX.......U........XXX grid + calibrator 48 XXX................XXX grid 49 XXX| |XXX 50 | ___------___ | 51 || PMT || 52 || || 53 54 55 Hits Output (file "hits.out"): 56 An ASCII file containing the following information: 57 Evt # : event number 58 Etot, MeV : energy deposited in liquid xenon 59 LXe hits : number of hits in liquid xenon 60 LXeTime, ns : time of first hit in liquid xenon 61 PMT hits : number of hits in PMT (photocathode) 62 PmtTime, ns : average PMT hit time relative to LXeTime 63 First hit : first particle to hit liquid xenon 64 Flags : particles contributing to energy deposition 65 Seeds : the initial seed values for given hit events 66 67 Note: 68 69 The time information PmtTime is erroneous when forcing nuclear 70 decay with the RadioactiveDecay module due to the precision 71 required to detect nanosecond scintillation times on a global 72 time of 432 years (in the case of 241Am decay). 73 74 75 Pmt Output (file "pmt.out"): 76 Photon hit positions within the PMT face (overwritten every event): 77 "Hit# X, mm Y, mm Z, mm" 78 79 80 To Run: 81 Either run the macro files interactively or in batch with the command 82 DMX macro_name.mac. 83 84 85 Macros: 86 87 initInter.mac 88 Initialisation macro for interactive mode. 89 90 gamma.mac 91 Shoots one 60 keV gamma upwards from the calibrator and traces the 92 scintillation light produced in LXe to the PMT. All tracks are drawn 93 with custom colours. PMT hits in photocathode are also shown. Event 94 summary is writen to file "hits.out". 95 96 gamma_1000.mac 97 Similar to above, but 1000 gammas are emmited isotropically from the 98 source. No hits or tracks are draw, and the verbosity is reduced. 99 100 alpha.mac 101 Shoots one 5.486 MeV alpha particle upwards from the calibrator and 102 traces the scintillation light to the PMT. All tracks except 103 optical photons are drawn. Event summary is written to file 104 "hits.out" and PMT hits to file "pmt.out". 105 106 alpha_1000.mac 107 Similar to above, but 1000 alphas are emmited isotropically from the 108 source. No tracks are stored, and the verbosity is reduced. Event 109 summary is written to file "hits.out", PMT hits are not written out. 110 111 neutron.mac 112 Shoots one 2.48 MeV neutron inside the room aimed at the detector. 113 All tracks except scintillation photons are drawn (custom colours). 114 Gammas are not killed at the concrete wall. Event summery is written 115 to file "hits.out". 116 117 ambe_spectrum.mac 118 Produces a spectrum of neutrons according to an approximation of a Am/Be 119 neutron source. However, this uses the GPS and therefore will only work 120 after compilation with the DMXENV_GPS_USE environment variable (see below) 121 122 123 sourceAm241.mac 124 Forces the decay of 241Am nuclei in the calibrator and tracks the 125 resulting particles (237Np + alpha + gamma from 237Np 126 de-excitation). All tracks are drawn except scintillation photons. 127 Event summery is written to file "hits.out". 128 -> To be added for a future release 129 130 131 sourceAm241_1000.mac 132 Similar to above but for 1000 events. No tracks are stored. 133 -> To be added for a future release 134 135 136 Note: 137 The following environment variables need to be set: 138 G4RADIOACTIVEDATA : points to Radioactive Decay Data files 139 G4LEDATA : points to low energy data base 140 G4LEVELGAMMADATA : points to PhotoEvaporation data 141 NeutronHPCrossSections : points to neutron data files 142 143 In addition if you require to use the full General Particle Source then the 144 variable DMXENV_GPS_USE can be set. The DMX gun is still included in order to 145 allow forward compatibility should the GPS change. 146 147 148 ANALYSIS: 149 150 The program should produce ROOT-based histogram files. It is possible to 151 produce the output in XML-compliant format by changing the G4AnalysisManager default file type in DMXRunAction::Book(). 152 153 SEEDS: 154 155 The seeds of event hits are stored in the hit record file. These can be used 156 to repeat events for visualisation, test crashes/idiosyncracies: 157 158 /random/setDirectoryName ./seeds 159 /random/resetEngineFrom currentEvent.rndm 160 /random/saveThisEvent 161 /random/setSavingFlag 162 163 The file currentEvent.rndm should contain the two seeds which were outputed in 164 the scintHit file. 165 166 ERRORS: 167 168 When running interactively the following error will be shown: 169 170 BooleanProcessor::caseIE : unimplemented case 171 BooleanProcessor::caseIE : unimplemented case 172 BooleanProcessor::caseIE : unimplemented case 173 BooleanProcessor::caseIE : unimplemented case 174 BooleanProcessor::caseIE : unimplemented case 175 BooleanProcessor::caseIE : unimplemented case 176 BooleanProcessor: boolean operation failed 177 BooleanProcessor::caseIE : unimplemented case 178 BooleanProcessor::caseIE : unimplemented case 179 BooleanProcessor::caseIE : unimplemented case 180 BooleanProcessor::caseIE : unimplemented case 181 BooleanProcessor: boolean operation failed 182 183 This is a "feature" of the visualisation of boolean volumes, but does not 184 affect functionality/performance so can be ignored. 185 186 NB: 187 If using explicit libraries (?) i.e. non-shared then compilation time with 188 neutrons in physics list is very long (>5 minutes) - check this............. 189 It is more efficient to use shared libraries that are loaded at run-time with 190 increased initialisation time (at run-time). 191 192 Also if using shared libraries the load time at run-time may be several minutes 193 - this is partially due to the neutron implementation requires full data sets 194 for each isotope being specified. 195 196 197 -------------------------------------- 198 199 If running on Redhat 7.0 or above set G4SYSTEM to Linux-g++, alternatively you 200 can install backward compatibility to egcs, however, requires 201 config/sys/Linux-egcs.gmk to be altered so that CXX is set to kgcc 202 (compared to g++ in original file) 203 204 -------------------------------------- 205 206 207 Alex Howard, 29/11/01 208 updated 18/06/02 209