optixstuff.primary#

Primary mirror abstractions.

Classes#

AbstractPrimary

Abstract interface for a primary aperture.

SimplePrimary

A simple circular primary mirror with a central obscuration.

Module Contents#

class optixstuff.primary.AbstractPrimary[source]#

Bases: equinox.Module

Abstract interface for a primary aperture.

Any concrete implementation must provide the diameter and collecting area of the primary mirror as scalar values in SI units. These are consumed by exposure time calculators and simulation tools alike.

diameter_m: equinox.AbstractVar[float]#

Primary mirror diameter in metres.

area_m2: equinox.AbstractVar[float]#

Effective collecting area in square metres.

class optixstuff.primary.SimplePrimary(diameter_m, obscuration=0.0, shape_factor=1.0)[source]#

Bases: AbstractPrimary

A simple circular primary mirror with a central obscuration.

Args:

diameter_m: Primary mirror diameter in metres. obscuration: Linear obscuration fraction (0 = no obscuration). shape_factor: Fraction of unobscured area that is collecting

(accounts for struts, segment gaps, etc.). Default 1.0.

Parameters:
_diameter_m: float#
obscuration: float#
shape_factor: float#
property diameter_m: float#

Primary mirror diameter in metres.

Return type:

float

property area_m2: float#

Effective collecting area in square metres.

Return type:

float

__repr__()[source]#

One-line summary of diameter, obscuration, and effective area.

Return type:

str