1 | $Id: README,v 1.14 2005/12/09 22:15:52 mantero Exp $ |
---|
2 | ------------------------------------------------------------------- |
---|
3 | |
---|
4 | ========================================================= |
---|
5 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
6 | ========================================================= |
---|
7 | |
---|
8 | xray_fluorescence |
---|
9 | ----------------- |
---|
10 | XrayFluo is an advanced Geant4 example based on a realistic simulation of |
---|
11 | a test beam. |
---|
12 | The aim of the test beam was to characterize the response function of various |
---|
13 | X-Rays detectors used to measure fluorescence emissions from samples composed |
---|
14 | of different materials irradiated with a monochromatic beam of photons. |
---|
15 | In this example the geometry of the detector is simplified: |
---|
16 | one single pixel is used, since the test beams has used monolithic detectors. |
---|
17 | The response function is tabulated for different values of incident |
---|
18 | energy and stored in the file response.dat and SILIresponse.dat. |
---|
19 | At the moment, two kinds of detectors are available: HPGe and Si(Li). |
---|
20 | The sample, a simple box whose material can be selected, can be irradiated |
---|
21 | with different particles, with different spectra for the incident energy and |
---|
22 | with different shapes of the primary generator. |
---|
23 | Apart from the sample and the detector there are two diaphragm reproducing |
---|
24 | those used to collimate the incident beam during the test beam. |
---|
25 | |
---|
26 | The aim of this advanced example is to illustrate the use of particle |
---|
27 | generation and analysis schemes available in Geant4: |
---|
28 | |
---|
29 | - the generation of particles is done via the G4ParticleGun: the example |
---|
30 | shows how to use it in order to obtain a beam of circular section or |
---|
31 | a particle source isotropic in space |
---|
32 | |
---|
33 | - the example includes the possibility to shoot particles according to a |
---|
34 | given energy spectrum: the files B_flare.dat, C_Flare.dat and M_flare.dat |
---|
35 | store the spectra of photons during solar flares, the files |
---|
36 | mercury2_flx_solmax.dat and mercury_flx_solmin.dat contain the spectra of |
---|
37 | protons respectively during solar maximum and solar minimum conditions, and |
---|
38 | merc2_flx_alp_max.dat merc_flx_alp_min.dat contain the spectra of alpha |
---|
39 | particles again respectively during solar maximum and solar minimum |
---|
40 | conditions. |
---|
41 | |
---|
42 | - histograming facilities are presently provided for the Linux environment |
---|
43 | by using the AIDA3 interfaces. |
---|
44 | The AIDA compliant version has not been tested by the developers and is |
---|
45 | here as a example of "forward compatibility" on how to use analysis. |
---|
46 | |
---|
47 | In order to be able to use any of these packages, prior installation is |
---|
48 | necessary to configure you environment to get visulaization, as described in geant4 manual. |
---|
49 | If we want to use analisys, we provide an example for the use of PI: |
---|
50 | |
---|
51 | # flag that we want to use analysis: |
---|
52 | setenv G4ANALYSIS_USE 1 |
---|
53 | |
---|
54 | #select AIDA implementation: PI 1.3.3 |
---|
55 | |
---|
56 | setenv G4ANALYSIS_BUILD 1 |
---|
57 | |
---|
58 | setenv PI_VERSION 1_3_3 |
---|
59 | setenv PATH /your/path/to/PI/app/releases/PI/PI_1_3_0/slc3_ia32_gcc323/bin/:${PATH} |
---|
60 | eval `aida-config -r csh` |
---|
61 | |
---|
62 | #path to the lowEnergy data base |
---|
63 | |
---|
64 | setenv G4LEDATA /your/path/to/geant4/data/G4EMLOW3.0 |
---|
65 | |
---|
66 | #path to Xray_Fluorescence data files, if not set, PWD is assumed: |
---|
67 | |
---|
68 | setenv XRAYDATA /path/to/detector/and/input/spctra/files |
---|
69 | |
---|
70 | 1. Run |
---|
71 | After the compilation of the program, to execute a sample simulation type (for example): |
---|
72 | |
---|
73 | $G4WORKDIR/bin/Linux-g++/XrayFluo |
---|
74 | |
---|
75 | The program gives, at tis point,the user 4 options: |
---|
76 | |
---|
77 | Please Select Simulation Geometrical Set-Up: |
---|
78 | 1 - Test Beam |
---|
79 | 2 - Infinite Plane |
---|
80 | 3 - Planet and Sun |
---|
81 | 4 - Phase-Space Production |
---|
82 | |
---|
83 | The first three choices are to choose different experimental set-ups |
---|
84 | (a test beam one, an infite plane and a planetary geometry), while |
---|
85 | the fourth is a simplified version of the first, without a detector, |
---|
86 | only to generate a tuple with particles genereted or exiting the sample. |
---|
87 | |
---|
88 | In order to run a macro, type the following command: |
---|
89 | |
---|
90 | idle> execute command "/control/execute xxxxx.mac" |
---|
91 | |
---|
92 | If the analysis options are set, histograms will |
---|
93 | automatically stored in the corresponding files (hbook or XML) |
---|
94 | |
---|
95 | In order to launch the application in batch mode, it is necessary to specify, |
---|
96 | after the executable file name, the name of the macro file and the number of the choice: |
---|
97 | |
---|
98 | $G4WORKDIR/bin/Linux-g++/XrayFluo xxxxx.mac 1 |
---|
99 | |
---|
100 | 2. Detector description |
---|
101 | The telescope and detector geometry is defined in |
---|
102 | XrayFluoDetectorConstruction.cc |
---|
103 | |
---|
104 | 3. Detector peculiar properties are described in XrayFluoSiLiDetectorType and |
---|
105 | XrayFluoHPGeDetectorType, both derived from XrayFluoVDetectorType. Other |
---|
106 | detector types can be added, creating other implementations of |
---|
107 | XrayFluoVDetectorType objects. |
---|
108 | Detector type selection is made in XrayFluoDetectorConstruction, and can be |
---|
109 | modified trough /apparate/detector command of the UI. |
---|
110 | Other commands (apparate/sample /apparate/sampleGranularity |
---|
111 | /apparate/GrainDiameter) are present to simulate sample granulosity: |
---|
112 | grains are spheres, disposed in a compact cubic structure, i.e superipmposition |
---|
113 | of planes of maximum density with ABC ABC path. The fundamental cell is of type |
---|
114 | cubic with centered-faces. |
---|
115 | |
---|
116 | 4. Physics processes |
---|
117 | |
---|
118 | The physics processes are in XrayFluoPhysicsList.cc |
---|
119 | The main process in this example is fluorescence emission from the sample. |
---|
120 | |
---|
121 | 5. Event generation |
---|
122 | |
---|
123 | This is done using the G4ParticleGun with some modifications. See |
---|
124 | XrayFluoParticleGeneratorAction.cc |
---|
125 | |
---|
126 | Event generation is controlled by commands in the /gun/category (see help for further details). |
---|
127 | In this readme only two commands are undrlined: |
---|
128 | |
---|
129 | - /gun/loadGunData <filename>: to be used with the setup #1, loads the ntuple created |
---|
130 | in the setup #4. The loaded particles will be generated and will be directed |
---|
131 | ALL OF THEM to the detector. This can be useful to perform detector studies |
---|
132 | with encreased efiiciency. |
---|
133 | |
---|
134 | - /gun/loadRayleighFlag <true/false> This is used to let the user decide if backscattered |
---|
135 | primary particles should be loaded and directed toward the detector. This command, |
---|
136 | in order to be useful, must be used BEFORE the previous one. |
---|
137 | |
---|
138 | 6. Analysis |
---|
139 | |
---|
140 | At present the analisys is provided by any AIDA-3.2.1 compliant analysis system. |
---|
141 | In the example the Anaphe toolkit is used. |
---|
142 | |
---|
143 | AIDA implementation configuration for compilation and link are in GNUmakefile, once |
---|
144 | is set the environmente as above: |
---|
145 | |
---|
146 | ifdef G4ANALYSIS_USE |
---|
147 | CPPFLAGS += `aida-config --include` |
---|
148 | LDFLAGS += `aida-config --lib` |
---|
149 | LOADLIBS += `aida-config --lib` |
---|
150 | endif |
---|
151 | |
---|
152 | To build and execute the example on platforms where there is no |
---|
153 | implementation of the analysis system, the environment variable |
---|
154 | G4ANALYSIS_USE must not be set. |
---|
155 | |
---|
156 | By setting visPlotter variable in XrayFluoAnalysisManager to true, |
---|
157 | it is possible to display the simulated output of the detector while |
---|
158 | simulation is in progress. Graph window is updated every 1000 events. |
---|
159 | |
---|
160 | The example provides also a simple Python file (readPY) used to display |
---|
161 | histograms with the python interface of PI. This must be run after the |
---|
162 | configuration script config.csh and the python interpreter. |
---|
163 | |
---|
164 | Various commads, with help, are available for Geant4 UI. |
---|
165 | /analysis/outputFile and /analysis/fileType respectively for |
---|
166 | changing the name and the type (xml or Hbook) of the file in wich results |
---|
167 | are saved. |
---|
168 | If these commends are used, to make the changes effective, another |
---|
169 | command, /anaysis/update, must be executed. |
---|
170 | |
---|
171 | NOTE: if a file named xrayfluo.hbk (default name) is present, it |
---|
172 | will be deleted, even if /analysis/outputFile command is issued |
---|
173 | before any run. |
---|