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

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

CVS update

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