Provided by: libxray-scattering-perl_3.0.1-3_all bug

NAME

       Xray::Scattering - X-ray scattering data for the elements

SYNOPSIS

         use Xray::Scattering;
         Xray::Scattering->load('CroMann');
         $fnot = Xray::Scattering->get_f($symb, $d);

         Xray::Scattering->load('WaasKirt');
         $fnot = Xray::Scattering->get_f($symb, $d);

DESCRIPTION

       This module supports access to X-ray scattering data for atoms and ions.  It is designed
       to be a transparent interface to scattering data from a variety of sources.  Currently,
       the only sources of data are the Cromer-Mann tables from the International Tables of
       Crystallography and the 1995 Waasmaier-Kirfel tables.  More resources can be added easily.

METHODS

       "available"
           This method returns a list of data resources available to this module.  Currently this
           returns an array consisting of these strings:

             Cromer-Mann  Waasmaier-Kirfel  None

           The first two are functional interfaces to those databases.  The third is a fallback
           subclass which returns default values for all methods.

       "get_valence"
           This returns the element/valence symbol in the proper form for use with other methods.
           $elem is a two-letter atomic symbol, and $valence is the valence of the ion.  $valence
           can be an integer, a float, a dot or the string "va".

              $symbol = Xray::Scattering->get_valence($elem, $valence)

           Unless the valence is a dot or the string "va", the nearest integer to $valence is
           used with the element symbol to construct the element/valence symbol.  As an example,
           "$symbol eq "Cu2+"" if "$elem eq "Cu"" and "$valence == 2".

SUBCLASS METHODS

       All the available subclasses corresponding to the data resources provide their own
       versions of the following methods:

       "get_f"
           This function calculates the Thomson scattering for a given symbol and d-spacing.  The
           Thomson scattering depends only on the momentum transfer.  The d-spacing of the
           scattering planes is a closely related quantity and is easily calculated from the
           crystal structure, see Xtal.pm.

             $symb = "Ce3+";
             $fnot = Xray::Scattering->get_f($symb, $d);

           If the symbol cannot be found in the table, "get_f" returns 0.  It also returns 0 when
           $symbol consists of whitespace or is "null" or "nu".  If $symbol is a number or the
           name of an element, then it assumes you want the Thomson scattering for the neutral
           element.  The absolute value of $d_spacing is used by this function.

           The "None" subclass always returns 0.

           If you ask for a valence state that is not in the table but for an element whose 0+
           state is in the table, this method returns the scattering factor for the 0 valent
           atom.

       "get_coefficients"
           This returns the 9 (Cromer-Mann) or 11 (Waasmaier-Kirfel) element list containing the
           coefficients for the given symbol.

              @coefs = Xray::Scattering->get_coefficients($symb)

           See the documents for the subclasses for the order of the coefficients.  The None
           subclass always returns a list of 11 zeros.

           If you ask for a valence state that is not in the table but for an element whose 0+
           state is in the table, this method returns the coefficients for the 0 valent atom.

       "has"
           This is a test of whether a given symbol is tabulated in the selected data resource
           table.  It returns the symbol itself if found in the table or 0 if it is not in the
           table.

             $symb = "Ce3+";
             $has = Xray::Scattering->has($symb);

           The None subclass returns the symbol itself.

AUTHOR

       Bruce Ravel, bravel AT bnl DOT gov

       http://cars9.uchicago.edu/~ravel/software/exafs/

LICENCE AND COPYRIGHT

       Copyright (c) 2006-2008 Bruce Ravel (bravel AT bnl DOT gov). All rights reserved.

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself. See perlartistic.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
       without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.