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.

perl v5.34.0                                       2022-06-28                              Xray::Scattering(3pm)