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