class Objective60x(optic.Optic):
"""Define a microscope objective"""
def __init__(self):
super().__init__()
self.surfaces.add(index=0, thickness=np.inf, radius=np.inf)
self.surfaces.add(index=1, thickness=64.9, radius=553.260, material="N-FK51")
self.surfaces.add(index=2, thickness=4.4, radius=-247.644)
self.surfaces.add(index=3, thickness=59.4, radius=115.162, material="J-LLF2")
self.surfaces.add(index=4, thickness=17.6, radius=57.131)
self.surfaces.add(index=5, thickness=17.6, is_stop=True)
self.surfaces.add(
index=6,
thickness=74.8,
radius=-57.646,
material=("SF5", "schott"),
)
self.surfaces.add(index=7, thickness=77.0, radius=196.614, material="N-FK51")
self.surfaces.add(index=8, thickness=4.4, radius=-129.243)
self.surfaces.add(index=9, thickness=15.4, radius=2062.370, material="N-KZFS4")
self.surfaces.add(
index=10,
thickness=48.4,
radius=203.781,
material="LITHOTEC-CAF2",
)
self.surfaces.add(index=11, thickness=4.4, radius=-224.003)
self.surfaces.add(
index=12,
thickness=35.2,
radius=219.864,
material="LITHOTEC-CAF2",
)
self.surfaces.add(index=13, thickness=4.4, radius=793.3)
self.surfaces.add(index=14, thickness=26.4, radius=349.260, material="N-FK51")
self.surfaces.add(index=15, thickness=4.4, radius=-401.950)
self.surfaces.add(index=16, thickness=39.6, radius=91.992, material="N-SK11")
self.surfaces.add(index=17, thickness=96.189, radius=176.0)
self.surfaces.add(index=18)
# add aperture
self.set_aperture(aperture_type="imageFNO", value=0.9)
# add field
self.fields.set_type(field_type="angle")
self.fields.add(y=0)
self.fields.add(y=0.7)
self.fields.add(y=1)
# add wavelength
self.wavelengths.add(value=0.4861)
self.wavelengths.add(value=0.5876, is_primary=True)
self.wavelengths.add(value=0.6563)