ConstantDensity

class kgpy.optics.rulings.ConstantDensity(diffraction_order=<Quantity 1.>, ruling_density=<Quantity 0. 1 / mm>)

Bases: Ruling

Parameters:
__init__(diffraction_order=<Quantity 1.>, ruling_density=<Quantity 0. 1 / mm>)
Parameters:
Return type:

None

Attributes

broadcasted

diffraction_order

ruling_density

ruling_spacing

shape

Methods

__init__([diffraction_order, ruling_density])

copy()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

copy_shallow()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

diffraction_angle(wavelength, input_angle)

rtype:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

effective_input_direction(input_vector)

rtype:

kgpy.vectors.Cartesian3D

effective_input_index(input_vector)

rtype:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

effective_input_vector(ray[, material])

rtype:

kgpy.vectors.Cartesian3D

normal(position)

rtype:

kgpy.vectors.Cartesian3D

wavelength_from_angles(input_angle, output_angle)

rtype:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

Inheritance Diagram

digraph inheritancee5dde59e66 { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "abc.ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "kgpy.mixin.Broadcastable" [URL="kgpy.mixin.Broadcastable.html#kgpy.mixin.Broadcastable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Class to help with determining the shape of the optical configuration."]; "kgpy.mixin.Copyable" [URL="kgpy.mixin.Copyable.html#kgpy.mixin.Copyable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "abc.ABC" -> "kgpy.mixin.Copyable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.optics.rulings.ConstantDensity" [URL="kgpy.optics.rulings.ConstantDensity.html#kgpy.optics.rulings.ConstantDensity",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="ConstantDensity(diffraction_order: Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 1.>, ruling_density: Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm>)"]; "kgpy.optics.rulings.Ruling" -> "kgpy.optics.rulings.ConstantDensity" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.optics.rulings.Ruling" [URL="kgpy.optics.rulings.Ruling.html#kgpy.optics.rulings.Ruling",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "kgpy.mixin.Broadcastable" -> "kgpy.optics.rulings.Ruling" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Copyable" -> "kgpy.optics.rulings.Ruling" [arrowsize=0.5,style="setlinewidth(0.5)"]; "abc.ABC" -> "kgpy.optics.rulings.Ruling" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
copy()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

copy_shallow()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

diffraction_angle(wavelength, input_angle)
Return type:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

Parameters:
classmethod effective_input_direction(input_vector)
Return type:

kgpy.vectors.Cartesian3D

Parameters:

input_vector (Cartesian3D) –

classmethod effective_input_index(input_vector)
Return type:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

Parameters:

input_vector (Cartesian3D) –

effective_input_vector(ray, material=None)
Return type:

kgpy.vectors.Cartesian3D

Parameters:
normal(position)
Return type:

kgpy.vectors.Cartesian3D

Parameters:

position (Cartesian3D) –

wavelength_from_angles(input_angle, output_angle)
Return type:

typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray]

Parameters:
property broadcasted
diffraction_order: typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 1.>
ruling_density: typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm>
property ruling_spacing: int | float | ndarray | Quantity | AbstractArray | AbstractArray
property shape