# Initialize an optic system
system = optic.Optic()
# add surfaces to the system
system.surfaces.add(index=0, thickness=np.inf) # object at infinity
coefficients = np.array(
[
[
1.24694339e-05,
4.67020030e-03,
3.62355202e-03,
], # optimized chebyshev coefficients
[5.46006887e-11, -1.03813427e-07, -8.01598028e-08],
[-5.81261746e-03, -5.21668069e-03, 4.53883501e-03],
],
)
# add mirror surface
system.surfaces.add(
index=1,
thickness=-85.64,
radius=-185,
conic=0,
material="mirror",
is_stop=True,
dy=36,
surface_type="chebyshev",
norm_x=100,
norm_y=100,
coefficients=coefficients,
)
system.surfaces.add(index=2) # image plane
# add aperture
system.set_aperture(aperture_type="EPD", value=33)
# add field
system.fields.set_type(field_type="angle")
system.fields.add(y=0)
# add wavelength
system.wavelengths.add(value=0.587, is_primary=True)