gov.nist.microanalysis.EPQLibrary
Class Bremsstrahlung

java.lang.Object
  extended by gov.nist.microanalysis.EPQLibrary.Bremsstrahlung

public class Bremsstrahlung
extends java.lang.Object

A class for computing the Bremsstrahlung from an energetic electron interacting with an atom. The magnitude of the Bremsstrahlung is derived from the tabulated values of Seltzer and Berger. The angular dependence is based on the work of Acosta et al.

The tabulated cross sections while derived from Seltzer & Berger's 1986 article were extracted from Penelope by Salvat, Fernandex-Varea & Sempau.

Copyright: Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain

Company: National Institute of Standards and Technology

Version:
1.0
Author:
Nicholas W. M. Ritchie

Constructor Summary
Bremsstrahlung(Element el)
           
 
Method Summary
static double angularDistribution(double theta, double energy)
          angularDistribution - The Lorentz transformed angular distribution for Bremsstrahlung radiation from an energetic electron in the Coulombic field of an atom.
static double beta(double energy)
          beta - Calculate beta=v/c for an electron of the specified energy in Joules.
 double getMinXRayEnergy(double energy)
          getMinXRayEnergy - The integral over all energies diverges.
 double getRandomizedEvent(double energy, double r)
          getRandomizedEvent - Given a random number between 0 and 1, this function generates a photon energy in a distribution such that the events will be distributed like Bremsstrahlung.
 double partialSigma(double energy, double w)
          partialSigma - The partial cross section as a function of electron and photon energies.
 double sigma(double energy)
          sigma - The full cross section for bremsstrahlung emission from the electron energy down to 0.05*energy
 double totalEnergyLossCrossSection(double energy)
          totalEnergyLossCrossSection - The total integrated radiative energy-loss cross section
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Bremsstrahlung

public Bremsstrahlung(Element el)
Method Detail

beta

public static final double beta(double energy)
beta - Calculate beta=v/c for an electron of the specified energy in Joules.

Parameters:
energy - double - in Joules
Returns:
double - Unitless

angularDistribution

public static double angularDistribution(double theta,
                                         double energy)
angularDistribution - The Lorentz transformed angular distribution for Bremsstrahlung radiation from an energetic electron in the Coulombic field of an atom. This expression is taken from Acosta, Llovet and Salvat, Appl. Phys. Lett. 80(17), 2002. The hard coded choices for A & B are not optimal.

Parameters:
theta - double - The emission angle
energy - double - The energy of the incident electron in Joules
Returns:
double

partialSigma

public double partialSigma(double energy,
                           double w)
partialSigma - The partial cross section as a function of electron and photon energies. The cross section for all photons from energy down to k. Interpolate (or occasionally extrapolate) from the integrated Berger and Seltzer scaled Differential Cross Section.

Parameters:
energy - double - The kinetic energy of the electron energy
w - double - The energy of the photon (e<=energy)
Returns:
double - in square meters

sigma

public double sigma(double energy)
sigma - The full cross section for bremsstrahlung emission from the electron energy down to 0.05*energy

Parameters:
energy - double
Returns:
The total Bremsstrahlung cross section per atom for an electron of the specified energy traveling one meter.

getMinXRayEnergy

public double getMinXRayEnergy(double energy)
getMinXRayEnergy - The integral over all energies diverges. However if we select a minimum energy then the integral will converge. getMinK returns the selected minimum photon energy for the specified electron energy.

Parameters:
energy - double
Returns:
double

getRandomizedEvent

public double getRandomizedEvent(double energy,
                                 double r)
getRandomizedEvent - Given a random number between 0 and 1, this function generates a photon energy in a distribution such that the events will be distributed like Bremsstrahlung.

Parameters:
energy - double - In Joules
r - double - A number on the interval [0,1)
Returns:
double

totalEnergyLossCrossSection

public double totalEnergyLossCrossSection(double energy)
totalEnergyLossCrossSection - The total integrated radiative energy-loss cross section

Parameters:
energy - double - The electron energy in Joules
Returns:
double - (Joule)(square meters)/(atom)