PrimaryMirror#

class esis.optics.PrimaryMirror(sag=None, num_folds=0, width_clear=<Quantity 0. mm>, width_border=<Quantity 0. mm>, material=None, translation=<Quantity 0. mm>, pitch=<Quantity 0. deg>, yaw=<Quantity 0. deg>, roll=<Quantity 0. deg>)[source]#

Bases: AbstractPrimaryMirror

A model of the primary mirror of the instrument.

This mirror collects light from the Sun and focuses it onto the field stop.

Attributes

material

The optical material composing this object.

num_folds

The order of the rotational symmetry of the optical system.

pitch

The pitch angle of this object.

radius_clear

The clear radius of the aperture from center to vertex.

radius_mechanical

The radius of the mechanical aperture from center to vertex.

roll

The roll angle of this object

sag

The sag function of this primary mirror.

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 width of the border around the clear aperture.

width_clear

The width of the clear aperture from edge to edge.

yaw

The yaw angle of this object.

Methods

__init__([sag, num_folds, width_clear, ...])

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

material: None | AbstractMaterial = None#

The optical material composing this object.

num_folds: int = 0#

The order of the rotational symmetry of the optical system. This is also the number of sides of the regular polygonal aperture.

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

The pitch angle of this object.

property radius_clear: Quantity | AbstractScalar#

The clear radius of the aperture from center to vertex.

Raises:

ValueError – If the number of sides is not an even number.

property radius_mechanical: Quantity | AbstractScalar#

The radius of the mechanical aperture from center to vertex.

Raises:

ValueError – If the number of sides is not an even number.

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

The roll angle of this object

sag: None | AbstractSag = None#

The sag function of this primary mirror.

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 width of the border around the clear aperture.

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

The width of the clear aperture from edge to edge.

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

The yaw angle of this object.