CubicPolySpacing¶
- class kgpy.optics.rulings.CubicPolySpacing(diffraction_order=<Quantity 1.>, ruling_density=<Quantity 0. 1 / mm>, ruling_spacing_linear=<Quantity 0.>, ruling_spacing_quadratic=<Quantity 0. 1 / mm>, ruling_spacing_cubic=<Quantity 0. 1 / mm2>)¶
Bases:
ConstantDensity- Parameters:
diffraction_order (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_density (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_linear (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_quadratic (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_cubic (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
- __init__(diffraction_order=<Quantity 1.>, ruling_density=<Quantity 0. 1 / mm>, ruling_spacing_linear=<Quantity 0.>, ruling_spacing_quadratic=<Quantity 0. 1 / mm>, ruling_spacing_cubic=<Quantity 0. 1 / mm2>)¶
- Parameters:
diffraction_order (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_density (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_linear (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_quadratic (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
ruling_spacing_cubic (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
- Return type:
None
Attributes
Methods
__init__([diffraction_order, ...])copy()- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
diffraction_angle(wavelength, input_angle)effective_input_direction(input_vector)- rtype:
effective_input_index(input_vector)effective_input_vector(ray[, material])- rtype:
normal(position)- rtype:
wavelength_from_angles(input_angle, output_angle)Inheritance Diagram
digraph inheritancedb9d5dea09 { 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.CubicPolySpacing" [URL="kgpy.optics.rulings.CubicPolySpacing.html#kgpy.optics.rulings.CubicPolySpacing",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="CubicPolySpacing(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>, ruling_spacing_linear: Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 0.>, ruling_spacing_quadratic: Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm>, ruling_spacing_cubic: Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm2>)"]; "kgpy.optics.rulings.ConstantDensity" -> "kgpy.optics.rulings.CubicPolySpacing" [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:
self (ConstantDensityT) –
wavelength (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
input_angle (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
- classmethod effective_input_direction(input_vector)¶
- Return type:
- 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:
- Parameters:
- normal(position)¶
- Return type:
- Parameters:
self (CubicPolySpacingT) –
position (Cartesian2D) –
- 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:
self (ConstantDensityT) –
input_angle (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
output_angle (int | float | ndarray | Quantity | AbstractArray | AbstractArray) –
- 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¶
-
ruling_spacing_cubic:
typing.Union[int,float,numpy.ndarray,astropy.units.quantity.Quantity,kgpy.labeled.AbstractArray,kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm2>¶
-
ruling_spacing_linear:
typing.Union[int,float,numpy.ndarray,astropy.units.quantity.Quantity,kgpy.labeled.AbstractArray,kgpy.uncertainty.AbstractArray] = <Quantity 0.>¶
-
ruling_spacing_quadratic:
typing.Union[int,float,numpy.ndarray,astropy.units.quantity.Quantity,kgpy.labeled.AbstractArray,kgpy.uncertainty.AbstractArray] = <Quantity 0. 1 / mm>¶
- property shape¶