gov.nist.microanalysis.EPQLibrary
Class CzyzewskiMottCrossSection

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

public class CzyzewskiMottCrossSection
extends java.lang.Object

A simple class for loading tables of Mott cross-section values and then interpolating between them to return cross-sections. The tables are those of Czyzewski, MacCallum, Romig & Joy in J. Appl. Phys. Vol 68, No 7, 1990 as downloaded from http://pciserver.bio.utk.edu/metrology/htm/download.shtml. I have noticed that the tables for the Rb cross section may be in error. The Rb cross section has a bulge at high scattering angle. The result is too large a backscattered electron yield.

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

Field Summary
static double MaxEnergy
           
static int SpecialAngleCount
           
static int SpecialEnergyCount
           
 
Constructor Summary
CzyzewskiMottCrossSection(Element el)
          MottCrossSection - Creates an object representing the Mott cross section for the specified element.
 
Method Summary
 Element getElement()
           
static int getEnergyIndex(double energy)
          getEnergyIndex - Returns the index of the energy value that is strictly equal to or larger than the specified energy.
static double getSpecialAngle(int index)
          getSpecialAngle - Gets the i-th angle which is actually represented in the tables.
static double getSpecialEnergy(int index)
          getSpecialEnergy - Returns the i-th energy at which the cross-section is actually represented in the table.
 double meanFreePath(double energy)
          meanFreePath - Calculates the mean free path for this element at the specified element (in meters)
 double partialCrossSection(double elevation, double energy)
          partialCrossSection - Computes the partial cross-section for an electron of the specified energy scattered to the specified elevation.
 double partialCrossSection(double elevation, double azimuth, double energy)
          partialCrossSection - Computes the partial cross-section for an electron of the specified energy scattered to the specified elevation and azimuth.
 java.lang.String toString()
          toString
 double totalCrossSection(double energy)
          totalCrossSection - Calculates the total cross-section for an electron of the specified energy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SpecialEnergyCount

public static final int SpecialEnergyCount
See Also:
Constant Field Values

SpecialAngleCount

public static final int SpecialAngleCount
See Also:
Constant Field Values

MaxEnergy

public static final double MaxEnergy
Constructor Detail

CzyzewskiMottCrossSection

public CzyzewskiMottCrossSection(Element el)
MottCrossSection - Creates an object representing the Mott cross section for the specified element.

Parameters:
el - Element
Method Detail

toString

public java.lang.String toString()
toString

Overrides:
toString in class java.lang.Object
Returns:
String (non-Javadoc)
See Also:
Object.toString()

getElement

public Element getElement()

getSpecialEnergy

public static double getSpecialEnergy(int index)
getSpecialEnergy - Returns the i-th energy at which the cross-section is actually represented in the table.

Parameters:
index - int
Returns:
double - The energy in Joules

getSpecialAngle

public static double getSpecialAngle(int index)
getSpecialAngle - Gets the i-th angle which is actually represented in the tables.

Parameters:
index - int
Returns:
double

getEnergyIndex

public static int getEnergyIndex(double energy)
getEnergyIndex - Returns the index of the energy value that is strictly equal to or larger than the specified energy.

Parameters:
energy - double
Returns:
int

totalCrossSection

public double totalCrossSection(double energy)
totalCrossSection - Calculates the total cross-section for an electron of the specified energy.

Parameters:
energy - double - The electron energy in Joules
Returns:
double

partialCrossSection

public double partialCrossSection(double elevation,
                                  double azimuth,
                                  double energy)
partialCrossSection - Computes the partial cross-section for an electron of the specified energy scattered to the specified elevation and azimuth.

Parameters:
elevation - angle double - The angle in radians.
azimuth - double - The angle in radians.
energy - double - The energy in Joules.
Returns:
double

partialCrossSection

public double partialCrossSection(double elevation,
                                  double energy)
partialCrossSection - Computes the partial cross-section for an electron of the specified energy scattered to the specified elevation. The cross section is integrated over azimuthal angle.

Parameters:
elevation - double - The elevation angle in radians.
energy - double - The energy in Joules.
Returns:
double

meanFreePath

public double meanFreePath(double energy)
meanFreePath - Calculates the mean free path for this element at the specified element (in meters)

Parameters:
energy - double
Returns:
double