diff --git a/Laser_utils.py b/Laser_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..55e44a39839904268223b15df6cb537af77727e9 --- /dev/null +++ b/Laser_utils.py @@ -0,0 +1,26 @@ +def positionToDelay(pos, origin=0, invert = False, reflections=1): + ''' converts a motor position in mm into optical delay in picosecond + Inputs: + pos: array-like delay stage motor position + origin: motor position of time zero in mm + invert: bool, inverts the sign of delay if True + reflections: number of bounces in the delay stage + + Output: + delay in picosecond + ''' + c_ = 299792458 *1e-9 # speed of light in mm/ps + x = -1 if invert else 1 + return 2*reflections*(pos-origin)*x/c_ + +def degToRelPower(x, theta0=0): + ''' converts a half-wave plate position in degrees into relative power + between 0 and 1. + Inputs: + x: array-like positions of half-wave plate, in degrees + theta0: position for which relative power is zero + + Output: + array-like relative power + ''' + return np.sin(2*(x-theta0)*np.pi/180)**2 diff --git a/__init__.py b/__init__.py index 654b00fd8ddd17321acbc7a68a6d4afe987560bb..9266141c5314b51d023361e26c8767c64864bf26 100644 --- a/__init__.py +++ b/__init__.py @@ -2,3 +2,4 @@ from ToolBox.Load import * from ToolBox.xgm import * from ToolBox.XAS import * from ToolBox.knife_edge import * +from ToolBox.Laser_utils import *