Bremsstrahlung

Models

class RelativisticBremInteractor

Perform a high-energy Bremsstrahlung interaction.

This is a relativistic Bremsstrahlung model for high-energy (> 1 GeV) electrons and positrons.

Note

This performs the same sampling routine as in Geant4’s G4eBremsstrahlungRelModel class, as documented in section 10.2.2 of the Geant4 Physics Reference (release 10.7).

class SeltzerBergerInteractor

Seltzer-Berger model for electron and positron bremsstrahlung processes.

Given an incoming electron or positron of sufficient energy (as per CutOffView), this class provides the energy loss of these particles due to radiation of photons in the field of a nucleus. This model improves accuracy using cross sections based on interpolation of published tables from Seltzer and Berger given in [Seltzer and Berger, 1985] and [Seltzer and Berger, 1986] . The cross sections are obtained from SBEnergyDistribution and are appropriately scaled in the case of positrons via SBPositronXsCorrector.

Note

This interactor performs an analogous sampling as in Geant4’s G4SeltzerBergerModel, documented in 10.2.1 of the Geant Physics Reference (release 10.6). The implementation is based on Geant4 10.4.3.

class MuBremsstrahlungInteractor

Perform muon bremsstrahlung interaction.

This is a model for the Bremsstrahlung process for muons. Given an incident muon, the class computes the change to the incident muon direction and energy, and it adds a single secondary gamma to the secondary stack.

Note

This performs the same sampling routine as in Geant4’s G4MuBremsstrahlungModel class, as documented in section 11.2 of the Geant4 Physics Reference (release 10.6).

The exiting electron energies from the interaction are calculated with a shared helper function:

class BremFinalStateHelper

Sample the angular distribution of photon from e+/e- Bremsstrahlung.

Cross sections

The bremsstrahlung interactions are sampled using cross sections and adjustment factors:

template<class XSCorrector>
class SBEnergyDistribution

Sample exiting photon energy from Bremsstrahlung.

The SB energy distribution uses tabulated Seltzer-Berger differential cross section data from G4EMLOW, which stores scaled cross sections as a function of incident particle energy and exiting gamma energy (see SeltzerBergerModel for details). The sampling procedure is roughly laid out in section [PHYS341] of the GEANT3 reference manual [Brun et al., 1993] , although like Geant4 we use raw tabulated SB data rather than a parameter fit. Also like Geant4 we include the extra density correction factor.

Once an element and incident energy have been selected, the exiting energy distribution is the differential cross section, which is stored as a scaled tabulated value. The reconstructed cross section gives the pdf

\[ p(\kappa) \propto \difd{\sigma}{k} s \propto \frac{1}{\kappa} \chi_Z(E, \kappa) \]
where \( \kappa = k / E \) is the ratio of the emitted photon energy to the incident charged particle energy, and the domain of p is nominally restricted by the allowable energy range \( \kappa_c < \kappa < 1 \), where \( \kappa_c \) is from the cutoff energy \( E_c \) for secondary gamma production. This distribution is sampled by decomposing it into an analytic sampling of \( 1/\kappa \) and a rejection sample on the scaled cross section \( \chi \). The analytic sample over the domain is from
\[ p_1(\kappa) \frac{1}{\ln 1/\kappa_c} \frac{1}{\kappa} \]
by sampling
\[ \kappa = \exp( \xi \ln \kappa_c ) \,, \]
and the rejection sample is the ratio of the scaled differential cross section at the exiting energy to the maximum across all exiting energies.
\[ p_2(\kappa) = \frac{\chi_Z(E, \kappa)}{\max_\kappa \chi_Z(E, \kappa)} \]
Since the tabulated data is bilinearly interpolated in incident and exiting energy, we can calculate a bounding maximum by precalculating (at setup time) the index of the maximum value of \( \chi \) and linearly interpolating those maximum values based on the incident energy.

The above algorithm is idealized; in practice, the minimum and maximum values are adjusted for a constant factor \(d_\rho\), which depends on the incident particle mass + energy and the material’s electron density:

\[ \kappa_\mathrm{min} = \ln (E_c^2 + d_\rho E^2) \]
and
\[ \kappa_\mathrm{max} = \ln (E^2 + d_\rho E^2) \, . \]
With this correction, the sample of the exiting gamma energy \( k = \kappa / E \) is transformed from the simple exponential above to:
\[ k = \sqrt{ \exp(\kappa_\mathrm{min} + \xi [\kappa_\mathrm{max} - \kappa_\mathrm{min}]) - d_\rho E^2} \]

Most of the mechanics of the sampling are in the template-free SBEnergyDistHelper, which is passed as a construction argument to this sampler. The separate class exists here to minimize duplication of templated code, which is required to provide for an on-the-fly correction of the cross section sampling.

class SBPositronXsCorrector

Scale SB differential cross sections for positrons.

This correction factor is the ratio of the positron to electron cross sections. It appears in the bowels of G4SeltzerBergerModel::SampleEnergyTransfer in Geant4 and scales the SB cross section by a factor

\[ \frac{\sigma^+}{\sigma^-} = \exp( 2 \pi \alpha Z [ \beta^{-1}(E - k_c) - \beta^{-1}(E - k) ] ) \]
where the inverse positron speed is :
\[ \beta^{-1}(E) = \frac{c}{v} = \sqrt{1 - \left( \frac{m_e c^2}{E + m_e c^2} \right)^2} \,, \]
\( \alpha \) is the fine structure constant, \(E\) is the incident positron kinetic energy, \(k_c\) is the gamma production cutoff energy, and \( k \) is the provisionally sampled energy of the emitted photon.

\( \frac{\sigma^+}{\sigma^-} = 1 \) at the low end of the spectrum (where \( k / E = 0 \)) and is 0 at the tip of the spectrum where \( k / E \to 1 \).

The correction factor is described in:

Kim, Longhuan, R. H. Pratt, S. M. Seltzer, and M. J. Berger. “Ratio of Positron to Electron Bremsstrahlung Energy Loss: An Approximate Scaling Law.” Physical Review A 33, no. 5 (May 1, 1986): 3002–9. https://doi.org/10.1103/PhysRevA.33.3002.

class RBDiffXsCalculator

Calculate differential cross sections for relativistic bremsstrahlung.

This accounts for the LPM effect if the option is enabled and the electron energy is high enough.

The screening function uses Tsai’s analytical approximations of coherent and incoherent screening function to the numerical screening functions computed using the Thomas-Fermi model [Tsai, 1974] .

Note

This is currently used only as a shape function for rejection, so as long as the resulting cross section is scaled by the maximum value the units do not matter.

Relativistic bremsstrahlung and relativistic Bethe-Heitler sampling both use a helper class to calculate a suppression factor that reduces the differential cross section for low-energy gammas.

class LPMCalculator

Calculate the Landau-Pomeranchuk-Migdal (LPM) suppression functions.

The LPM effect is the suppression of low-energy photon production due to electron multiple scattering [Landau and Pomeranchuk, 1953] , [Migdal, 1956] . At high energies and in high density materials, the cross sections for pair production and bremsstrahlung are reduced. The differential cross sections accounting for the LPM effect are expressed in terms of the LPM suppression functions \( \xi(s) \), \( G(s) \), and \( \phi(s) \).

Here \( \epsilon \) is the ratio of the electron (or positron) energy to the photon energy, \( \epsilon = E / k \). As \( \epsilon \to 0 \), the suppression factors all approach unity.

The suppression variable \( s' \) is

\[ s' = \sqrt{\frac{E_\textrm{LPM} k}{8 E \abs{E - k}}} \quad , \]
where \( k < E \) for bremsstrahlung and \( E < k \) for pair production, and
\[ E_\textrm{LPM} \sim 61.5 L \frac{\mathrm{TeV}}{\mathrm{cm}} \]
is approximately the energy (using the radiation length L ) above which the LPM effect is significant.

Calculations of \( \xi(s') \) and \( s = \frac{s'}{\sqrt{\xi(s')}} \) are functional approximations from Eq. 21 in Stanev et al. [1982] .

Note

See also section 10.2.2 of [The Geant4 Collaboration, 2023] which describes G4eBremsstrahlungRelModel::ComputeLPMfunctions and G4PairProductionRelModel::GetLPMFunctions .

Muon bremsstrahlung calculates the differential cross section as part of rejection sampling.

class MuBremsDiffXsCalculator

Calculate the differential cross section for muon bremsstrahlung.

The differential cross section can be written as

\[ \difd{\sigma}{\epsilon} = \frac{16}{3} \alpha N_A (\frac{m}{\mu} r_e)^2 \frac{1}{\epsilon A} Z(Z \Phi_n + \Phi_e) (1 - v + \frac{3}{4} v^2), \]
where \( \epsilon \) is the photon energy, \( \alpha \) is the fine structure constant, \( N_A \) is Avogadro’s number, \( m \) is the electron mass, \( \mu \) is the muon mass, \( r_e \) is the classical electron radius, \( Z \) is the atomic number, and \( A \) is the atomic mass. \( v = \epsilon / E \) is the relative energy transfer, where \( E \) is the total energy of the incident muon.

The contribution to the cross section from the nucleus is given by

\[ \Phi_n = \ln \frac{B Z^{-1/3} (\mu + \delta(D'_n \sqrt{e} - 2))}{D'_n (m + \delta \sqrt{e} B Z^{-1/3})} \ , \]
where \( \delta = \frac{\mu^2 v}{2(E - \epsilon)}\) is the minimum momentum transfer and \( D'_n \) is the correction to the nuclear form factor.

The contribution to the cross section from electrons is given by

\[ \Phi_e = \ln \frac{B' Z^{-2/3} \mu}{\left(1 + \frac{\delta \mu}{m^2 \sqrt{e}}\right)(m + \delta \sqrt{e} B' Z^{-2/3})} \ . \]

The constants \( B \) and \( B' \) were calculated using the Thomas-Fermi model. In the case of hydrogen, where the Thomas-Fermi model does not serve as a good approximation, the exact values of the constants were calculated analytically.

This performs the same calculation as in Geant4’s G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection() and as described in section 11.2.1 of the Physics Reference Manual. The formulae are taken mainly from SR Kelner, RP Kokoulin, and AA Petrukhin. About cross section for high-energy muon bremsstrahlung. Technical Report, MEphI, 1995. Preprint MEPhI 024-95, Moscow, 1995, CERN SCAN-9510048.

Distributions

class SBEnergySampler

Sample the bremsstrahlung photon energy from the SeltzerBerger model.

class RBEnergySampler

Sample the bremsstrahlung photon energy from the relativistic model.

Based on G4eBremsstrahlungRelModel of the Geant4 10.7 release.

A simple distribution is used to sample exiting polar angles from electron bremsstrahlung (and gamma conversion).

class TsaiUrbanDistribution

Polar angular distribution for pair-production and bremsstrahlung processes.

For pair production, the polar angle of the electron (or positron) is defined with respect to the direction of the parent photon. The energy- angle distribution given by Tsai is quite complicated to sample and can be approximated by a density function suggested by Urban.

The angular distribution of the emitted photons is obtained from a simplified formula based on the Tsai cross-section, which is expected to become isotropic in the low energy limit.

Note

This performs the same sampling routine as in Geant4’s ModifiedTsai class, based on derivation from [Tsai, 1974] and documented in section 6.5.2 (pair-production), and 10.2.1 and 10.2.4 (bremsstrahlung) of the Geant4 Physics Reference [The Geant4 Collaboration, 2023] (release 10.6).

Muon bremsstrahlung and pair production use a simple distribution to sample the exiting polar angles.

class MuAngularDistribution

Sample the polar angle for muon bremsstrahlung and pair production.

The polar angle is sampled according to a simplified PDF

\[ f(r) \sim \frac{r}{(1 + r^2)^2}, \ r = frac{E\theta}{m} \]
by sampling
\[ \theta = r\frac{m}{E} \]
with
\[ r = \sqrt{frac{a}{1 - a}}, a = \xi \frac{r^2_{\text{max}}}{1 + r^2_{\text{max}}}, r_{\text{max}} = frac{\pi}{2} E' / m \min(1, E' / \epsilon), \]
and where \( m \) is the incident muon mass, \( E \) is incident energy, \( \epsilon \) is the emitted energy, \( E' = E - \epsilon \), and \( \xi \sim U(0,1) \).

Note

This performs the same sampling routine as in Geant4’s G4ModifiedMephi class and documented in section 11.2.4 of the Geant4 Physics Reference (release 11.2).