class HeliarLens(optic.Optic):
"""Heliar Lens f/5
Milton Laikin, Lens Design, 4th ed., CRC Press, 2007, p. 63
"""
def __init__(self):
super().__init__()
# add surfaces
self.surfaces.add(index=0, radius=np.inf, thickness=np.inf)
self.surfaces.add(index=1, radius=4.2103, thickness=0.9004, material="N-SK16")
self.surfaces.add(index=2, radius=-3.6208, thickness=0.2999, material="E-LLF6")
self.surfaces.add(index=3, radius=29.1869, thickness=0.7587)
self.surfaces.add(index=4, radius=-3.1715, thickness=0.2, material="E-LLF6")
self.surfaces.add(index=5, radius=3.2083, thickness=0.1264)
self.surfaces.add(index=6, radius=np.inf, thickness=0.2629, is_stop=True)
self.surfaces.add(index=7, radius=43.0710, thickness=0.25, material="E-LLF6")
self.surfaces.add(index=8, radius=2.4494, thickness=0.8308, material="N-SK16")
self.surfaces.add(index=9, radius=-3.2576, thickness=8.5066)
self.surfaces.add(index=10)
# add aperture
self.set_aperture(aperture_type="imageFNO", value=5)
# add field
self.fields.set_type(field_type="angle")
self.fields.add(y=0)
self.fields.add(y=7)
self.fields.add(y=10)
# add wavelength
self.wavelengths.add(value=0.48613270)
self.wavelengths.add(value=0.58756180, is_primary=True)
self.wavelengths.add(value=0.65627250)