Closed mwiebold closed 7 years ago
As a workaround, you can just drop all the angles=
and then use optics.align(n=[1. for el in optics])
(after update()
) to have them computed for you.
As a sidenote mapping the geometric ray trace terminology to the Gaussian trace is not sometimes ambiguous. With a finite object rayopt will use the object position and size for waist position and waist size. With an infinite object it will use the pupil size and position for waist.
That should be extended to a different behavior with NAPupil
, but the analogy gets tricky...
Trying to do a GaussianTrace on a system with folding mirrors. It will work if I don't fold the system, but the GaussianTrace plotting fails when I have the fold mirrors in the prescription.
It looks like elements' rot_axis isn't being set in some cases. If the element is straight but not normal, rot_axis won't be set, but is used in the from_axis method, which is used at least in GaussianTrace.
The below returns
AttributeError: 'Spheroid' object has no attribute 'rot_axis'
MWE: