\section{Conversion from range cut to kinetic energy cut}

In Geant4 charged particles are tracked to the end of their range.
The differential cross section of $\delta$-electron productions 
and bremsstrahlung grow rapidly when secondary energy decrease. If all
secondary particles will be tracked the CPU performance of any Monte Carlo code
will be pure. The traditional solution is to use cuts. The specific of
Geant4 \cite{cuts.G4} is that user provides value of cut in term 
of {\it cut in range}, which is unique for defined {\it G4Region} 
or for the complete geometry.

Range is used, rather than energy, as a more natural concept for designing a 
coherent policy for different particles and materials. Definition of 
the certain value of the {\it cut in range} means the requirement for precision
of spatial radioactive dose deposition. This  conception is more 
strict for a simulation code and provides less handles for user to modify
final results. At the same time, it ensures that simulation validated in 
one geometry is valid also for the other geometries.

The value of cut is defined only for electrons, positrons and gamma.
At the beginning of initialization of Geant4 physics the conversion from unique 
{\it cut in range} to cuts in kinetic energy for each {\it G4MaterialCutsCouple}
\cite{cuts.Region} is performed. At that moment no energy loss or range table 
is created, so computation should be performed using original formulas.
For electrons and positrons ionization above $10 keV$
a simplified  Berger-Seltzer energy loss formula
(\ref{eion.de}) is used, in which the density correction term is omitted.
The contribution of the bremsstrahlung is added using empirical 
parameterized formula.
For $T < 10 keV$ the linear dependence of ionization losses on
electron velocity is assumed, bremsstrahlung contribution is neglected.
Using these simplified formulas that energy loss vector for each {\it G4Element}
is built. From this vector the range vector for the given material is constructed.
The stopping range is defined as 
\begin{equation} 
   R(T)= \int_0^T \frac{1}{(dE/dx)} \, dE .
\end{equation}
The integration has been done analytically for the low energy part and 
numerically above an energy limit $1 \; keV$. Using this table for each {\it cut in range}
the corresponding kinetic energy can be found out. If obtained $cut in energy$ 
cannot be below 
the parameter $lowlimit$ (default $1 \; keV$). 
If in specific application lower cut is required,
then the allowed energy cut needs to be extended:\\
\\
{\it \footnotesize G4ProductionCutsTable::GetProductionCutsTable()$\to$SetEnergyRange(lowlimit,highlimit);}

In contrary to electrons, gammas has no range, so some approximation should
be used for range to energy conversion.
An approximate empirical formula is used to compute the {\em absorption
cross section} of a photon in an element  $\sigma_{abs}$.  Here, the {\em absorption cross 
section} means the sum of the cross sections of the gamma conversion, Compton 
scattering and photoelectric effect.  These processes are the ``destructive'' 
processes for photons: they destroy the photon or decrease its energy.
The coherent or Rayleigh scattering changes the direction of the gamma
only; its cross section is not included in the {\em absorption cross section}.

The {\tt AbsorptionLength} $L_{abs}$ vector is calculated for every material as :
\begin{equation} 
   L_{abs} = 5/\sigma_{abs}.
\end{equation}
The factor 5 comes from the requirement that the probability of having
no 'destructive' interaction should be small, hence 
\begin{equation} 
  \exp(-\mbox{$L_{abs} \sigma_{abs}$}) = \exp(-5) = 6.7 \times 10^{-3}.
\end{equation}
The photon cross section for a material has a minimum at a certain 
energy $E_{min}$. Correspondingly $L_{abs}$ 
has a maximum at $E = E_{min}$, 
the value of the maximal   $L_{abs}$ is the biggest "meaningful" 
cut in absorption length. If the cut given by the user is bigger than this 
maximum, a warning is printed and the cut in kinetic energy is set to the 
{\it highlimit}.

The conversion from range to energy can be studied using {\it G4EmCalculator}
class. This class allows access or recalculation of energy loss, ranges and
other values. It can be instantiated and at any place of user code
and can be used after initialisation of Physics Lists:\\
\\
{\it G4EmCalculator calc;\\
calc.ComputeEnergyCutFromRangeCut(range, particle, material);}\\
\\
here particle and material may be string names or corresponding const pointers 
to {\it G4ParticleDefinition} and {\it G4Material}.

\subsection{Status of this document}
  \ 9.10.98 created by L. Urb\'an. \\
   27.07.01 minor revision M.Maire \\
   17.08.04 moved to common to all charged particles (mma) \\
   04.12.04 minor re-wording by D.H. Wright \\
   18.05.07 rewritten by V. Ivanchenko \\
   11.12.08 minor revision by V. Ivanchenko \\

\begin{latexonly}

\begin{thebibliography}{99}

\bibitem{cuts.G4}
  Geant4 Collaboration (S.~Agostinelli et al.), 
{\em Nucl. Instr. Meth. A506 (2003) 250.}
\bibitem{cuts.Region} 
  J.~Allison et al., {\em IEEE Trans. Nucl. Sci., 53 (2006) 270.}
\end{thebibliography}

\end{latexonly}

\begin{htmlonly}

\subsection{Bibliography}

\begin{enumerate}
\item Geant4 Collaboration (S.~Agostinelli et al.), 
{\em Nucl. Instr. Meth. A506 (2003) 250.}
\item J.~Allison et al., {\em IEEE Trans. Nucl. Sci., 53 (2006) 270.}
\end{enumerate}

\end{htmlonly}


