logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Ifeffit::Demeter::FluorescenceEXAFS - Corrections for fluorescence EXAFS data

Author

       Bruce Ravel (bravel AT bnl DOT gov)

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

Bugs And Limitations

       •   Fourth cumulant corrections are not calculated.

       •   Geometry and thickness effects are not included in the self absorption calculation

       Please report problems to Bruce Ravel (bravel AT bnl DOT gov)

       Patches are welcome.

Description

       This provides class methods for computing corrections to fluorescence EXAFS data due to normalization,
       I0, and self-absorption effects.  The corrections are computed from x-ray absorption coefficients
       provided by the Xray::Absorption package.

Methods

       Note that the values returned for all methods depend on the data resource used.  See Xray::Absorption.

       "mcmaster"
           This  is  called  "mcmaster" for historical reasons.  It calculates the normalization correcion for a
           given element.

             $sigma_mm = Xray::FluorescenceEXAFS->mcmaster($element, $edge);

           It takes the central atoms tag and  the  alphanumeric  edge  symbol  as  arguments  and  returns  the
           normalization correction in units of Angstrom squared.

           "normalization" and "edgestep" are aliases for this method.

       "i0"
           This calculates the correcion due to the I0 fill gases in a fluorescence experiment.

             $gases = {nitrogen=>$nitrogen, argon=>$argon, krypton=>$krypton};
             $sigma_i0 = Xray::FluorescenceEXAFS->i_zero($central, $edge, $gases);

           It  takes  the  central atoms tag, the alphanumeric edge symbol, and a reference to a hash containing
           the volume percentages of the three gases as arguments.  It assumes  that  any  remaining  volume  is
           filled  with helium and it correctly accounts for the fact that nitrogen is a diatom.  It returns the
           I0 correction in units of Angstrom squared.

           "i_zero" and "izero" are aliases for this method.

       "self"
           This calculates the correcion due to self-absorption fluorescence experiment.  It  assumes  that  the
           sample is infinately thick and that the entry and exit angles of the photons are the same.

             $contents = {Y=>1, Ba=>2, Cu=>3, O=>7};
             ($amp_i0, $sigma_i0) = Xray::FluorescenceEXAFS->self($central, $edge, $contents);

           It  takes the central atoms tag, the alphanumeric edge symbol, and a reference to a hash which counts
           the atoms in the unit cell.  It returns a list whose zeroth element is the  multiplicative  amplitude
           correction and whose first element is the sigma^2 correction in units of Angstrom squared.

           "overabsorption" is an aliases for this method.

Name

       Ifeffit::Demeter::FluorescenceEXAFS - Corrections for fluorescence EXAFS data

See Also