PrimaryMirror#

class esis.optics.PrimaryMirror(sag: None | optika.sags.AbstractSag = None, num_folds: int = 0, width_clear: astropy.units.quantity.Quantity | named_arrays._scalars.scalars.AbstractScalar = <Quantity 0. mm>, width_border: astropy.units.quantity.Quantity | named_arrays._scalars.scalars.AbstractScalar = <Quantity 0. mm>, material: None | optika.materials._materials.AbstractMaterial = None, translation: astropy.units.quantity.Quantity | named_arrays._vectors.cartesian.vectors_cartesian_3d.AbstractCartesian3dVectorArray = <Quantity 0. mm>, pitch: astropy.units.quantity.Quantity | named_arrays._scalars.scalars.AbstractScalar = <Quantity 0. deg>, yaw: astropy.units.quantity.Quantity | named_arrays._scalars.scalars.AbstractScalar = <Quantity 0. deg>, roll: astropy.units.quantity.Quantity | named_arrays._scalars.scalars.AbstractScalar = <Quantity 0. deg>)#

Bases: AbstractPrimaryMirror

Attributes

material

num_folds

pitch

radius_clear

clear radius of the aperture from center to vertex

radius_mechanical

radius of the mechanical aperture from center to vertex

roll

sag

surface

transformation

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

translation

width_border

width_clear

yaw

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#
num_folds: int = 0#
pitch: Quantity | AbstractScalar = <Quantity 0. deg>#
property radius_clear: Quantity | AbstractScalar#

clear radius of the aperture from center to vertex

property radius_mechanical: Quantity | AbstractScalar#

radius of the mechanical aperture from center to vertex

roll: Quantity | AbstractScalar = <Quantity 0. deg>#
sag: None | AbstractSag = None#
property surface: 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>#
width_border: Quantity | AbstractScalar = <Quantity 0. mm>#
width_clear: Quantity | AbstractScalar = <Quantity 0. mm>#
yaw: Quantity | AbstractScalar = <Quantity 0. deg>#