Commit 7af711e5 by Daniel Brown

### fixing gauss param and adding example

parent eb54342e
 from pykat.utilities.optics.ABCD import apply, mirror_trans from pykat.utilities.optics.gaussian_beams import gauss_param nr1 = 1 nr2 = 1.44963098985906 q1 = gauss_param(q=5.96343 + 3.04713j) abcd = mirror_trans(nr1, nr2, float("inf")) # into material q2 = apply(abcd, q1, nr1, nr2) # and out again q3 = apply(abcd, q2, nr2, nr1) print "q1 =", q1, " w0 =", q1.w0, " wz =", q1.wz, " z =", q1.z print "q2 =", q2, " w0 =", q2.w0, " wz =", q2.wz, " z =", q2.z print "q3 =", q3, " w0 =", q3.w0, " wz =", q3.wz, " z =", q3.z
 import numpy as np from pykat.utilities.optics.gaussian_beams import gauss_param def apply(ABCD, q1, n1, n2): return n2 * (ABCD[0,0] * q1/n1 + ABCD[0,1]) / (ABCD[1,0] * q1/n1 + ABCD[1,1]) return gauss_param(nr=n2, q=n2 * (ABCD[0,0] * q1/n1 + ABCD[0,1]) / (ABCD[1,0] * q1/n1 + ABCD[1,1])) def mirror_trans(n1, n2, Rc): return np.matrix([[1,0],[(n2-n1)/Rc,1]]) ... ...
 ... ... @@ -68,7 +68,7 @@ class gauss_param(object): @property def wz(self): return math.sqrt(self.__lambda /(self.__nr * math.pi) * abs(self.__q) / self.__q.imag) return self.w0 * math.sqrt(1 + (self.__q.real/self.__q.imag)**2) @property def w0(self): ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!