Definition at line 172 of file abcd_optics.py. 00172 : 00173 "matx( ((drift0, abcd0),(drift1, abcd1)...), x) returns the accumulated abcd matrix at x. Drift_n is _before_ the element abcd_n" 00174 m=optic(Numeric.identity(2).astype(numeric_float)) 00175 z=0.0 00176 for (dz, abcd) in matlist: 00177 if not isinstance(abcd, probe): 00178 if z+dz >= x: break 00179 z += dz 00180 m=abcd*space(dz)*m 00181 return space(x-z)*m 00182 class ztrace:
|