Grating#

class esis.optics.Grating(serial_number='', manufacturing_number='', angle_input=<Quantity 0. deg>, angle_output=<Quantity 0. deg>, sag=None, material=None, rulings=None, num_folds=0, halfwidth_inner=<Quantity 0. mm>, halfwidth_outer=<Quantity 0. mm>, width_border=<Quantity 0. mm>, width_border_inner=<Quantity 0. mm>, clearance=<Quantity 0. mm>, distance_radial=<Quantity 0. mm>, azimuth=<Quantity 0. deg>, translation=<Quantity 0. mm>, pitch=<Quantity 0. deg>, yaw=<Quantity 0. deg>, roll=<Quantity 0. deg>)[source]#

Bases: AbstractGrating

A model of the diffraction gratings of this instrument.

Attributes

angle_aperture

The angle of the grating's aperture.

angle_input

The nominal angle of the incident light from the field stop.

angle_output

The nominal angle of reflected light to the detectors.

azimuth

The angle of rotation about the axis of symmetry.

clearance

The minimum distance between adjacent physical gratings.

distance_radial

The distance of this object from the axis of symmetry.

halfwidth_inner

The distance from the apex to the inner edge of the clear aperture.

halfwidth_outer

The distance from the apex to the outer edge of the clear aperture.

manufacturing_number

An additional number describing this diffraction grating.

material

The optical material composing this grating.

num_folds

The order of the rotational symmetry of the optical system.

pitch

The pitch angle of this object.

roll

The roll angle of this object

rulings

The ruling pattern of this grating.

sag

The sag function of this grating.

serial_number

The serial number of this diffraction grating.

surface

Represent this object as an optika surface.

transformation

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

translation

A transformation which can arbitrarily translate this object.

width_border

The nominal width of the border around the clear aperture.

width_border_inner

The width of the border on the narrow edge of the grating.

yaw

The yaw angle of this object.

Methods

__init__([serial_number, ...])

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.Grating
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_aperture: Quantity | AbstractScalar#

The angle of the grating’s aperture.

This is equal to \(2 \pi / n\) radians, where \(n\) is the order of the rotational symmetry of the optical system.

angle_input: Quantity = <Quantity 0. deg>#

The nominal angle of the incident light from the field stop.

angle_output: Quantity = <Quantity 0. deg>#

The nominal angle of reflected light to the detectors.

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

The angle of rotation about the axis of symmetry.

clearance: Quantity | AbstractScalar = <Quantity 0. mm>#

The minimum distance between adjacent physical gratings.

distance_radial: Quantity | AbstractScalar = <Quantity 0. mm>#

The distance of this object from the axis of symmetry.

halfwidth_inner: Quantity | AbstractScalar = <Quantity 0. mm>#

The distance from the apex to the inner edge of the clear aperture.

halfwidth_outer: Quantity | AbstractScalar = <Quantity 0. mm>#

The distance from the apex to the outer edge of the clear aperture.

manufacturing_number: str = ''#

An additional number describing this diffraction grating.

material: None | AbstractMaterial = None#

The optical material composing this grating.

num_folds: int = 0#

The order of the rotational symmetry of the optical system.

This determines the aperture wedge angle of this grating.

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

The pitch angle of this object.

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

The roll angle of this object

rulings: None | AbstractRulings = None#

The ruling pattern of this grating.

sag: None | AbstractSag = None#

The sag function of this grating.

serial_number: str = ''#

The serial number of this diffraction grating.

property surface: Surface#

Represent this object as an optika surface.

property transformation: AbstractTransformation#

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

translation: Quantity | AbstractCartesian3dVectorArray = <Quantity 0. mm>#

A transformation which can arbitrarily translate this object.

width_border: Quantity | AbstractScalar = <Quantity 0. mm>#

The nominal width of the border around the clear aperture.

width_border_inner: Quantity | AbstractScalar = <Quantity 0. mm>#

The width of the border on the narrow edge of the grating.

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

The yaw angle of this object.