AbstractRulingSpacing#

class optika.rulings.AbstractRulingSpacing[source]#

Bases: Printable, Transformable, Shaped

An interface describing the instantaneous ruling spacing on the surface of a diffraction grating.

This is useful if you want to define a grating with variable line spacing.

Attributes

shape

The array shape of this object.

transformation

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

Methods

__init__()

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 optika.rulings.AbstractRulingSpacing
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

abstract property shape: dict[str, int]#

The array shape of this object.

abstract property transformation: None | AbstractTransformation#

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