AbstractRulings#
- class optika.rulings.AbstractRulings[source]#
-
Interface for the interaction of a ruled surface with incident light
Attributes
the diffraction order to simulate
The array shape of this object.
Spacing between adjacent rulings at the given position.
A normalized version of
spacingthat is guaranteed to be an instance ofoptika.rulings.AbstractRulingSpacing.Methods
__init__()efficiency(rays, normal)The fraction of light that is diffracted into a given order.
incident_effective(rays, normal)Compute the effective propagation direction of the given rays using
incident_effective().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

- abstractmethod efficiency(rays, normal)[source]#
The fraction of light that is diffracted into a given order.
- Parameters:
rays (RayVectorArray) – The light rays incident on the rulings
normal (AbstractCartesian3dVectorArray) – The vector normal to the surface on which the rulings are placed.
- Return type:
- incident_effective(rays, normal)[source]#
Compute the effective propagation direction of the given rays using
incident_effective().- Parameters:
rays (RayVectorArray) – The light rays incident on the rulings
normal (AbstractCartesian3dVectorArray) – The vector normal to the surface on which the rulings are placed.
- Return type:
- 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.
- abstract property diffraction_order: int | AbstractScalar#
the diffraction order to simulate
- abstract property spacing: Quantity | AbstractScalar | AbstractRulingSpacing#
Spacing between adjacent rulings at the given position.
- property spacing_: AbstractRulingSpacing#
A normalized version of
spacingthat is guaranteed to be an instance ofoptika.rulings.AbstractRulingSpacing.