gov.nist.microanalysis.EPQLibrary
Class ElectronRange

java.lang.Object
  extended by gov.nist.microanalysis.EPQLibrary.AlgorithmClass
      extended by gov.nist.microanalysis.EPQLibrary.ElectronRange
All Implemented Interfaces:
java.lang.Comparable

public abstract class ElectronRange
extends AlgorithmClass

A class that implements various different algorithms to calculate the ElectronRange in a bulk material. The SI units for electron range are meters * kg/meter^3 = kg / meter^2.

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 ElectronRange Default
           
static ElectronRange KanayaAndOkayama1972
           
static ElectronRange LoveEtAl1978
           
static ElectronRange Pouchou1991
           
 
Method Summary
 java.lang.String caveat(Composition comp, double e0)
           
 double compute(Composition comp, AtomicShell shell, double e0)
          Computes the electron range for an electron of incident energy e0 until it drops below the edge energy for the specified shell in the specified material.
abstract  double compute(Composition comp, double e0)
          Computes the electron range using the current algorithm.
static double fromGramsPerCmSqr(double x)
          Converts from the traditional electron range in cm
 java.util.List getAllImplementations()
          getAllImplementations - Returns a full list of all available algorithms.
protected  void initializeDefaultStrategy()
          initializeDefaultStrategy - Implement this method in derived classes to specify the contents (possibly null) of the default Strategy using the addDefaultAlgorithm(Class,AlgorithmClass) method.
static double toGramsPerCmSqr(double x)
           
 
Methods inherited from class gov.nist.microanalysis.EPQLibrary.AlgorithmClass
addDefaultAlgorithm, allAlgorithmNames, allAlgorithms, applyGlobalOverride, clearGlobalOverride, compareTo, documentStrategy, getActiveStrategy, getAlgorithm, getAlgorithmClass, getName, getReference, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

Pouchou1991

public static final ElectronRange Pouchou1991

LoveEtAl1978

public static final ElectronRange LoveEtAl1978

KanayaAndOkayama1972

public static final ElectronRange KanayaAndOkayama1972

Default

public static final ElectronRange Default
Method Detail

toGramsPerCmSqr

public static double toGramsPerCmSqr(double x)

fromGramsPerCmSqr

public static double fromGramsPerCmSqr(double x)
Converts from the traditional electron range in cm

Parameters:
x -
Returns:
double

initializeDefaultStrategy

protected void initializeDefaultStrategy()
Description copied from class: AlgorithmClass
initializeDefaultStrategy - Implement this method in derived classes to specify the contents (possibly null) of the default Strategy using the addDefaultAlgorithm(Class,AlgorithmClass) method.

Specified by:
initializeDefaultStrategy in class AlgorithmClass

getAllImplementations

public java.util.List getAllImplementations()
getAllImplementations - Returns a full list of all available algorithms. Each item is an implements the ElectronRange abstract class.

Specified by:
getAllImplementations in class AlgorithmClass
Returns:
List

caveat

public java.lang.String caveat(Composition comp,
                               double e0)

compute

public abstract double compute(Composition comp,
                               double e0)
Computes the electron range using the current algorithm. To compute the range of an electron in a Material divide the results by Material.getDensity().

Parameters:
comp - The composition
e0 - The beam energy
Returns:
The result is in meters * (kg/meter^3)

compute

public double compute(Composition comp,
                      AtomicShell shell,
                      double e0)
Computes the electron range for an electron of incident energy e0 until it drops below the edge energy for the specified shell in the specified material.

Parameters:
comp - The material's composition
shell - The shell defining an edge energy
e0 - The incident beam energy
Returns:
The range in meters * (kg/meter^3)