gov.nist.microanalysis.EPQLibrary
Class CzyzewskiMottScatteringAngle

java.lang.Object
  extended by gov.nist.microanalysis.EPQLibrary.CzyzewskiMottScatteringAngle
All Implemented Interfaces:
IRandomizedScatter

public class CzyzewskiMottScatteringAngle
extends java.lang.Object
implements IRandomizedScatter

A class to compute a randomized scattering angle for an electron with a specified energy. The angles are distributed according to the the Mott partial cross section model as implemented by Czyzewski. Since this algorithm is only implemented up to 30 keV and since the Mott cross section approaches the screened Rutherford model, this class uses the ScreenedRutherfordScatteringAngle algorithm about 30 keV (MAX_CZYZEWSKI)

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 MAX_CZYZEWSKI
           
 
Constructor Summary
CzyzewskiMottScatteringAngle(Element el)
          MottScatteringAngle - Creates a MottScatteringAngle object for the specified element.
 
Method Summary
 Element getElement()
          getElement - Returns the element with which this cross section is associated.
 double meanFreePath(double energy)
          meanFreePath - Calculates the mean free path at the specified energy by interpolating between tabulated values.
 double randomScatteringAngle(double energy)
          scatteringAngle - Same as scatteringAngle(energy,rand) except that this function automatically selects a random \ number.
 double randomScatteringAngle(double energy, double rand)
          scatteringAngle - Given a random number, rand on the interval [0,1), and an energy (in Joules), this function returns a scattering angle.
 java.lang.String toString()
          toString
 double totalCrossSection(double energy)
          totalCrossSection - Calculates the total cross section at the specified energy by interpolating between tabulated values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_CZYZEWSKI

public static final double MAX_CZYZEWSKI
Constructor Detail

CzyzewskiMottScatteringAngle

public CzyzewskiMottScatteringAngle(Element el)
MottScatteringAngle - Creates a MottScatteringAngle object for the specified element.

Parameters:
el - Element
Throws:
java.lang.Exception - - When a Mott cross section table is unavailable or corrupted
Method Detail

toString

public java.lang.String toString()
toString

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

getElement

public Element getElement()
Description copied from interface: IRandomizedScatter
getElement - Returns the element with which this cross section is associated.

Specified by:
getElement in interface IRandomizedScatter
Returns:
Element

randomScatteringAngle

public double randomScatteringAngle(double energy,
                                    double rand)
scatteringAngle - Given a random number, rand on the interval [0,1), and an energy (in Joules), this function returns a scattering angle.

Parameters:
energy - double - In Joules
rand - double - On [0,1)
Returns:
double

randomScatteringAngle

public double randomScatteringAngle(double energy)
scatteringAngle - Same as scatteringAngle(energy,rand) except that this function automatically selects a random \ number.

Specified by:
randomScatteringAngle in interface IRandomizedScatter
Parameters:
energy - double - In Joules
Returns:
double

meanFreePath

public double meanFreePath(double energy)
meanFreePath - Calculates the mean free path at the specified energy by interpolating between tabulated values.

Parameters:
energy - double - In Joules
Returns:
double

totalCrossSection

public double totalCrossSection(double energy)
totalCrossSection - Calculates the total cross section at the specified energy by interpolating between tabulated values.

Specified by:
totalCrossSection in interface IRandomizedScatter
Parameters:
energy - double - In Joules
Returns:
double