>  Docs Center  >  Libraries  >  Markwardt  >  XATT_EL
Libraries

XATT_EL

XATT_EL

Name


  XATT_EL

Author


  Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770
  craigm@lheamail.gsfc.nasa.gov
  UPDATED VERSIONs can be found on my WEB PAGE:
      http://cow.physics.wisc.edu/~craigm/idl/idl.html

Purpose


  Compute X-ray attenuation coefficient from NIST tables

Major Topics


  Physics

Calling Sequence


  MU_RHO = XATT_EL(ELEMENT, ENERGY)

Description



  This function computes the X-ray mass absorption coefficient for a
  given element, based on the NIST mass absorption coefficients.
  These tables are most well sampled for energies between 1 keV and
  100 MeV. These coefficients are from the tables at
    http://physics.nist.gov/PhysRefData/XrayMassCoef/cover.html
  The user specifies the atomic elements, either by the atomic symbol
  (as a character string), or by the atomic number (Z). Values are
  interpolated in log-log space.
  For a compound or mixture, the ELEMENT parameter can be an array.
  The elements are weighted according to the WEIGHTS keyword. The
  elements in the compound may be weighted by the relative masses of
  each element (BY='MASS') or by the relative number of atoms of each
  element (BY='NUMBER'). In the BY='NUMBER' case, standard atomic
  masses are used.
  The energy is specified as either a scalar value or an array, and
  the same number of absorption coefficients are returned.
  The transmission of a medium is then defined by:
    TRANS = EXP(- MU_RHO * RHO * THICKNESS )
  where MU_RHO is the value returned by this function (cm^2/g), RHO
  is the mass density of the medium (g/cm^3), and THICKNESS is the
  thickness of the material (cm).
  The data are stored within this function. The routine should be in
  the user's path so that the data can be located.

Inputs



  EL - scalar or vector quantity specifying atomic elements. Either
        a string giving the atomic symbol, or an integer giving the
        atomic number, Z. A vector indicates a compound/mixture
        consisting of multiple elements to be combined.
  ENERGY - real scalar or array, gives the energy in keV of the
            X-ray being absorbed.

Keywords



  WEIGHTS - an array of weights to be used in combining multiple
            elements. Elements should be combined in proportion to
            their masses or number, according to the 'BY' keyword.
            Weights are normalized to unity if necessary.
            Default: equal weight to each element
  BY - indicates how multiple elements weighting factors are to be
        used. If BY='WEIGHT' or BY='MASS', the WEIGHTS are assumed
        to be the proportion of each element by mass. If BY='NUMBER',
        the WEIGHTS are assumed to be the number of atoms of each
        element. The atomic weight of each element is assumed to be
        the mean atomic weight, averaged over the natural isotopic
        abundences (See NIST web page
        http://physics.nist.gov/PhysRefData/Compositions/).
        Default: 'WEIGHT'
  ATTENTYPE - type of scattering cross section to compute. One of
              the following:
                  0 = coherent scattering (Thompson)
                  1 = incoherent scattering (Compton)
                  2 = photoelectric absorption
                  3 = pair production by nuclear field
                  4 = pair production by electron field
                  5 = total attenuation/scattering cross section
                  6 = total non-coherent scattering cross section
              NOTE: ATTENTYPE always overrides the shortcut keywords
              below.
              Default: 5
  COHERENT_SCATTERING - if set, equivalent to ATTENTYPE=0
  INCOHERENT_SCATTERING - if set, equivalent to ATTENTYPE=1
  PHOTOELECTRIC - if set, equivalent to ATTENTYPE=2
  PAIR_NUCLEAR - if set, equivalent to ATTENTYPE=3
  PAIR_ELECTRON - if set, equivalent to ATTENTYPE=4
  TOTAL - if set, equivalent to ATTENTYPE=5
  NO_COHERENT - if set, equivalent to ATTENTYPE=6
 

Returns



  MU_RHO - the mass attenuation coefficient, with units of cm^2/g.

Example



  MU_RHO = XATT_EL('Al', [20.,30,40])
    compute coefficient for Aluminum at 20, 30 and 40 keV.
  MU_RHO = XATT_EL(47, 60)
    compute coefficient for Silver (Z=47) at 60 keV.
  MU_RHO = XATT_EL(['H','O'], WEIGHTS=[2,1], BY='NUMBER', 60)
 
    compute coefficient for water (H2O) at 60 keV.

References



  Hubbell, J.H. and Seltzer, S.M. (2004),
    Tables of X-Ray Mass Attenuation Coefficients and Mass
    Energy-Absorption Coefficients (version 1.4).
    [Online] Available: http://physics.nist.gov/xaamdi
    National Institute of Standards and Technology, Gaithersburg, MD.
    Originally published as NISTIR 5632, National Institute of
    Standards and Technology, Gaithersburg, MD (1995).
  Coursey, J. S., Schwab, D. J. and Dragoset, R. A.
    Atomic Weights and Isotopic Compositions (with Relative Atomic
      Masses)
    Web page http://physics.nist.gov/PhysRefData/Compositions/
    Visited March 2006

See Also


Modification History


  Written, 17 Jul 2002, CM
  Documented, 24 Jul 2002, CM
  Changed to more robust (?) way to determine path, 24 Jan 2003, CM
  Use ROUTINE_INFO to determine path, 10 Mar 2003, CM
  Add ability to process compounds and mixtures, 30 Jun 2005, CM
  Completely revamp to handle the full XCOM cross section list, 19
    Jul 2005, CM
  Add the BY keyword for handling molecules by atomic number instead
    of weight, 16 May 2006
  Document difference between coherent/incoherent scattering,
    2010-11-27, CM



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us