CentralObscuration#

class esis.optics.CentralObscuration(num_folds=0, halfwidth=<Quantity 0. mm>, remove_last_vertex=False, translation=<Quantity 0. mm>)[source]#

Bases: AbstractCentralObscuration

A model of the central obscuration, also known as the Tuffet.

This obscures the central portion of the primary mirror to hold the diffraction gratings.

Attributes

halfwidth

The distance from the center to the edge of the obscuration.

num_folds

The order of the rotational symmetry of the optical system.

radius

The distance from the center to a vertex of the obscuration.

remove_last_vertex

A flag controlling whether the last vertex should be removed.

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.

Methods

__init__([num_folds, halfwidth, ...])

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.CentralObscuration
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

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

The distance from the center to the edge of the obscuration.

num_folds: int = 0#

The order of the rotational symmetry of the optical system.

property radius: Quantity | AbstractScalar#

The distance from the center to a vertex of the obscuration.

remove_last_vertex: bool = False#

A flag controlling whether the last vertex should be removed.

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.