Source code for sas.calculator.kiessig_calculator

"""
This module is a small tool to allow user to quickly
determine the size value in real space  from the
fringe width in q space.
"""
from math import pi, fabs
_DQ_DEFAULT = 0.05


[docs]class KiessigThicknessCalculator(object): """ compute thickness from the fringe width of data """ def __init__(self): # dq value self.deltaq = _DQ_DEFAULT # thickenss value self.thickness = None # unit of the thickness self.thickness_unit = 'A'
[docs] def set_deltaq(self, dq=None): """ Receive deltaQ value :param dq: q fringe width in 1/A unit """ # set dq self.deltaq = dq
[docs] def get_deltaq(self): """ return deltaQ value in 1/A unit """ # return dq return self.deltaq
[docs] def compute_thickness(self): """ Calculate thickness. :return: the thickness. """ # check if it is float try: dq = float(self.deltaq) except: return None # check if delta_q is zero if dq == 0.0 or dq == None: return None else: # calculate thickness thickness = 2*pi/fabs(dq) # return thickness value return thickness
[docs] def get_thickness_unit(self): """ :return: the thickness unit. """ # unit of thickness return self.thickness_unit