| 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}
|
|---|