1 | \section{Computing the Mean Energy Loss} \label{en_loss} |
---|
2 | |
---|
3 | Energy loss processes are very similar for \(e+/e-\) , \(\mu+/\mu-\) and |
---|
4 | charged hadrons, so a common description for them was a natural choice in |
---|
5 | Geant4. Any energy loss process must calculate the continuous and discrete |
---|
6 | energy loss in a material. Below a given energy threshold the energy loss |
---|
7 | is continuous and above it the energy loss is simulated by the explicit |
---|
8 | production of secondary particles - gammas, electrons, and positrons. |
---|
9 | |
---|
10 | \subsection{Method} |
---|
11 | |
---|
12 | Let |
---|
13 | \[\frac{d\sigma(Z,E,T)}{dT}\] |
---|
14 | be the differential cross-section per atom (atomic number $Z$) for the ejection |
---|
15 | of a secondary particle with kinetic energy $T$ by an incident particle of |
---|
16 | total energy $E$ moving in a material of density $\rho$. The value of the |
---|
17 | {\em kinetic energy cut-off} or {\em production threshold} is denoted by |
---|
18 | $T_{cut}$. Below this threshold the soft secondaries ejected are simulated as |
---|
19 | continuous energy loss by the incident particle, and above it they are |
---|
20 | explicitly generated. The mean rate of energy loss is given by: |
---|
21 | \begin{equation} |
---|
22 | \label{comion.a} |
---|
23 | \frac{dE_{soft}(E,T_{cut})}{dx} = n_{at} \cdot |
---|
24 | \int_{0}^{T_{cut}} \frac{d \sigma (Z,E,T)}{dT} T \: dT |
---|
25 | \end{equation} |
---|
26 | where $n_{at}$ is the number of atoms per volume in the material. |
---|
27 | The total cross section per atom for the ejection of a secondary of |
---|
28 | energy \linebreak $T > T_{cut}$ is |
---|
29 | \begin{equation} |
---|
30 | \label{comion.b} |
---|
31 | \sigma (Z,E,T_{cut}) |
---|
32 | = \int_{T_{cut}}^{T_{max}}\frac{d \sigma (Z,E,T)} {dT} \: dT \, |
---|
33 | \end{equation} |
---|
34 | where $T_{max}$ is the maximum energy transferable to the secondary particle. |
---|
35 | |
---|
36 | \noindent |
---|
37 | If there are several processes providing energy loss for a given particle, then |
---|
38 | the total continuous part of the energy loss is the sum: |
---|
39 | \begin{equation} |
---|
40 | \label{comion.c} |
---|
41 | \frac{dE_{soft}^{tot}(E,T_{cut})}{dx} = \sum_i{\frac{dE_{soft,i}(E,T_{cut})}{dx}}. |
---|
42 | \end{equation} |
---|
43 | These values are pre-calculated during the initialization phase of {\sc Geant4} |
---|
44 | and stored in the $dE/dx$ table. Using this table the ranges of the particle in |
---|
45 | given materials are calculated and stored in the $Range$ table. The $Range$ |
---|
46 | table is then inverted to provide the $InverseRange$ table. At run time, |
---|
47 | values of the particle's continuous energy loss and range are obtained using |
---|
48 | these tables. Concrete processes contributing to the energy loss are not |
---|
49 | involved in the calculation at that moment. In contrast, the production of |
---|
50 | secondaries with kinetic energies above the production threshold is sampled |
---|
51 | by each concrete energy loss process. |
---|
52 | |
---|
53 | The default energy interval for these tables extends from 100 eV to 100 TeV and |
---|
54 | the default number of bins is 120. For muon energy loss processes models are |
---|
55 | valid for higher energies and this interval can be extended up to 1000 PeV. |
---|
56 | Note that this extension should be done for all three processes which |
---|
57 | contribute to muon energy loss. |
---|
58 | |
---|
59 | \subsection{Implementation Details} |
---|
60 | |
---|
61 | Common calculations are performed in the class $G4VEnergyLossProcess$ in which |
---|
62 | the following public methods are implemented: |
---|
63 | \begin{itemize} |
---|
64 | \item |
---|
65 | PrintInfoDefinition; |
---|
66 | \item |
---|
67 | PreparePhysicsTable; |
---|
68 | \item |
---|
69 | BuildPhysicsTable; |
---|
70 | \item |
---|
71 | AlongStepDoIt; |
---|
72 | \item |
---|
73 | PostStepDoIt; |
---|
74 | \item |
---|
75 | StorePhysicsTable; |
---|
76 | \item |
---|
77 | RetrievePhysicsTable; |
---|
78 | \item |
---|
79 | MeanFreePath; |
---|
80 | \item |
---|
81 | GetContinuousStepLimit; |
---|
82 | \item |
---|
83 | SampleSubCutSecondaries; |
---|
84 | \item |
---|
85 | GetDEDXDispersion; |
---|
86 | \item |
---|
87 | AlongStepGetPhysicalInteractionLength; |
---|
88 | \item |
---|
89 | PostStepGetPhysicalInteractionLength; |
---|
90 | \item |
---|
91 | MicroscopicCrossSection; |
---|
92 | \item |
---|
93 | AddEmModel; |
---|
94 | \item |
---|
95 | SetEmModel; |
---|
96 | \item |
---|
97 | UpdateEmModel; |
---|
98 | \item |
---|
99 | SetFluctModel; |
---|
100 | \item |
---|
101 | BuildDEDXTable; |
---|
102 | \item |
---|
103 | BuildLambdaTable; |
---|
104 | \end{itemize} |
---|
105 | There are many Get/Set and other accessors methods implemented for this base class. |
---|
106 | Any derive class need to have an implementation of pure virtual methods: |
---|
107 | \begin{itemize} |
---|
108 | \item |
---|
109 | IsApplicable; |
---|
110 | \item |
---|
111 | PrintInfo; |
---|
112 | \item |
---|
113 | InitialiseEnergyLossProcess; |
---|
114 | \end{itemize} |
---|
115 | This interface is used by the following processes: |
---|
116 | \begin{itemize} |
---|
117 | \item |
---|
118 | G4eIonisation; |
---|
119 | \item |
---|
120 | G4eBremsstrahlung; |
---|
121 | \item |
---|
122 | G4hIonisation; |
---|
123 | \item |
---|
124 | G4hhIonisation; |
---|
125 | \item |
---|
126 | G4ionIonisation; |
---|
127 | \item |
---|
128 | G4ionGasIonisation; |
---|
129 | \item |
---|
130 | G4mplIonisation; |
---|
131 | \item |
---|
132 | G4MuIonisation; |
---|
133 | \item |
---|
134 | G4MuBremsstrahlung; |
---|
135 | \item |
---|
136 | G4ePolarizedBremsstrahlung; |
---|
137 | \item |
---|
138 | G4ePolarizedIonisation. |
---|
139 | \end{itemize} |
---|
140 | These processes mainly provide initialization and also some generic functions like |
---|
141 | $AlongStepDoIt$ and $PostStepDoIt$. The physics models are |
---|
142 | implemented using the $G4VEmModel$ interface. Because a model is defined to |
---|
143 | be active over a given energy range and for a defined set of $G4Region$s, |
---|
144 | an energy loss process can have one or several models defined for a particle |
---|
145 | and $G4Region$. The following models from {\it standard, lowenergy, highenergy, and polarisation} |
---|
146 | libraries are available for above list of processes: |
---|
147 | \begin{itemize} |
---|
148 | \item |
---|
149 | G4BetheBlochModel; |
---|
150 | \item |
---|
151 | G4BetheBlochNoDeltaModel; |
---|
152 | \item |
---|
153 | G4BraggModel; |
---|
154 | \item |
---|
155 | G4BraggIonModel; |
---|
156 | \item |
---|
157 | G4BraggNoDeltaModel; |
---|
158 | \item |
---|
159 | G4eBremmstrahlungModel; |
---|
160 | \item |
---|
161 | G4eBremmstrahlungRelModel; |
---|
162 | \item |
---|
163 | G4ePolarizedBremsstrahlungModel; |
---|
164 | \item |
---|
165 | G4hBremsstrahlungModel; |
---|
166 | \item |
---|
167 | G4hPairProductionMOdel; |
---|
168 | \item |
---|
169 | G4IonParametrisedLossModel; |
---|
170 | \item |
---|
171 | G4mplIonisationModel; |
---|
172 | \item |
---|
173 | G4MollerBhabhaModel; |
---|
174 | \item |
---|
175 | G4MuBetheBlochModel; |
---|
176 | \item |
---|
177 | G4MuBremmstrahlungModel; |
---|
178 | \item |
---|
179 | G4MuPairProductionModel; |
---|
180 | \item |
---|
181 | G4PAIModel; |
---|
182 | \item |
---|
183 | G4PAIPhotonModel; |
---|
184 | \item |
---|
185 | G4PenelopeIonisationModel; |
---|
186 | \item |
---|
187 | G4PolarizedMollerBhabhaModel. |
---|
188 | \end{itemize} |
---|
189 | |
---|
190 | \subsubsection{Step-size Limit Due to Continuous Energy Loss} |
---|
191 | |
---|
192 | Continuous energy loss imposes a limit on the step-size because of the |
---|
193 | energy dependence of the cross sections. It is generally assumed in MC programs |
---|
194 | \cite{enloss.G3} |
---|
195 | that the cross sections are approximately constant along a step, i.e. |
---|
196 | the step size should be small enough, so that the change in cross section along |
---|
197 | the step is also small. In principle one must |
---|
198 | use very small steps in order to insure an accurate simulation, however |
---|
199 | the computing time increases as the step-size decreases. |
---|
200 | |
---|
201 | The exact solution |
---|
202 | is available inside Geant4 Standard EM package |
---|
203 | (see next chapter \ref{integral}) but |
---|
204 | is is not implemented yet for all physics processes. |
---|
205 | A good compromise is |
---|
206 | to limit the step-size by not allowing the stopping range of the particle to |
---|
207 | decrease by more than $\sim$ 20 \% during the step. This condition works well for |
---|
208 | particles with kinetic energies $>$ 1 MeV, but for lower energies it gives |
---|
209 | too short step-sizes, so must be relaxed. |
---|
210 | To solve this problem a lower limit on the step-size was introduced. A smooth |
---|
211 | {\em StepFunction}, with 2 parameters, controls the step size. At high energy |
---|
212 | the maximum step size is defined by Step/Range $\sim \alpha_R$ (parameter {\em dRoverRange}). |
---|
213 | By default $\alpha_R = 0.2$. As the particle travels the maximum step |
---|
214 | size decreases gradually until the range becomes lower than $\rho_R$ |
---|
215 | (parameter {\em finalRange}). Default {\em finalRange} $\rho_R = 1 mm$. |
---|
216 | For the case of a particle range $R > \rho_R$ |
---|
217 | the {\em StepFunction} provides limit for the step size $\Delta S_{lim}$ |
---|
218 | by the following formula: |
---|
219 | \begin{equation} |
---|
220 | \label{comion.d} |
---|
221 | \Delta S_{lim} = \alpha_R R + \rho_R (1- \alpha_R ) \left(2-\frac{\rho_R}{R} \right). |
---|
222 | \end{equation} |
---|
223 | In the opposite case of a small range $\Delta S_{lim} = R$. |
---|
224 | The figure below shows the ratio step/range as a function of range if step limitation |
---|
225 | is determined only by the expression (\ref{comion.d}). |
---|
226 | \begin{center} |
---|
227 | \includegraphics* |
---|
228 | [width=\textwidth,height=0.4\textheight,draft=false] |
---|
229 | {electromagnetic/utils/steplimit.eps} |
---|
230 | \end{center} |
---|
231 | \noindent |
---|
232 | The parameters of {\em StepFunction} can be |
---|
233 | overwritten using an UI command:\\ |
---|
234 | \\ |
---|
235 | {\it /process/eLoss/StepFunction 0.2 1 mm} |
---|
236 | |
---|
237 | \subsubsection{Energy Loss Computation} |
---|
238 | |
---|
239 | The computation of the {\em mean energy loss} after a given step is done |
---|
240 | by using the $dE/dx$, $Range$, and $InverseRange$ tables. The $dE/dx$ table |
---|
241 | is used if the energy deposition ($\Delta T$) |
---|
242 | is less than allowed limit $\Delta T < \xi T_0$, |
---|
243 | where $\xi$ is $linearLossLimit$ parameter (by default $\xi = 0.01$), |
---|
244 | $T_0$ is the kinetic energy of the particle. In that case |
---|
245 | \begin{equation} |
---|
246 | \Delta T = \frac{dE}{dx}\Delta s, |
---|
247 | \end{equation} |
---|
248 | where $\Delta T$ is the energy loss, $\Delta s$ is the {\it true step length}. |
---|
249 | When a larger percentage of energy is lost, the mean loss |
---|
250 | can be written as |
---|
251 | \begin{equation} |
---|
252 | \Delta T = T_0 - f_T(r_0- \Delta s) |
---|
253 | \end{equation} |
---|
254 | where \(r_0\) the range at the beginning of the step, |
---|
255 | the function \(f_T(r)\) is the inverse of the $Range$ table (i.e. it |
---|
256 | gives the kinetic energy of the particle for a range value of $r$). |
---|
257 | By default spline approximation is used to retrieve a value from |
---|
258 | $dE/dx$, $Range$, and $InverseRange$ tables. |
---|
259 | The spline flag can be changed using an UI command:\\ |
---|
260 | \\ |
---|
261 | {\it /process/em/spline false} |
---|
262 | \\ |
---|
263 | After the mean energy loss has been calculated, the process computes the |
---|
264 | {\em actual} energy loss, i.e. the loss with fluctuations. The fluctuation |
---|
265 | is computed from a model described in Section \ref{gen_fluctuations}. |
---|
266 | |
---|
267 | |
---|
268 | \subsection{Energy Loss by Heavy Charged Particles}\label{scaling} |
---|
269 | |
---|
270 | To save memory |
---|
271 | in the case of positively charged hadrons and ions energy loss, $dE/dx$, $Range$ and |
---|
272 | $InverseRange$ tables |
---|
273 | are constructed only for {\em proton, antiproton, muons, pions, kaons, and Generic Ion}. |
---|
274 | The energy loss for other particles is computed from these tables at the |
---|
275 | {\em scaled kinetic energy} $T_{scaled}$ : |
---|
276 | \begin{equation} |
---|
277 | \label{enloss.sc} |
---|
278 | T_{scaled} = T\frac{ M_{base}}{ M_{particle}}, |
---|
279 | \end{equation} |
---|
280 | where $T$ is the kinetic energy of the particle, $M_{base}$ and |
---|
281 | $M_{particle}$ are the masses of the base particle ({\em proton or kaon}) and particle. |
---|
282 | For positively changed hadrons with non-zero spin {\em proton} is used as a based particle, |
---|
283 | for negatively charged hadrons with non-zero spin - {\em antiproton}, |
---|
284 | for charged particles with zero spin - |
---|
285 | $K^+$ or $K^-$ correspondingly. The virtual particle {\em Generic Ion} is used |
---|
286 | as a base particle for for all |
---|
287 | ions with $Z > 2$. It has mass, change and other quantum numbers of the {\em proton}. |
---|
288 | The energy loss can be defined via scaling relation: |
---|
289 | \begin{equation} |
---|
290 | \label{enloss.sc1} |
---|
291 | \frac{dE}{dx}(T) = q^2_{eff}(F_1(T)\frac{dE}{dx}_{base}(T_{scaled}) + F_2(T,q_{eff})), |
---|
292 | \end{equation} |
---|
293 | where $q_{eff}$ is particle effective |
---|
294 | change in units of positron charge, $F_1$ and $F_2$ are correction function taking into account |
---|
295 | Birks effect, Block correction, low-energy corrections based on data from evaluated data bases |
---|
296 | \cite{enloss.ICRU73}. |
---|
297 | For a hadron $q_{eff}$ is equal to the hadron charge, |
---|
298 | for a slow ion effective charge is different from the charge |
---|
299 | of the ion's nucleus, because of electron exchange between transporting ion and the media. |
---|
300 | The effective charge approach is used to describe this effect |
---|
301 | \cite{enloss.Ziegler88}. |
---|
302 | The scaling relation (\ref{enloss.sc}) is valid for any combination |
---|
303 | of two heavy charged particles with accuracy corresponding to high order |
---|
304 | mass, charge and spin corrections \cite{enloss.ICRU49}. |
---|
305 | |
---|
306 | \subsection{Status of this document} |
---|
307 | 09.10.98 created by L. Urb\'an \\ |
---|
308 | 01.12.03 revised by V.Ivanchenko \\ |
---|
309 | 02.12.03 spelling and grammar check by D.H. Wright \\ |
---|
310 | 09.12.05 minor update by V.Ivanchenko \\ |
---|
311 | 14.06.07 formula of StepFunction (mma) \\ |
---|
312 | 15.06.07 updated last sub-charter, list of processes and models by V.Ivanchenko \\ |
---|
313 | 11.12.08 revised by V.Ivanchenko \\ |
---|
314 | |
---|
315 | \begin{latexonly} |
---|
316 | |
---|
317 | \begin{thebibliography}{99} |
---|
318 | \bibitem{enloss.G3} {\sc geant3} manual |
---|
319 | {\em Cern Program Library Long Writeup W5013 (1994)} |
---|
320 | \bibitem{enloss.Ziegler88} J.F.~Ziegler and |
---|
321 | J.M.~Manoyan, {\em Nucl. Instr. and Meth. B35 (1988) 215.} |
---|
322 | \bibitem{enloss.ICRU49} ICRU (A.~Allisy et al), |
---|
323 | Stopping Powers and Ranges for Protons and Alpha |
---|
324 | Particles, {\em ICRU Report 49, 1993.} |
---|
325 | \bibitem{enloss.ICRU73}ICRU (R.~Bimbot et al), |
---|
326 | Stopping of Ions Heavier than Helium, {\em Journal of the ICRU Vol5 No1 (2005) Report 73.} |
---|
327 | \end{thebibliography} |
---|
328 | |
---|
329 | \end{latexonly} |
---|
330 | |
---|
331 | \begin{htmlonly} |
---|
332 | |
---|
333 | \subsection{Bibliography} |
---|
334 | |
---|
335 | \begin{enumerate} |
---|
336 | \item {\sc geant3} manual |
---|
337 | {\em Cern Program Library Long Writeup W5013} (1994). |
---|
338 | \item J.F.~Ziegler and |
---|
339 | J.M.~Manoyan, {\em Nucl. Instr. and Meth. B35 (1988) 215.} |
---|
340 | \item ICRU (A.~Allisy et al), |
---|
341 | Stopping Powers and Ranges for Protons and Alpha |
---|
342 | Particles, |
---|
343 | {\em ICRU Report 49 (1993).} |
---|
344 | \item ICRU (R.~Bimbot et al), |
---|
345 | Stopping of Ions Heavier than Helium, {\em Journal of the ICRU Vol5 No1 (2005) Report 73.} |
---|
346 | \end{enumerate} |
---|
347 | |
---|
348 | \end{htmlonly} |
---|