OpticsModel#

class esis.optics.OpticsModel(name: 'str' = 'ESIS', front_aperture: 'None | esis.optics.FrontAperture' = None, central_obscuration: 'None | esis.optics.CentralObscuration' = None, primary_mirror: 'None | esis.optics.PrimaryMirror' = None, field_stop: 'None | esis.optics.FieldStop' = None, grating: 'None | esis.optics.Grating' = None, filter: 'None | esis.optics.Filter' = None, detector: 'None | esis.optics.Detector' = None, grid_input_normalized: 'None | optika.vectors.ObjectVectorArray' = None, pitch: 'u.Quantity | na.AbstractScalar' = <Quantity 0. deg>, yaw: 'u.Quantity | na.AbstractScalar' = <Quantity 0. deg>, roll: 'u.Quantity | na.AbstractScalar' = <Quantity 0. deg>, requirements: 'None | esis.optics.Requirements' = None)#

Bases: AbstractOpticsModel

Attributes

angle_grating_input

angle_grating_output

The angle between the grating normal vector and the exit arm, in the plane perpendicular to the rulings.

central_obscuration

detector

field_stop

filter

front_aperture

grating

grid_input_normalized

name

pitch

primary_mirror

requirements

roll

system

Resolve this optics model into an instance of optika.systems.SequentialSystem.

transformation

the coordinate transformation between the global coordinate system and this object's local coordinate system

wavelength_max

the maximum wavelength permitted through the system

wavelength_min

the minimum wavelength permitted through the system

yaw

Methods

__init__([name, front_aperture, ...])

to_string([prefix])

Public-facing version of the __repr__ method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.

Inheritance Diagram

Inheritance diagram of esis.optics.OpticsModel
Parameters:
to_string(prefix=None)#

Public-facing version of the __repr__ method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.

Parameters:

prefix (None | str) – an optional string, the length of which is used to calculate how much whitespace to add to the result.

Return type:

str

property angle_grating_input: AbstractScalar#
property angle_grating_output: AbstractScalar#

The angle between the grating normal vector and the exit arm, in the plane perpendicular to the rulings.

This is an analogue to the diffracted angle in the diffraction grating equation.

central_obscuration: None | CentralObscuration = None#
detector: None | Detector = None#
field_stop: None | FieldStop = None#
filter: None | Filter = None#
front_aperture: None | FrontAperture = None#
grating: None | Grating = None#
grid_input_normalized: None | ObjectVectorArray = None#
name: str = 'ESIS'#
pitch: Quantity | AbstractScalar = <Quantity 0. deg>#
primary_mirror: None | PrimaryMirror = None#
requirements: None | Requirements = None#
roll: Quantity | AbstractScalar = <Quantity 0. deg>#
property system: SequentialSystem#

Resolve this optics model into an instance of optika.systems.SequentialSystem.

This is a cached property that is only computed once.

property transformation: AbstractTransformation#

the coordinate transformation between the global coordinate system and this object’s local coordinate system

property wavelength_max: Quantity | AbstractScalar#

the maximum wavelength permitted through the system

property wavelength_min: Quantity | AbstractScalar#

the minimum wavelength permitted through the system

yaw: Quantity | AbstractScalar = <Quantity 0. deg>#