source: trunk/documents/UserDoc/DocBookUsersGuides/PhysicsReferenceManual/latex/electromagnetic/standard/msc.tex @ 1222

Last change on this file since 1222 was 1222, checked in by garnier, 15 years ago

CVS update

File size: 36.2 KB
Line 
1
2\section[Multiple Scattering]{Multiple Scattering}
3
4Elastic scattering of electrons and other charged particles is an important
5component of any transport code. Elastic cross section is huge when particle
6energy decreases, so multiple scattering (MSC) approach should be introduced in order
7to have acceptable CPU performance of the simulation.
8Geant4 uses a universal interface {\it G4VMultipleScattering} 
9is used by all MSC processes:
10\begin{itemize}
11\item
12G4eMultipleScattering;
13\item
14G4hMultipleScattering;
15\item
16G4MuMultipleScattering.
17\end{itemize}
18For concrete simulation the {\it G4VMscModel} interface is used, which is an extension
19of the base {\it G4VEmModel} interface. The following models are available:
20\begin{itemize}
21\item
22G4UrbanMscModel90 - Geant4 v9.0 applied to muons, hadrons and ions;
23\item
24G4UrbanMscModel92 - Geant4 v9.2 (current default) applied for electron and positron;
25\item
26G4UrbanMscModel93 - Geant4 v9.3 applied for electron and positron for Option2, Option3 and other EM Physics Lists;
27\item
28G4GoudsmitSaundersonModel - for electrons and positrons (beta-version);
29\item
30G4WentzelVIModel - for muons and hadrons, should be included in Physics Lists together with G4CoulombScattering process;
31\end{itemize}
32The last models are not yet in the production mode, so below we will concentrate
33on models developed by L.~Urban \cite{msc.urban}.
34
35\subsection{Introduction}
36
37MSC simulation algorithms can be classified as either {\em detailed} or
38{\em condensed}.  In the detailed algorithms, all the collisions/interactions
39experienced by the particle are simulated.  This simulation can be considered
40as exact;  it gives the same results as the solution of the transport equation.
41However, it can be used only if the number of collisions is not too large, a
42condition fulfilled only for special geometries (such as thin foils), or low
43enough kinetic energies.  For larger kinetic energies the average number of
44collisions is very large and the detailed simulation becomes very inefficient.
45High energy simulation codes use condensed simulation algorithms, in which
46the global effects of the collisions are simulated at the end of a track
47segment.  The global effects generally computed in these codes are the net
48displacement, energy loss, and change of direction of the charged particle.
49These quantities are computed from the multiple scattering theories used in
50the codes.  The accuracy of the condensed simulations is limited by the
51approximations of the multiple scattering theories. \\
52
53\noindent
54Most particle physics simulation codes use the multiple scattering theories
55of Moli\`ere \cite{msc.moliere}, Goudsmit and Saunderson \cite{msc.goudsmit}
56and Lewis \cite{msc.lewis}.  The theories of Moli\`ere and Goudsmit-Saunderson
57give only the angular distribution after a step, while the Lewis theory
58computes the moments of the spatial distribution as well.  None of these
59MSC theories gives the probability distribution of the spatial displacement.
60Therefore each of the MSC simulation codes incorporates its own algorithm to
61determine the spatial displacement of the charged particle after a given step.
62These algorithms are not exact, of course, and are responsible for most of the
63uncertainties in the MSC codes.  Therefore the simulation results can depend
64on the value of the step length and generally one has to select the value of
65the step length carefully. \\
66
67\noindent
68A new class of MSC simulation, the {\em mixed} simulation algorithms (see
69e.g.\cite{msc.fernandez}), appeared in the literature recently.  The mixed
70algorithm simulates the {\em hard} collisions one by one and uses a MSC theory to
71treat the effects of the {\em soft} collisions at the end of a given step.  Such
72algorithms can prevent the number of steps from becoming too large and also
73reduce the dependence on the step length. \\ 
74
75\noindent
76The MSC model used in Geant4 belongs to the class of condensed
77simulations.  It uses model functions
78to determine the angular and spatial distributions after a step.  The
79functions have been chosen in such a way as to give the same moments of the
80(angular and spatial) distributions as the Lewis theory \cite{msc.lewis}.
81
82\subsection{Definition of Terms}
83
84In simulation, a particle is transported by steps through the detector
85geometry.  The shortest distance between the endpoints of a step is called
86the {\em geometrical path length}, $z$.
87In the absence of a magnetic field, this is a straight line.
88For non-zero fields, $z$ is the shortest distance along
89a curved trajectory.  Constraints on $z$ are imposed when particle tracks
90cross volume boundaries.  The path length of an actual particle, however, is
91usually longer than the geometrical path length, due to physical interactions
92like multiple scattering. 
93This distance is called the {\em true path length}, $t$.
94Constraints on $t$ are imposed by the physical processes acting on the
95particle. \\
96
97\noindent
98The properties of the multiple scattering process are completely determined
99by the {\em transport mean free paths}, $\lambda_k$, which are functions of the
100energy in a given material.  The $k$-th transport mean free path is defined as
101
102\begin{equation}
103 \frac {1}{\lambda_k} = 2 \pi n_a \int_{-1}^{1} \left[1 - P_k(cos\chi) \right]
104                   \frac{d\sigma(\chi)}{d\Omega} d(cos\chi)
105\label{msc.a1}
106\end{equation}
107
108\noindent
109where $d\sigma(\chi)/d\Omega$ is the differential cross section of the
110scattering, $P_k(cos\chi)$ is the $k$-th Legendre polynomial, and $n_a$ is the
111number of atoms per volume. \\
112
113\noindent 
114Most of the mean properties of MSC computed in the simulation codes depend
115only on the first and second transport mean free paths.  The mean value of
116the geometrical path length (first moment) corresponding to a given true path
117length $t$ is given by
118\begin{equation}
119 \langle z \rangle =
120            \lambda_1 \left[ 1-\exp \left(-\frac{t}{\lambda_1} \right)\right]
121\label{msc.a}
122\end{equation}
123
124\noindent
125Eq.~\ref{msc.a} is an exact result for the mean value of $z$ if the
126differential cross section has axial symmetry and the energy loss can be
127neglected.  The transformation between true and geometrical path lengths is
128called the {\em path length correction}. This formula and other expressions for
129the first moments of the spatial distribution were taken from either
130 \cite{msc.fernandez} or \cite{msc.kawrakow}, but were originally
131calculated by Goudsmit and Saunderson \cite{msc.goudsmit} and Lewis
132\cite{msc.lewis}. \\
133
134\noindent 
135At the end of the true step length, $t$, the scattering angle is $\theta$.
136The mean value of $cos\theta$ is
137\begin{equation}
138  \langle cos\theta \rangle = \exp \left[-\frac{t}{\lambda_1} \right]
139\label{msc.c}
140\end{equation}
141The variance of $cos\theta$ can be written as
142\begin{equation}
143  \sigma^2 = \langle cos^2\theta \rangle - \langle cos\theta \rangle ^2 =
144             \frac{1 + 2 e^{- 2 \kappa \tau}} {3} - e^{-2 \tau}
145\label{msc.c1}
146\end{equation}
147
148\noindent
149where $\tau = t/\lambda_1$ and $\kappa = \lambda_1/\lambda_2$. \\
150
151\noindent
152 The mean lateral displacement is given by a more complicated formula
153\cite{msc.fernandez}, but this quantity can also be calculated relatively
154easily and accurately.  The square of the {\em mean lateral displacement} is
155\begin{equation}
156 \langle x^2 + y^2 \rangle = \frac{4 \lambda_1^2}{3} \ \left[\tau 
157                  - \frac{\kappa+1}{\kappa}
158                  + \frac{\kappa}{\kappa-1} e^{-\tau} -
159                  \frac{1}{\kappa (\kappa -1)} e^{-\kappa \tau} \right]
160\label{msc.e1}
161\end{equation}
162
163\noindent
164Here it is assumed that the initial particle direction is parallel to the
165the $z$ axis.\\
166
167\noindent 
168 The lateral correlation is determined by the equation
169\begin{equation}
170  \langle x v_x+y v_y \rangle = \frac{2 \lambda_1}{3} \ \left[1
171                      - \frac{\kappa}{\kappa-1} e^{-\tau} +
172                        \frac{1}{\kappa-1} e^{-\kappa \tau} \right]
173\label{msc.e2}
174\end{equation}
175
176\noindent
177 where $v_x$ and $v_y$ are the x and y components of the direction unit
178vector.
179This equation gives the correlation strength between the final lateral
180position and final direction.\\
181
182\noindent
183The transport mean free path values have been calculated by Liljequist et al.
184\cite{msc.liljequist1}, \cite{msc.liljequist2} for electrons and positrons in
185the kinetic energy range \mbox{100 eV - 20 MeV} in 15 materials.  The MSC
186model in Geant4 uses these values for kinetic energies below 10 MeV.
187For high energy particles (above 10 MeV) the transport mean free path
188values have been taken from a paper of R.Mayol and F.Salvat (\cite{msc.mayol}).
189When necessary, the model linearly interpolates
190or extrapolates the transport cross section, $\sigma_1 = 1 / \lambda_1$, in
191atomic number $Z$ and in the square of the particle velocity, $\beta^2$.
192The ratio $\kappa$ is a very slowly varying function of the energy:
193$\kappa > 2$ for $T >$ a few keV, and $\kappa \rightarrow 3$ for very high
194energies (see \cite{msc.kawrakow}).  Hence, a constant value of 2.5 is used
195in the model.\\
196
197\noindent
198  Nuclear size effects are negligible for low energy particles and
199they are accounted for in the Born approximation in \cite{msc.mayol},
200so there is no need for extra corrections of this kind in the model.
201
202\subsection{Path Length Correction}
203
204As mentioned above, the path length correction refers to the transformation
205true path length $\longrightarrow$ geometrical path length and its inverse.
206The true path length $\longrightarrow$ geometrical path length transformation
207is given by Eq.~\ref{msc.a} if the step is small and the energy loss can be
208neglected.  If the step is not small the energy dependence makes the
209transformation more complicated. For this case Eqs. \ref{msc.c},\ref{msc.a}
210should be modified as
211\begin{equation}
212 \langle cos\theta \rangle = \exp \left[-\int_0^t \frac{du}{\lambda_1 (u)}
213                             \right]
214   \label{msc.ax}
215\end{equation}
216
217\begin{equation}
218 \langle z \rangle =  \int_0^t \langle cos\theta \rangle_u \ du 
219       \label{msc.bx}
220\end{equation}
221
222\noindent
223where $\theta$ is the scattering angle, $t$ and $z$ are the true and
224geometrical path lengths, and $\lambda_1$ is the transport mean free path. \\
225
226\noindent
227In order to compute Eqs. \ref{msc.ax},\ref{msc.bx} the $t$ dependence of the
228transport mean free path must be known. $\lambda_1$ depends on the kinetic
229energy of the particle which decreases along the step.  All computations in
230the model use a linear approximation for this $t$ dependence:
231   \begin{equation}
232          \lambda_1(t) =  \lambda_{10} ( 1- \alpha t)       \label{msc.cx}
233   \end{equation}
234
235\noindent
236Here $\lambda_{10}$ denotes the value of $\lambda_1$ at the start of the step,
237and $\alpha $ is a constant. It is worth noting that Eq.~\ref{msc.cx} is
238\emph{not}
239a crude approximation. It is rather good at low ($ < $ 1 MeV) energy.  At
240higher energies the step is generally much smaller than the range of the
241particle, so the change in energy is small and so is the change in $\lambda_1$.
242 Using Eqs.~\ref{msc.ax} -  \ref{msc.cx} the explicit formula for
243$\langle cos\theta \rangle$ and $\langle z \rangle$ are :
244\begin{equation}
245   \langle cos\theta \rangle =
246         \left(1 - \alpha t \right)^{\frac{1}{ \alpha \lambda_{10}}}
247  \label{msc.ff}
248\end{equation}
249
250\begin{equation}
251   \langle z \rangle = \frac{1} { \alpha (1 + \frac{1}{\alpha \lambda_{10}})}
252        \left[ 1 - (1 - \alpha t)^{1+ \frac{1}{ \alpha \lambda_{10}}} \right] 
253  \label{msc.dx}
254\end{equation}
255
256\noindent
257The value of the constant $\alpha $ can be expressed using $\lambda_{10}$ and
258$\lambda_{11}$ where $\lambda_{11}$ is the value of the transport mean free
259path at the end of the step
260 \begin{equation}
261    \alpha = \frac{\lambda_{10} - \lambda_{11}} {t \lambda_{10}} 
262   \label{msc.ex}
263 \end{equation}
264
265\noindent
266 At low energies ( $T_{kin} < M$ ,  M - particle mass) $\alpha $ has a simpler
267 form:
268 \begin{equation}
269      \alpha = \frac{1} { r_0}   \label{msc.fx}
270 \end{equation}
271where $r_0$ denotes the range of the particle at the start of the step.
272
273\noindent
274 It can easily be seen that for a small step (i.e. for a step with small
275 relative energy loss) the formula of $\langle z \rangle$ is
276 \begin{equation}
277   \langle z \rangle =
278     \lambda_{10} \left[ 1-\exp{\left( -\frac{t}{\lambda_{10}}\right)}\right] 
279    \label{msc.gx}
280 \end{equation}
281
282\noindent
283Eq. \ref{msc.dx} or \ref{msc.gx} gives the mean value of the geometrical step
284length for a given true step length. \\
285
286\noindent
287The actual geometrical path length is sampled in the
288model according to the simple probability density function defined for
289$v = z/t \in [0 , 1]$ :
290 \begin{equation}
291   f(v) = (k+1)(k+2) v^k (1-v) 
292 \label{msc.d2}
293 \end{equation}
294
295\noindent
296The value of the exponent $k$ is computed from the requirement that $f(v)$
297must give the same mean value for $z = v t$  as Eq.~\ref{msc.dx} or
298\ref{msc.gx}. Hence
299\begin{equation}
300    k = \frac{3 \langle z \rangle - t}{t - \langle z \rangle}
301\label{msc.d3}
302\end{equation}
303
304\noindent
305The value of $z = v t$ is sampled using  $f(v)$ if $k > 0$, otherwise
306$z = \langle z \rangle$ is used. \\
307
308\noindent
309The geometrical path length $\longrightarrow$ true path length transformation
310is performed using the mean values. The transformation can be written as
311\begin{equation}
312   t(z) = \langle t \rangle = -\lambda_1 \log\left(1-\frac{z}{\lambda_1}\right)
313\label{msc.d4}
314\end{equation}
315 if the geometrical step is small and
316 \begin{equation}
317   t(z) = \frac{1}{\alpha} \left[ 1 - (1 - \alpha w z)^{\frac{1}{w}} \right]
318 \label{msc.hx}
319 \end{equation}
320 where  $$w = 1 + \frac{1}{\alpha \lambda_{10}}$$ if the step is not small, i.e.
321 the energy loss should be taken into account. \\
322
323\noindent
324This transformation is needed when the particle arrives at a volume boundary,
325causing the step to be geometry-limited.  In this case the true path length
326should be computed in order to have the correct energy loss of the particle
327after the step.
328
329\subsection{Angular Distribution}
330
331The quantity $u = cos\theta$ is sampled according to a model function
332$g(u)$.  The shape of this function has been chosen such that
333Eqs. \ref{msc.c} and \ref{msc.c1} are satisfied.  The functional form of $g$ is
334\begin{equation}
335  g(u) = q [p g_1(u) + (1-p) g_2(u)] + (1-q) g_3(u)
336\label{msc.d}
337\end{equation}
338
339\noindent
340where $ 0 \leq p,q \leq 1 $, and the $g_i$ are simple functions of
341$u = cos\theta$, normalized over the range $ u \in [-1,\ 1] $.  The functions
342$g_i$ have been chosen as
343\begin{equation}
344 g_1(u) = C_{1}\hspace{3mm} e^{-a (1-u)} \hspace{2cm} -1 \leq u_0 \leq u \leq 1
345\label{msc.d5}
346\end{equation}
347\begin{equation}
348 g_2(u) =  C_{2}\hspace{3mm} \frac{1} { (b-u)^d}
349      \hspace{2cm}  -1 \leq u \leq u_0 \leq 1
350\label{msc.d6}
351\end{equation}
352\begin{equation}
353 g_3(u) =  C_{3} \hspace{4.8cm}  -1 \leq u \leq 1
354\label{msc.d7}
355\end{equation}
356where $a > 0$, $b > 0$, $d > 0$ and $u_0$ are model parameters, and the $C_{i}$
357are normalization constants.  It is worth noting that for small scattering
358angles, $\theta$, $g_1(u)$ is nearly Gaussian ($exp(-\theta^2/2 \theta_0^2)$)
359if $\theta_0^2 \approx 1 / a$, while $g_2(u)$ has a Rutherford-like tail for
360large $\theta$, if $b \approx 1$ and $d$ is not far from 2 .
361
362
363\subsection{Determination of the Model Parameters}
364
365The parameters $a$, $b$, $d$, $u_0$ and $p$, $q$ are not independent.  The
366requirement that the angular distribution function $g(u)$ and its first
367derivative be continuous at $u = u_0$ imposes two constraints on the
368parameters:
369\begin{equation}
370  p\hspace{1mm} g_1(u_0) = (1-p)\hspace{1mm} g_2(u_0)
371\label{msc.p1}
372\end{equation}
373\begin{equation}
374  p\hspace{1mm} a\hspace{1mm} g_1(u_0) = (1-p)\hspace{1mm}
375  \frac{d}{b-u_0}\hspace{1mm} g_2(u_0)
376\label{msc.p2}
377  \end{equation}
378
379\noindent
380A third constraint comes from Eq. \ref{msc.ax} : $g(u)$ must give the same
381mean value for $u$ as the theory. \\
382
383\noindent
384 It follows from Eqs. \ref{msc.ff} and \ref{msc.d} that
385\begin{equation}
386 q \{ p \langle u \rangle_1 + (1-p) \langle u \rangle_2 \} =
387 [ 1 - \alpha \ t ]\ ^{\frac{1}{\alpha \lambda_{10}}}
388\label{msc.par1}
389\end{equation}
390where $\langle u \rangle_i$ denotes the mean value of $u$ computed from the
391distribution $g_i(u)$. \\
392
393
394
395\noindent
396The parameter $a$ was chosen according to a modified Highland-Lynch-Dahl formula
397for the width of the angular distribution \cite{msc.highland},
398\cite{msc.lynch}.
399\begin{equation}
400   a = \frac {0.5} {1 -cos(\theta_0)}
401\end{equation}
402where $\theta_0$ is
403\begin{equation}
404  \theta_0 = \frac {13.6 MeV}{ \beta c p} z_{ch} \sqrt{\frac{t}{X_0}}
405             \ \left[ 1 + h_c  \ln \left(\frac{t}{X_0} \right)\ \right]
406\end{equation}
407
408\noindent
409when the original Highland-Lynch-Dahl formula is used.
410Here $\theta_0 = \theta^{rms}_{plane}$ is the width of the approximate
411Gaussian projected angle distribution, $p$, $\beta c$ and $z_{ch}$ are the
412momentum,
413velocity and charge number of the incident particle, and $t/X_0$ is the
414true path length in radiation length unit. The correction term $h_c$ = 0.038
415 in the formula.  This value of
416$\theta_0$ is from a fit to the Moli\`ere distribution for singly charged
417particles with $\beta = 1$ for all Z, and is accurate to 11 $\%$ or better
418for $ 10^{-3} \leq t/X_0 \leq 100$ (see e.g. Rev. of Particle Properties,
419section 23.3). \\
420\noindent
421The model uses a slightly modified Highland-Lynch-Dahl formula to
422compute $\theta_0$.
423
424For electrons/positrons the modified $\theta_0$ formula is (see G4UrbanMscModel2)
425\begin{equation}
426\theta_0 = \frac {13.6 MeV}{\beta c p} z_{ch} \sqrt{y }  c
427\end{equation}
428    where
429   
430\begin{equation}
431  y =  \ln \left(\frac{t}{X_0}\right)
432\end{equation}
433
434 The correction term $c$ is
435
436\begin{equation}
437    c = c_1 + c_2 y 
438\end{equation}                 
439  for $y > -6.5$  and
440\begin{equation}
441    c = c_1 + c_2 y - 0.011 (6.5 + y) 
442\end{equation}
443  for $y <= 6.5$. The coefficients $c_i$ are
444
445\begin{equation}
446    c_1 = 0.885 + ln(Z) \left[ 0.104-0.0177 ln(Z) \right]
447\end{equation}
448
449\begin{equation}
450    c_2 = 0.028 + ln(Z) \left[ 0.012-0.00125 ln(Z) \right]
451\end{equation}
452
453In the case of heavy charged particles (muons,hadrons)
454the modified formula for $\theta_0$ is (see G4UrbanMscModel90)
455
456\begin{equation}
457\theta_0 = \frac {13.6 MeV}{\beta c p} z_{ch} \sqrt{\frac{t}{X_0} }
458                \left[ 1 + 0.105 \ln \left(\frac{t}{X_0}\right)
459                         + 0.0035 \left(\ln \left(\frac{t}{X_0}\right)\right)^2
460               \right] ^{\frac{1}{2}} f \left(Z \right)
461\end{equation}
462
463\noindent
464 where
465\begin{equation}
466   f \left(Z \right) = 1 - \frac{0.24}{ Z \left(Z + 1 \right) }
467\end{equation}
468\noindent
469 is an empirical correction factor based on high energy proton scattering
470 data \cite{msc.shen}.
471This formula gives a much smaller step dependence in the angular
472distribution than the Highland form.  \\
473
474\noindent
475The value of the parameter $u_0$ has been chosen as
476\begin{equation}
477  u_0 \hspace{4mm} = \hspace{4mm} 1 - \frac{\xi}{a}
478\end{equation}
479where $\xi$ is a constant ($\xi = 3$). \\
480
481 For electrons/positrons the parameter $d$ is set to
482\begin{equation}
483  d \hspace{4mm} = \hspace{4mm} d_1                           
484\end{equation}
485  for $y >= -13.5$ and
486\begin{equation}
487  d \hspace{4mm} = \hspace{4mm} d_1 + d_2 (y+13.5)^3                         
488\end{equation}
489 for $y < 13.5$
490 where
491\begin{equation}
492  d_1 \hspace{4mm} = \hspace{2mm} 2.134-\ln(Z) (0.1045-0.00602 ln(Z))                   
493\end{equation}
494\begin{equation}
495  d_2 \hspace{4mm} = \hspace{2mm} 0.001126-\ln(Z) (0.0001089+0.0000247 \ln(Z))
496\end{equation}
497
498 For heavy particle the  parameter $d$ is set to
499\begin{equation}
500  d \hspace{4mm} = \hspace{4mm} 2.40 - 0.027 \ Z^ \frac{2}{3}
501\end{equation}
502 This (empirical) expression is obtained comparing the simulation
503 results to the data of the MuScat experiment \cite{msc.attwood}. \\
504
505\noindent
506The remaining three parameters can be computed from
507Eqs. \ref{msc.p1} - \ref{msc.par1}.
508The numerical value of the parameters can be found in the
509code. \\
510
511
512\noindent
513It should be noted that in this model there is no step limitation
514originating from the multiple scattering process.  Another important feature
515of this model is that the sum of the 'true' step lengths of the particle, that
516is, the total true path length, does not depend on the length of the steps.
517Most algorithms used in simulations do not have these properties. \\
518
519\noindent
520In the case of heavy charged particles ($\mu$, $\pi$, $p$, etc.) the mean
521transport free path is calculated from the electron or positron $\lambda_1$
522values with a 'scaling' applied.  This is possible because the transport
523mean free path $\lambda_1$ depends only on the variable $P \beta c$, where
524$P$ is the momentum, and $\beta c$ is the velocity of the particle. \\
525
526\noindent
527In its present form the model samples the path length correction and angular
528distribution from model functions, while for the lateral displacement and
529the lateral correlation only
530the mean values are  used and all the other correlations are neglected.
531 However, the model
532is general enough to incorporate other random quantities and correlations in
533the future.
534 
535\subsection{The MSC Process in Geant4}
536
537 The step length of the particles is determined by the physics processes or
538 the geometry of the detectors. The tracking/stepping algorithm checks all the
539 step lengths demanded by the (continuous or discrete) physics processes and
540 determines the minimum of these step lengths. \\
541 
542 \noindent
543 Then, this minimum step length
544 must be compared with the length determined by the geometry of the detectors
545 and one has to select the minimum of the 'physics step length' and the
546 'geometrical step length' as the actual step length. \\
547 
548 \noindent
549 This is the point where the MSC model comes into the game. All the
550 physics processes use the true path length $t$ to sample the interaction point,
551 while the step limitation originated from the geometry is a
552 geometrical path length $z$. The MSC algorithm transforms the 'physics step
553 length' into a 'geometrical step length' before the comparison of the two
554 lengths. This 't'\(\rightarrow\)'z' transformation can be called the
555 inverse of the path length correction. \\
556 
557 \noindent
558 After the actual step length has been determined and the particle relocation
559 has been performed  the MSC performs the transformation 'z'\(\rightarrow\)'t',
560 because the energy loss and scattering computation need the true step length
561 't'. \\
562 
563 \noindent
564 The scattering angle $\theta$ of the particle after the step of length 't' is
565 sampled according to the model function given in Eq.~\ref{msc.d} .
566 The azimuthal angle $\phi$ is generated uniformly in the range $[0, 2 \pi]$. \\
567 
568 \noindent
569 After the simulation of the scattering angle, the lateral displacement is
570 computed using Eq.~\ref{msc.e1}. Then the correlation given by Eq.~\ref{msc.e2}
571 is used to determine the direction of the lateral displacement.
572 Before 'moving' the particle according to the displacement a check is performed
573 to ensure that the relocation of the particle with the lateral displacement
574 does not take the particle beyond the volume boundary.
575
576\subsection{Step Limitation Algorithm}
577
578 In Geant4 the boundary crossing is treated by the transportation process.
579 The transportation ensures that the
580 particle does not penetrate in a new volume without stopping at the boundary,
581 it restricts the step size when the particle leaves a volume. However,
582 this step restriction can be rather weak in big volumes and this fact
583 can result a not very good angular distribution after the volume.
584 At the same time, there is no similar
585 step limitation when a particle enters a volume and this fact does not allow
586 a good backscattering simulation for low energy particles. Low energy particles
587 penetrate too deeply into the volume in the first step and then - because
588 of energy loss - they are not able to reach again the boundary in backward
589 direction.\\
590 
591 \noindent
592 A very simple step limitation algorithm has been implemented in the
593 MSC code to cure this situation. At the start of a track or after
594 entering in a new volume, the algorithm restricts
595 the step size to a value
596 \begin{equation}
597  f_r \cdot max\{r,\lambda_1\}
598 \end{equation}
599 where $r$ is the range of the particle, $f_r$ is a parameter $\in [0, 1]$,
600 taking the max of $r$ and $\lambda_1$ is an empirical choice.The value of $f_r$
601 is constant for low energy particles while for particles with $\lambda_1 > \lambda_{lim}$
602 an effective value is used given by the scaling equation
603 \begin{equation}
604   f_{reff} = f_r \cdot \left[  1 - sc + sc * \frac{\lambda_1}{\lambda_{lim}} \right]
605 \end{equation}
606 ( The numerical values $sc = 0.25$ and $\lambda_{lim} = 1 \hspace{2mm} mm$ are used in the equation.)
607 In order not to
608 use very small - unphysical - step sizes a lower limit is given for the step
609 size as
610\begin{equation}
611 tlimitmin = max\left[ \frac{\lambda_1}{nstepmax}, \lambda_{elastic} \right]
612 \end{equation}
613 with $nstepmax = 25$ and $\lambda_{elastic}$ is the elastic mean free path
614 of the particle (see later).\\
615
616\noindent
617 It can be easily seen that this kind of step limitation poses a real constraint
618 only for low energy particles. \\
619 
620\noindent 
621 In order to prevent a particle from crossing
622 a volume in just one step, an additional limitation is imposed:
623 after entering a volume
624 the step size cannot be bigger than
625 \begin{equation}
626  \frac {d_{geom}}{f_g}
627 \end{equation}
628 where $d_{geom}$ is the distance to the next boundary (in the direction
629 of the particle) and $f_g$ is a constant parameter.  A similar restriction
630 at the start of a track is
631 \begin{equation}
632  \frac {2 d_{geom}}{f_g}
633 \end{equation}
634 
635\noindent
636 The choice of the parameters $f_r$ and $f_g$ is also
637 related to performance.  By default $f_r = 0.02$ and $f_g = 2.5$
638 are used, but these may
639 be set to any other value in a simple way. One can get an
640 approximate simulation of the backscattering with the default value, while
641 if a better backscattering simulation is needed it is possible to get it
642 using a smaller value for $f_r$. However, this model is very simple and
643 it can only approximately reproduce the backscattering data.
644 
645\subsection{Boundary Crossing Algorithm}
646
647 A special stepping algorithm has been implemented recently (Autumn 2006)
648 in order to improve the simulation around interfaces.
649 This algorithm does not allow 'big' last steps in a volume and 'big' first steps
650 in the next volume. The step length of these steps around a boundary crossing
651  can not be bigger than the mean free path of the elastic scattering
652 of the particle in the given volume (material). After these small steps the particle
653 scattered according to a single scattering law (i.e. there is no multiple scattering
654 very close to the boundary or at the boundary). \\
655
656\noindent
657  The key parameter of the algorithm is the variable called $skin$. The algorithm is
658 not active for $skin \leq 0$, while for $skin > 0$ it is active in layers
659 of thickness  $skin \cdot \lambda_{elastic}$ before boundary crossing
660 and of thickness $(skin-1) \cdot \lambda_{elastic}$ after
661 boundary crossing (for $skin=1$ there is only one small step just before
662 the boundary). In this active area  the particle
663 performs steps of length $\lambda_{elastic}$ (or smaller if the particle reaches the
664  boundary traversing a smaller distance than this value). \\
665 
666\noindent 
667 The scattering at the end of a small step is single or
668 plural and for these small steps there are no path length correction
669 and lateral displacement computation. In other words the program works in this
670 thin layer in 'microscopic mode'. \\
671 
672\noindent 
673  The elastic mean free path can be estimated as
674 \begin{equation}
675  \lambda_{elastic} = \lambda_1 \cdot rat \left( T_{kin} \right)
676 \end{equation}
677  where $rat(T_{kin})$ a simple empirical function computed from the elastic and
678  first transport cross section values of Mayol and Salvat \cite{msc.mayol}
679 
680 \begin{equation}
681  rat \left( T_{kin} \right) = \frac{0.001 (MeV)^2} 
682                              { T_{kin} \left(T_{kin} + 10 MeV \right)}
683 \end{equation}
684  $T_{kin}$ is the kinetic energy of the particle. \\
685 
686\noindent 
687  At the end of a small step the number of scatterings is sampled according to
688 the Poisson's distribution with a mean value  $t/\lambda_{elastic}$ and in the
689 case of plural scattering the final scattering angle is computed by summing 
690 the contributions of the individual scatterings. \\
691\noindent 
692  The single scattering is determined by the distribution
693 \begin{equation}
694   g(u) = C \frac{1} {(2 a + 1 -u)^2}                         
695 \end{equation}
696  where $u = \cos(\theta)$ , $a$ is the screening parameter,
697    $C$ is a normalization constant. The form of the screening parameter is
698   the same as in the single scattering (see there).
699
700
701\subsection{Implementation Details}
702
703The concrete implementation of described algorithms of simulation is
704provided in {\it G4UrbanMscModel2, G4UrbanMscModel90}.
705Because multiple scattering is very similar for different particles the base
706class {\it G4VMultipleScattering} was created to collect and provide significant
707features of the calculations which are common to different particle types. \\
708
709\noindent
710In the {\tt AlongStepGetPhysicalInteractionLength} method the minimum step
711size due to the physics processes is compared with the step size constraints
712imposed by the transportation process and the geometry.  In order to do this,
713the \mbox{'t' step $\rightarrow$ 'z' step} transformation must be performed. 
714Therefore, the method should be invoked after the
715{\tt GetPhysicalInteractionLength} methods of other physics processes,
716but before the same method of the transportation process.
717The reason for this ordering is that the physics processes 'feel'
718the true path length $t$ traveled by the particle, while the transportation
719process (geometry) uses the $z$ step length.\\ 
720
721\noindent
722At this point the program also checks whether the particle has entered a
723new volume.  If it has, the particle steps cannot be bigger than
724 $t_{lim} = f_r\hspace{2mm} max( r, \lambda )$.  This step limitation is
725governed by the physics, because $t_{lim}$ depends on the particle energy
726and the material. \\
727
728\noindent
729The {\tt PostStepGetPhysicalInteractionLength} method of the multiple
730scattering process simply sets the force flag to 'Forced' in order to
731ensure that {\tt PostStepDoIt} is called at every step.  It also returns a
732large value for the interaction length so that there is no step limitation
733at this level. \\
734
735\noindent
736The {\tt AlongStepDoIt} function of the process performs the inverse,\linebreak
737\mbox{'z' $\rightarrow$ 't'} transformation.  This function should be
738invoked after the \linebreak {\tt AlongStepDoIt} method of the transportation
739process, that is, after the particle relocation is determined by the
740geometrical step length, but before applying any other physics
741{\tt AlongStepDoIt}. \\
742
743\noindent
744The {\tt PostStepDoIt} method of the process samples the scattering angle
745and performs the lateral displacement when the particle is not near a boundary.
746
747Default MSC parameter values  optimized per particle type are shown in Table \ref{msc.t}.
748Note, that there is three types of step limitation by multiple scattering process:
749\begin{itemize}
750\item
751{\tt Minimal} - only $f_r$ parameter is used, was used for g4 7.1 release;
752\item 
753{\tt UseSafety} or $skin=0$ - uses particle range and
754geometrical safety;
755\item 
756{\tt UseDistanceToBoundary} - uses particle range, geometrical  safety and linear distance to
757geometrical boundary.
758\end{itemize}
759\begin{table}[hbt]
760\begin{centering}
761\begin{tabular}{|c|c|c|c|} 
762\hline
763particle & $e^+$, $e^-$   & {\it muons, hadrons} & {\it ions}\\ \hline
764 {\it StepLimitType} & {\it fUseSafety} & {\it fMinimal} & {\it fMinimal}\\ \hline
765{\it skin}            &  0    & 0   & 0 \\ \hline
766$f_r$                 &  0.04 & 0.2 & 0.2\\ \hline
767$f_g$                 &  2.5  & 0.1 & 0.1\\ \hline
768{\it LateralDisplacement} &  {\it true}  & {\it true}& {\it false}\\ \hline
769\end{tabular}
770\caption{The default values of parameters for different particle type.}
771\label{msc.t}
772\end{centering}
773\end{table}
774The parameters of the model can be changed via public functions of the base
775class {\it G4VMultipleSacttering}. They can be changed for all
776multiple scattering processes simultaneously via {\it G4EmProcessOptions} class or
777via Geant4 UI commands. The following commands are available:\\
778\\
779{\it /process/msc/StepLimit UseDistanceToBoundary\\
780/process/msc/LateralDisplacement false\\
781/process/msc/RangeFactor  0.02\\
782/process/msc/GeomFactor   2.5\\
783/process/msc/Skin   2}
784\\
785 
786
787\subsection{Status of this document}
788 09.10.98  created by L. Urb\'an. \\
789 15.11.01  major revision by L. Urb\'an.\\
790 18.04.02  updated by L. Urb\'an. \\
791 25.04.02  re-worded by D.H. Wright \\
792 07.06.02  major revision by L. Urb\'an. \\
793 18.11.02  updated by L. Urb\'an, now it describes the new angle distribution. \\
794 05.12.02  grammar check and parts re-written by D.H. Wright \\
795 13.11.03  revision by L. Urb\'an. \\
796 01.12.03  revision by V. Ivanchenko. \\
797 17.05.04  revision by L.Urb\'an. \\
798 01.12.04  updated by L.Urb\'an. \\
799 18.03.05  sampling z + mistyping corrections (mma) \\
800 22.06.05  grammar, spelling check by D.H. Wright \\
801 12.12.05  revised by L. Urb\'an, according to Geant4 V8.0 \\
802 14.12.05  updated implementation Details (mma) \\
803 08.06.06  revised by L. Urb\'an, according to Geant4 V8.1 \\
804 25.11.06  revised by L. Urb\'an, according to Geant4 V8.2 \\
805 29.03.07  revised by L. Urb\'an, for Geant4 V8.3 \\
806 13.06.07  modified introduction (mma) \\
807 17.06.07  explain effective $F_R$ (L. Urb\'an) \\
808 25.06.07  update description of options by V. Ivanchenko \\
809 05.12.07  revised by L. Urb\'an, for Geant4 V9.1 \\
810 08.12.08  revised by L. Urb\'an, for Geant4 V9.2 \\
811 11.12.08  minor revision by V. Ivanchenko \\
812 11.12.09  minor revision by V. Ivanchenko, for Geant4 v9.3 \\
813 
814\begin{latexonly}
815
816\begin{thebibliography}{99}
817
818\bibitem{msc.urban} L.~Urban, A multiple scattering model,
819   {\em CERN-OPEN-2006-077, Dec 2006. 18 pp.}
820\bibitem{msc.moliere} G.Z.~Moli\`ere
821   {\em Z. Naturforsch. 3a (1948) 78. }
822\bibitem{msc.lewis} H.W.~Lewis.
823   {\em Phys. Rev. 78 (1950) 526. }
824\bibitem{msc.goudsmit}S.~Goudsmit and J.L.~Saunderson.
825   {\em Phys. Rev. 57 (1940) 24. }
826\bibitem{msc.fernandez}J.M.~Fernandez-Varea et al.
827   {\em NIM B73 (1993) 447.}
828\bibitem{msc.kawrakow} I.~Kawrakow and A.F.~Bielajew
829   {\em NIM B 142 (1998) 253. }
830\bibitem{msc.liljequist1} D.~Liljequist and M.~Ismail.
831   {\em J.Appl.Phys. 62 (1987) 342. }
832\bibitem{msc.liljequist2} D.~Liljequist et al.
833   {\em J.Appl.Phys. 68 (1990) 3061. }
834\bibitem{msc.mayol} R.~Mayol and F.~Salvat
835   {\em At.Data and Nucl.Data Tables 65 (1997) 55.}.
836\bibitem{msc.highland} V.L.~Highland
837   {\em NIM 129 (1975) 497. }
838\bibitem{msc.lynch} G.R.~Lynch and O.I.~Dahl
839   {\em NIM B58 (1991) 6. }
840\bibitem{msc.shen} G.~Shen et al.
841   {\em Phys. Rev. D 20 (1979) 1584.}
842\bibitem{msc.attwood} D.~Attwood et al.
843   {\em NIM B 251 (2006) 41.}
844\end{thebibliography}
845
846\end{latexonly}
847
848\begin{htmlonly}
849
850\subsection{Bibliography}
851
852\begin{enumerate}
853
854\item L.~Urban, A multiple scattering model,
855   {\em CERN-OPEN-2006-077, Dec 2006. 18 pp.}
856\item  G. Z. Moli\`ere
857   {\em Z. Naturforsch. 3a (1948) 78. }
858\item H. W. Lewis
859   {\em Phys. Rev. 78 (1950) 526. }
860\item S. Goudsmit and J. L. Saunderson.
861   {\em Phys. Rev. 57 (1940) 24. }
862\item J. M. Fernandez-Varea et al.
863   {\em NIM B73 (1993) 447.}
864\item I. Kawrakow and Alex F. Bielajew
865   {\em NIM B 142 (1998) 253. }
866\item D. Liljequist and M. Ismail.
867   {\em J.Appl.Phys. 62 (1987) 342. }
868\item D. Liljequist et al.
869   {\em J.Appl.Phys. 68 (1990) 3061. }
870\item R. Mayol and F. Salvat
871   {\em At.Data and Nucl.Data Tables 65 (1997) 55.}.
872\item V.L. Highland
873   {\em NIM 129 (1975) 497. }
874\item G.R. Lynch and O.I. Dahl
875   {\em NIM B58 (1991) 6. }
876\item{msc.shen} G. Shen et al.
877   {\em Phys. Rev. D 20 (1979) 1584.}
878\item{msc.attwood} D. Attwood et al.
879   {\em NIM B 251 (2006) 41.}
880\end{enumerate}
881
882\end{htmlonly}
883
884
885
Note: See TracBrowser for help on using the repository browser.