gov.nist.microanalysis.EPQLibrary
Class FluorescenceYield

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

public abstract class FluorescenceYield
extends AlgorithmClass

Various different classes implementing returning the FluorescenceYield. The FY is commonly available in two different forms - mean into a family of shells or specifically into one shell. In the case of a specific shell, the fluorescence yield is a measure of the likelyhood that the shell will be filled by a electron from a higher energy shell and that an x-ray will be emitted in the process. No mention is made of which higher energy shell will provide the electron. In the case of the mean yield, there is some ambiguity. Since the FY is different for each shell in a family, the mean yield really depends upon the likelyhood of each family shell being empty. This depends on parameters like the mechanism of ionization that are not included in the FY model. But that is life and deal with it we must.

So the FluorescenceYield class defines two methods compute and computeMean. Classes derived from FluorescenceYield may implement one or both of these methods.

Note: FluorescenceYield data and models are readily available for the K and L lines but not the M lines.

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:
not attributable

Field Summary
static FluorescenceYield Bambynek72
          Bambynek72 - Bambynek et al.
static FluorescenceYield DefaultMean
          DefaultMean - The default implementation of the mean fluorescence yield based on a blend of Bambynek 1972 for K & L families and Oz 1999 for the M family.
static FluorescenceYield DefaultShell
          Default - The default implementation of FluorescenceYield.compute(...).
static FluorescenceYield Dtsa
          Dtsa - Extracted from the DTSA Physics.P source file.
static FluorescenceYield Hubbell
          Hubbell - Hubbell 1989 & 1994 as quoted in the Handbook of X-ray Spectrometery, Grieken & Markowitz editors
static FluorescenceYield Krause79
          Krause79 - Krause 1979 as quoted in the Handbook of X-ray Spectrometery, Grieken & Markowitz editors
static FluorescenceYield Oz1999
          Oz1999 - Functional form for the mean M-shell yield described in E.
static FluorescenceYield Sogut2002
           
 
Constructor Summary
protected FluorescenceYield(java.lang.String name, java.lang.String ref)
           
 
Method Summary
abstract  double compute(AtomicShell sh)
          compute - Computes the fluorescence yield for transitions into the specific shell, K, LI, LII, LIII, MI, ...
abstract  double computeMean(AtomicShell sh)
          computeMean - Computes the mean fluorescence yield for transitions into the family (K, L or M) in which this shell is a member.
protected  java.lang.String defaultErrorMsg(AtomicShell sh)
           
 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.
 
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

Dtsa

public static final FluorescenceYield Dtsa
Dtsa - Extracted from the DTSA Physics.P source file. The M-family yield algorithm is attributed to John Colby.


Hubbell

public static final FluorescenceYield Hubbell
Hubbell - Hubbell 1989 & 1994 as quoted in the Handbook of X-ray Spectrometery, Grieken & Markowitz editors


Krause79

public static final FluorescenceYield Krause79
Krause79 - Krause 1979 as quoted in the Handbook of X-ray Spectrometery, Grieken & Markowitz editors


Bambynek72

public static final FluorescenceYield Bambynek72
Bambynek72 - Bambynek et al. 1972


Oz1999

public static final FluorescenceYield Oz1999
Oz1999 - Functional form for the mean M-shell yield described in E. Oz, H. Erdogan & M. Ertugrul, X-Ray Spectrom 28, 199-202 (1999)


Sogut2002

public static final FluorescenceYield Sogut2002

DefaultMean

public static final FluorescenceYield DefaultMean
DefaultMean - The default implementation of the mean fluorescence yield based on a blend of Bambynek 1972 for K & L families and Oz 1999 for the M family.


DefaultShell

public static final FluorescenceYield DefaultShell
Default - The default implementation of FluorescenceYield.compute(...).

Constructor Detail

FluorescenceYield

protected FluorescenceYield(java.lang.String name,
                            java.lang.String ref)
Method Detail

defaultErrorMsg

protected java.lang.String defaultErrorMsg(AtomicShell sh)

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 FluorescenceYield abstract class.

Specified by:
getAllImplementations in class AlgorithmClass
Returns:
List

compute

public abstract double compute(AtomicShell sh)
compute - Computes the fluorescence yield for transitions into the specific shell, K, LI, LII, LIII, MI, ... MV. It seems that there are not actually available any numbers for the MI...NV shells. So in all likelyhood calling this method with these shells as arguments will cause an exception.

Parameters:
sh - AtomicShell
Returns:
double

computeMean

public abstract double computeMean(AtomicShell sh)
computeMean - Computes the mean fluorescence yield for transitions into the family (K, L or M) in which this shell is a member.

Parameters:
sh - AtomicShell
Returns:
double