gov.nist.microanalysis.EPQLibrary
Class AtomicShell

java.lang.Object
  extended by gov.nist.microanalysis.EPQLibrary.AtomicShell
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable

public final class AtomicShell
extends java.lang.Object
implements java.lang.Comparable, java.lang.Cloneable

A class containing methods that relate to atomic shells.

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 int Continuum
           
static int K
           
static int KFamily
           
static int Last
           
static int LastFamily
           
static int LFamily
           
static int LI
           
static int LII
           
static int LIII
           
static int MFamily
           
static int MI
           
static int MII
           
static int MIII
           
static int MIV
           
static int MV
           
static int NFamily
           
static int NI
           
static int NII
           
static int NIII
           
static int NIV
           
static int NoFamily
           
static int NoShell
           
static int NV
           
static int NVI
           
static int NVII
           
static int OFamily
           
static int OI
           
static int OII
           
static int OIII
           
static int OIV
           
static int OIX
           
static int OV
           
static int OVI
           
static int OVII
           
static int OVIII
           
static int PI
           
static int PII
           
static int PIII
           
static int PIV
           
static int PIX
           
static int PV
           
static int PVI
           
static int PVII
           
static int PVIII
           
static int PX
           
static int PXI
           
static int QI
           
static int QII
           
static int QIII
           
static int QIV
           
static int QIX
           
static int QV
           
static int QVI
           
static int QVII
           
static int QVIII
           
static int QX
           
static int QXI
           
static int QXII
           
static int QXIII
           
 
Constructor Summary
AtomicShell(Element el, int shell)
          AtomicShell - Constructs an AtomicShell object from a atomic number and a shell.
 
Method Summary
 java.lang.Object clone()
           
 int compareTo(java.lang.Object obj)
           
static boolean electricDipolePermitted(int shell1, int shell2)
          electricDipolePermitted - Are transitions from the shell represented by the enumerated constant sh1 to the shell sh2 permitted by the electric dipole selection rules?
static boolean electricQuadrupolePermitted(int shell1, int shell2)
           
 boolean equals(java.lang.Object obj)
           
 boolean exists()
          exists - Does the atomic shell represented by this AtomicShell object reflect an existing atomic shell (as evidenced by a non-zero edge energy.)
static boolean exists(Element elm, int shell)
          exists - Does the shell exist for this element (as evidenced by a non-zero edge energy.)
 java.lang.String getAtomicName()
          getAtomicName - get the atomic physics standard name for this shell.
static java.lang.String getAtomicName(int shell)
          getAtomicName - get the atomic physics standard name for this shell.
 int getCapacity()
          getCapacity - Returns the number of electrons that can populate this shell.
static int getCapacity(int shell)
          getCapacity - Returns the maximum number of electrons that can populate the specified shell.
 double getEdgeEnergy()
          getEdgeEnergy - Returns the edge energy for this AtomicShell (Uses EdgeEnergy.Default)
static double getEdgeEnergy(Element el, int shell)
          getEdgeEnergy - Returns the edge energy for the specified atom and shell.
 Element getElement()
          getElement - Returns the element in which this shell is located.
 double getEnergy_eV()
          getEnergy - Get the energy required to liberate an electron from this atomic shell.
 double getEnergy()
          getEnergy - Get the energy required to liberate an electron from this atomic shell.
 int getFamily()
          getFamily - Returns the family into which this AtomicShell falls (KFamily, LFamily,..,OFamily).
static int getFamily(int shell)
          getFamily - Returns the family into which the specified shell falls (KFamily, LFamily,..,OFamily).
static java.lang.String getFamilyName(int family)
          getFamilyName - Returns a string containing the name of the line family.
static int getFirstInFamily(int family)
          getFirstInFamily - Returns the integer constant representing the first shell in the specified family.
 int getGroundStateOccupancy()
          getGroundStateOccupancy - Returns the number of electrons the atomic shell represented by the this object for a ground-state atom.
 java.lang.String getIUPACName()
          getIUPACName - Get the IUPAC standard name for this shell.
static java.lang.String getIUPACName(int shell)
          getIUPACName - Get the IUPAC standard name for this shell.
static int getLastInFamily(int family)
          getLastInFamily - Returns the integer constant representing the last shell in the specified family.
 int getOrbitalAngularMomentum()
          getAngularMomentum - Returns the angular momentum quantum number (typically denoted L) associated with this shell.
 int getOrbitalAngularMomentum(int shell)
          getAngularMomentum - Returns the angular momentum quantum number (typically denoted L) associated with the argument shell.
 int getPrincipalQuantumNumber()
          getPrincipalQuantumNumber - Returns the principal quantum number associated with this shell.
static int getPrincipalQuantumNumber(int shell)
          getPrincipalQuantumNumber - Gets the principle atomic number (typically denoted N) associated with this shell.
 int getShell()
          getShell - Get the shell index associated with this shell.
 java.lang.String getSiegbahnName()
          getSiegbahnName - get the Siegban style name for this shell.
static java.lang.String getSiegbahnName(int shell)
          getSiegbahnName - get the Siegban style name for this shell.
 double getTotalAngularMomentum()
          getTotalAngularMomentum - Returns the total angular momentum (typically denoted J) associated with this shell.
static double getTotalAngularMomentum(int shell)
          getTotalAngularMomentum - Returns the total angular momentum (typically denoted J) associated with the argument shell.
 int hashCode()
           
static boolean isLineFamily(int f)
          isLineFamily - Does this integer represent one of the line familys - KFamily through OFamily.
static boolean isValid(int shell)
          isValid - Does shell represent a valid integer value for a shell?
static int parseFamilyName(java.lang.String str)
          parseFamilyName - The inverse of getFamilyName.
static int parseIUPACName(java.lang.String str)
          parseIUPACName - The inverse to getIUPACName
static int parseSiegahnName(java.lang.String str)
          parseSiegahnName - Serves as the inverse of getSiegbahnName(shell).
static AtomicShell parseString(java.lang.String str)
          parseString - The inverse of AtomicShell.toString().
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

K

public static final int K
See Also:
Constant Field Values

LI

public static final int LI
See Also:
Constant Field Values

LII

public static final int LII
See Also:
Constant Field Values

LIII

public static final int LIII
See Also:
Constant Field Values

MI

public static final int MI
See Also:
Constant Field Values

MII

public static final int MII
See Also:
Constant Field Values

MIII

public static final int MIII
See Also:
Constant Field Values

MIV

public static final int MIV
See Also:
Constant Field Values

MV

public static final int MV
See Also:
Constant Field Values

NI

public static final int NI
See Also:
Constant Field Values

NII

public static final int NII
See Also:
Constant Field Values

NIII

public static final int NIII
See Also:
Constant Field Values

NIV

public static final int NIV
See Also:
Constant Field Values

NV

public static final int NV
See Also:
Constant Field Values

NVI

public static final int NVI
See Also:
Constant Field Values

NVII

public static final int NVII
See Also:
Constant Field Values

OI

public static final int OI
See Also:
Constant Field Values

OII

public static final int OII
See Also:
Constant Field Values

OIII

public static final int OIII
See Also:
Constant Field Values

OIV

public static final int OIV
See Also:
Constant Field Values

OV

public static final int OV
See Also:
Constant Field Values

OVI

public static final int OVI
See Also:
Constant Field Values

OVII

public static final int OVII
See Also:
Constant Field Values

OVIII

public static final int OVIII
See Also:
Constant Field Values

OIX

public static final int OIX
See Also:
Constant Field Values

PI

public static final int PI
See Also:
Constant Field Values

PII

public static final int PII
See Also:
Constant Field Values

PIII

public static final int PIII
See Also:
Constant Field Values

PIV

public static final int PIV
See Also:
Constant Field Values

PV

public static final int PV
See Also:
Constant Field Values

PVI

public static final int PVI
See Also:
Constant Field Values

PVII

public static final int PVII
See Also:
Constant Field Values

PVIII

public static final int PVIII
See Also:
Constant Field Values

PIX

public static final int PIX
See Also:
Constant Field Values

PX

public static final int PX
See Also:
Constant Field Values

PXI

public static final int PXI
See Also:
Constant Field Values

QI

public static final int QI
See Also:
Constant Field Values

QII

public static final int QII
See Also:
Constant Field Values

QIII

public static final int QIII
See Also:
Constant Field Values

QIV

public static final int QIV
See Also:
Constant Field Values

QV

public static final int QV
See Also:
Constant Field Values

QVI

public static final int QVI
See Also:
Constant Field Values

QVII

public static final int QVII
See Also:
Constant Field Values

QVIII

public static final int QVIII
See Also:
Constant Field Values

QIX

public static final int QIX
See Also:
Constant Field Values

QX

public static final int QX
See Also:
Constant Field Values

QXI

public static final int QXI
See Also:
Constant Field Values

QXII

public static final int QXII
See Also:
Constant Field Values

QXIII

public static final int QXIII
See Also:
Constant Field Values

Last

public static final int Last
See Also:
Constant Field Values

Continuum

public static final int Continuum
See Also:
Constant Field Values

NoShell

public static final int NoShell
See Also:
Constant Field Values

NoFamily

public static final int NoFamily
See Also:
Constant Field Values

KFamily

public static final int KFamily
See Also:
Constant Field Values

LFamily

public static final int LFamily
See Also:
Constant Field Values

MFamily

public static final int MFamily
See Also:
Constant Field Values

NFamily

public static final int NFamily
See Also:
Constant Field Values

OFamily

public static final int OFamily
See Also:
Constant Field Values

LastFamily

public static final int LastFamily
See Also:
Constant Field Values
Constructor Detail

AtomicShell

public AtomicShell(Element el,
                   int shell)
AtomicShell - Constructs an AtomicShell object from a atomic number and a shell.

Parameters:
el - Element
shell - int
Method Detail

getGroundStateOccupancy

public int getGroundStateOccupancy()
getGroundStateOccupancy - Returns the number of electrons the atomic shell represented by the this object for a ground-state atom. The implementation is based on a tabulated schedule of shell occupancies by principal (N) and angular momentum (l) quantum numbers. Within each unique N,l state, the electrons are distributed according according to edge energy - more tightly bound before less tightly bound. So LI before LII before LIII, MI before MII before... MV etc.

Returns:
int

isLineFamily

public static boolean isLineFamily(int f)
isLineFamily - Does this integer represent one of the line familys - KFamily through OFamily.

Parameters:
f - int
Returns:
boolean

getAtomicName

public static java.lang.String getAtomicName(int shell)
getAtomicName - get the atomic physics standard name for this shell.

Parameters:
shell - int
Returns:
String

getAtomicName

public java.lang.String getAtomicName()
getAtomicName - get the atomic physics standard name for this shell.

Returns:
String

getSiegbahnName

public static java.lang.String getSiegbahnName(int shell)
getSiegbahnName - get the Siegban style name for this shell.

Parameters:
shell - int
Returns:
String

parseSiegahnName

public static int parseSiegahnName(java.lang.String str)
parseSiegahnName - Serves as the inverse of getSiegbahnName(shell).

Parameters:
str -
Returns:
The integer index of the shell represented by the string or NoShell if the string is not recognized.

getSiegbahnName

public java.lang.String getSiegbahnName()
getSiegbahnName - get the Siegban style name for this shell.

Returns:
String

getIUPACName

public static java.lang.String getIUPACName(int shell)
getIUPACName - Get the IUPAC standard name for this shell.

Parameters:
shell - int
Returns:
String

getIUPACName

public java.lang.String getIUPACName()
getIUPACName - Get the IUPAC standard name for this shell.

Returns:
String

parseIUPACName

public static int parseIUPACName(java.lang.String str)
parseIUPACName - The inverse to getIUPACName

Parameters:
str -
Returns:
An integer index to a shell

getEdgeEnergy

public static double getEdgeEnergy(Element el,
                                   int shell)
getEdgeEnergy - Returns the edge energy for the specified atom and shell. (Uses EdgeEnergy.Default)

Parameters:
el - Element
shell - int
Returns:
double

getEdgeEnergy

public double getEdgeEnergy()
getEdgeEnergy - Returns the edge energy for this AtomicShell (Uses EdgeEnergy.Default)

Returns:
double

getCapacity

public static int getCapacity(int shell)
getCapacity - Returns the maximum number of electrons that can populate the specified shell.

Parameters:
shell - int - One of KShell to OIX shell
Returns:
int

getCapacity

public int getCapacity()
getCapacity - Returns the number of electrons that can populate this shell.

Returns:
int

isValid

public static boolean isValid(int shell)
isValid - Does shell represent a valid integer value for a shell?

Parameters:
shell - int
Returns:
boolean

getFamily

public static int getFamily(int shell)
getFamily - Returns the family into which the specified shell falls (KFamily, LFamily,..,OFamily).

Parameters:
shell - - A valid shell (K through OIX). Shells other than these and the continuum return NoFamily.
Returns:
int - one of KFamily, LFamily, ..., OFamily or NoFamily

getFirstInFamily

public static int getFirstInFamily(int family)
getFirstInFamily - Returns the integer constant representing the first shell in the specified family.

Parameters:
family - int
Returns:
int

getLastInFamily

public static int getLastInFamily(int family)
getLastInFamily - Returns the integer constant representing the last shell in the specified family.

Parameters:
family - int
Returns:
int

getFamilyName

public static java.lang.String getFamilyName(int family)
getFamilyName - Returns a string containing the name of the line family.

Parameters:
family - int
Returns:
String

parseFamilyName

public static int parseFamilyName(java.lang.String str)
parseFamilyName - The inverse of getFamilyName. Parses strings produced by getFamilyName back into KFamily, LFamily, ..., OFamily constants. Returns NoFamily if the name is not recognized.

Parameters:
str - String
Returns:
int

getFamily

public int getFamily()
getFamily - Returns the family into which this AtomicShell falls (KFamily, LFamily,..,OFamily).

Returns:
int

getPrincipalQuantumNumber

public static int getPrincipalQuantumNumber(int shell)
getPrincipalQuantumNumber - Gets the principle atomic number (typically denoted N) associated with this shell.

Parameters:
shell - int
Returns:
int

getPrincipalQuantumNumber

public int getPrincipalQuantumNumber()
getPrincipalQuantumNumber - Returns the principal quantum number associated with this shell.

Returns:
int

getEnergy

public double getEnergy()
getEnergy - Get the energy required to liberate an electron from this atomic shell.

Returns:
double - in Joules

getEnergy_eV

public double getEnergy_eV()
getEnergy - Get the energy required to liberate an electron from this atomic shell.

Returns:
double - in eV

getElement

public Element getElement()
getElement - Returns the element in which this shell is located.

Returns:
Element

getShell

public int getShell()
getShell - Get the shell index associated with this shell.

Returns:
int

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

parseString

public static AtomicShell parseString(java.lang.String str)
parseString - The inverse of AtomicShell.toString(). Parses the contents of a String as produced by toString() and returns the equivalent AtomicShell object.

Parameters:
str -
Returns:
An AtomicShell representing the same item as String.

compareTo

public int compareTo(java.lang.Object obj)
Specified by:
compareTo in interface java.lang.Comparable

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

exists

public static boolean exists(Element elm,
                             int shell)
exists - Does the shell exist for this element (as evidenced by a non-zero edge energy.)

Parameters:
elm - Element
shell - int
Returns:
boolean

exists

public boolean exists()
exists - Does the atomic shell represented by this AtomicShell object reflect an existing atomic shell (as evidenced by a non-zero edge energy.)

Returns:
boolean

getOrbitalAngularMomentum

public int getOrbitalAngularMomentum(int shell)
getAngularMomentum - Returns the angular momentum quantum number (typically denoted L) associated with the argument shell.

Parameters:
shell - int
Returns:
int

getOrbitalAngularMomentum

public int getOrbitalAngularMomentum()
getAngularMomentum - Returns the angular momentum quantum number (typically denoted L) associated with this shell.

Returns:
int

getTotalAngularMomentum

public double getTotalAngularMomentum()
getTotalAngularMomentum - Returns the total angular momentum (typically denoted J) associated with this shell.

Returns:
double

getTotalAngularMomentum

public static double getTotalAngularMomentum(int shell)
getTotalAngularMomentum - Returns the total angular momentum (typically denoted J) associated with the argument shell.

Parameters:
shell - int
Returns:
double

electricDipolePermitted

public static boolean electricDipolePermitted(int shell1,
                                              int shell2)
electricDipolePermitted - Are transitions from the shell represented by the enumerated constant sh1 to the shell sh2 permitted by the electric dipole selection rules?

Parameters:
shell1 - int - An integer constant representing a shell
shell2 - int - An integer constant representing a shell
Returns:
boolean

electricQuadrupolePermitted

public static boolean electricQuadrupolePermitted(int shell1,
                                                  int shell2)