[1211] | 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} |
---|