32. SESANS calculation routines¶
sasmodels.sesans¶
Conversion of scattering cross section from SANS (I(q), or rather, ds/dO) in absolute units (cm-1)into SESANS correlation function G using a Hankel transformation, then converting the SESANS correlation function into polarisation from the SESANS experiment
Everything is in units of metres except specified otherwise (NOT TRUE!!!) Everything is in conventional units (nm for spin echo length)
Wim Bouwman (w.g.bouwman@tudelft.nl), June 2013
- class sasmodels.sesans.SesansTransform(z: ndarray, SElength: float, lam: float, zaccept: float, Rmax: float, log_spacing: float = 1.0003)¶
Bases:
objectSpin-Echo SANS transform calculator. Similar to a resolution function, the SesansTransform object takes I(q) for the set of q_calc values and produces a transformed dataset
SElength (A) is the set of spin-echo lengths in the measured data.
zaccept (1/A) is the maximum acceptance of scattering vector in the spin echo encoding dimension (for ToF: Q of min(R) and max(lam)).
Rmax (A) is the maximum size sensitivity; larger radius requires more computation time.
- _H: ndarray = None¶
- _H0: ndarray = None¶
- __class__¶
alias of
type
- __delattr__(name, /)¶
Implement delattr(self, name).
- __dict__ = mappingproxy({'__module__': 'sasmodels.sesans', '__doc__': '\n Spin-Echo SANS transform calculator. Similar to a resolution function,\n the SesansTransform object takes I(q) for the set of *q_calc* values and\n produces a transformed dataset\n\n *SElength* (A) is the set of spin-echo lengths in the measured data.\n\n *zaccept* (1/A) is the maximum acceptance of scattering vector in the spin\n echo encoding dimension (for ToF: Q of min(R) and max(lam)).\n\n *Rmax* (A) is the maximum size sensitivity; larger radius requires more\n computation time.\n ', 'q': None, 'q_calc': None, '_H': None, '_H0': None, '__init__': <function SesansTransform.__init__>, 'apply': <function SesansTransform.apply>, '_set_hankel': <function SesansTransform._set_hankel>, '__dict__': <attribute '__dict__' of 'SesansTransform' objects>, '__weakref__': <attribute '__weakref__' of 'SesansTransform' objects>, '__annotations__': {'q': 'np.ndarray', 'q_calc': 'np.ndarray', '_H': 'np.ndarray', '_H0': 'np.ndarray'}})¶
- __dir__()¶
Default dir() implementation.
- __doc__ = '\n Spin-Echo SANS transform calculator. Similar to a resolution function,\n the SesansTransform object takes I(q) for the set of *q_calc* values and\n produces a transformed dataset\n\n *SElength* (A) is the set of spin-echo lengths in the measured data.\n\n *zaccept* (1/A) is the maximum acceptance of scattering vector in the spin\n echo encoding dimension (for ToF: Q of min(R) and max(lam)).\n\n *Rmax* (A) is the maximum size sensitivity; larger radius requires more\n computation time.\n '¶
- __eq__(value, /)¶
Return self==value.
- __format__(format_spec, /)¶
Default object formatter.
- __ge__(value, /)¶
Return self>=value.
- __getattribute__(name, /)¶
Return getattr(self, name).
- __getstate__()¶
Helper for pickle.
- __gt__(value, /)¶
Return self>value.
- __hash__()¶
Return hash(self).
- __init__(z: ndarray, SElength: float, lam: float, zaccept: float, Rmax: float, log_spacing: float = 1.0003) None¶
- classmethod __init_subclass__()¶
This method is called when a class is subclassed.
The default implementation does nothing. It may be overridden to extend subclasses.
- __le__(value, /)¶
Return self<=value.
- __lt__(value, /)¶
Return self<value.
- __module__ = 'sasmodels.sesans'¶
- __ne__(value, /)¶
Return self!=value.
- classmethod __new__(*args, **kwargs)¶
- __reduce__()¶
Helper for pickle.
- __reduce_ex__(protocol, /)¶
Helper for pickle.
- __repr__()¶
Return repr(self).
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- __sizeof__()¶
Size of object in memory, in bytes.
- __str__()¶
Return str(self).
- classmethod __subclasshook__()¶
Abstract classes can override this to customize issubclass().
This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).
- __weakref__¶
list of weak references to the object
- _set_hankel(SElength: ndarray, lam: float, zaccept: float, Rmax: float) None¶
- apply(Iq: ndarray) ndarray¶
Apply the SESANS transform to the computed I(q).
- q: ndarray = None¶
SElength from the data in the original data units; not used by transform but the GUI uses it, so make sure that it is present.
- q_calc: ndarray = None¶
q values to calculate when computing transform