Description | Perl tools for X-ray Absorption Spectroscopy |
Demeter::SSPath - Arbitrary single scattering paths
This documentation refers to Demeter version 0.9.26.
Build a single scattering path of arbitrary length from the potentials of a Feff calculation:
my $sspath = Demeter::SSPath->new(parent => $feff_object,
data => $data_object,
name => "my SS path",
ipot => 3,
reff => 3.2,
);
$sspath -> plot('R');
This object behaves in much the same way as Feff's own SS keyword, documented here. An SSPath is, in almost every way, exactly like a Path object. The SSPath is a subclass of Path, so all Path attributes and methods are also SSPath attributes and methods. Specifically, you set all path parameters in exactly the same way and you use an SSPath in plots and fits exactly as a normal Path object.
The difference between a Path and SSPath is in how the geometry of the path is specified. For a Path object, you must specify either a ScatteringPath object as the sp
attribute or you must set the folder
and file
attributes to point at the location of a feffNNNN.dat file.
For an SSPath object, you set none of those attributes yourself (they all get set, but not by you). Instead, you specify the ipot
and reff
attributes, which are new attributes for this subclass. Demeter will then generate a single scattering path for that potential at that distance. The resulting path will have a natural degeneracy of 1, which can, of course, be overriden by the n
attribute.
SSPath objects are plotted just like any Path object, as shown in the synopsis above. They are used in fits in the same way as ordinary Path objects. That is, the paths
attribute of the Fit object takes a reference to a list of Path and/or SSPath objects. Path and SSPath objects can be used as you wish in the Fit object's path list.
As with any Moose object, the attribute names are the name of the accessor methods.
This extends Demeter::Path. Along with the standard attributes of any Demeter object (name
, plottable
, data
, and so on), and of the Path object, an SSPath has the following:
ipot
This takes the index of the unique potential for which you wish to construct a single scattering path.
As with any Path object, you must specify a Feff object. The value for the ipot
attribute is in reference to the associated Feff object.
reff
The half path length of the desired single scattering path.
rattle
If this boolean is true, then the triple scattering rattle path will be computed rather than the single scattering path.
There are no outward-looking methods for the SSPath object beyond those of the Path object. All methods in this module are used behind the scenes and need never be called by the user.
Good question ...
See Demeter::Config for a description of the configuration system.
Demeter's dependencies are in the Build.PL file.
Type constraints needed for several of the attributes.
Sanity checking, for instance, need to check that the requested ipot actually exists; that parent and data are set before anything is done; ...
Think about serialization by itself and in a fit.
Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)
Patches are welcome.
Bruce Ravel (http://bruceravel.github.io/home)
http://bruceravel.github.io/demeter/
Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.
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.