Axicon
- class raytracing.Axicon(alpha, n, diameter=inf, label='')
Bases:
MatrixThis class is an advanced module that describes an axicon lens, not part of the basic formalism. Using this class an axicon conical lens can be presented. Axicon lenses are used to obtain a line focus instead of a point. The formalism is described in Kloos, sec. 2.2.3
- Parameters:
alpha (float) – alpha is the small angle in radians of the axicon (typically 2.5 or 5 degrees) corresponding to 90-apex angle
n (float) – index of refraction. This value cannot be less than 1.0. It is assumed the axicon is in air.
diameter (float) – Aperture of the element. (default = +Inf) The diameter of the aperture must be a positive value.
label (string) – The label of the axicon lens.
- deviationAngle()
This function provides deviation angle delta assuming that the axicon is in air and that the incidence is near normal, which is the usual way of using an axicon.
- Returns:
delta – the deviation angle
- Return type:
float
See also
https//ru.b-ok2.org/book/2482970/9062b7, p.48
- focalLineLength(yMax=None)
Provides the line length, assuming a ray at height yMax
- Parameters:
yMax (float) – the height of the ray (default=None) If no height is defined for the ray, then yMax would be set to the height of the axicon (apertureDiameter/2)
- Returns:
focalLineLength – the length of the focal line
- Return type:
float
See also
https//ru.b-ok2.org/book/2482970/9062b7, p.48
- property forwardSurfaces
A list of surfaces that represents the element for drawing purposes
- mul_beam(rightSideBeam)
This function calculates the multiplication of a coherent beam with complex radius of curvature q by an ABCD matrix. However it will raise an error in case the input is an axicon
- Parameters:
rightSideBeam (object from GaussianBeam class) – including the beam properties
- Returns:
outputBeam – The properties of the beam at the output of the system with the defined ABCD matrix
- Return type:
object from GaussianBeam class
- mul_ray(rightSideRay)
This function is used to calculate the output ray through an axicon.
- Parameters:
rightSideRay (object of ray class) – A ray with a defined height and angle.
- Returns:
outputRay – the height and angle of the output ray.
- Return type:
object of ray class
See also
Methods
|
|
This function provides deviation angle delta assuming that the axicon is in air and that the incidence is near normal, which is the usual way of using an axicon. |
|
|
Provides the line length, assuming a ray at height yMax |
|
This function calculates the multiplication of a coherent beam with complex radius of curvature q by an ABCD matrix. |
|
This function is used to calculate the output ray through an axicon. |
Inherited Methods
|
The focal lengths measured from the back vertex. |
|
With an image at the back edge of the element, where is the object ? Distance before the element by which a ray must travel to reach the conjugate plane at the back of the element. |
|
|
|
A reasonable height for display purposes for an element, whether it is infinite or not. |
|
The effective focal lengths calculated from the power (C) of the matrix. |
|
We flip the element around (as in, we turn a lens around front-back). |
|
This is the synonym of effectiveFocalLengths() |
|
Positions of both focal points on either side of the element. |
|
With an object at the front edge of the element, where is the image? Distance after the element by which a ray must travel to reach the conjugate plane of the front of the element. |
|
A simple method to obtain a MatrixGroup that includes all three matrices to travel from the front focus, through the lens, and then to the back focus. |
|
|
|
The focal lengths measured from the front vertex. |
|
If the system has a finite aperture size |
|
The magnification of the element |
|
This function is used to combine two elements into a single matrix. |
|
The optical invariant is a quantity that is conserved for any two rays in the system. |
|
Any points of interest for this matrix (focal points, principal planes etc...) |
|
Positions of the input and output principal planes. |
|
|
|
|
|
The ray matrix formalism, through multiplication of a ray by a matrix, will give the correct ray but will never consider apertures. |
|
This function trace each ray from a group of rays from front edge of element to the back edge. |
|
This function trace each ray from a group of rays from front edge of element to the back edge. |
|
This function trace each ray from a group of rays from front edge of element to the back edge. |
|
This function trace each ray from a list or a Rays() distribution from front edge of element to the back edge. |
|
This is an advanced technique to gain from parallel computation: it is the same as traceManyThrough(), but splits this call in several other parallel processes using the multiprocessing module, which is os-independent. |
|
Contrary to trace(), this only returns the last ray. |
|
The list of Matrix() that corresponds to the propagation through this element (or group). |
|
The Matrix() that corresponds to propagation from the edge of the element (z=0) up to distance "upTo" (z=upTo). |
Attributes
|
|
|
The determinant of the ABCD matrix is always frontIndex/backIndex, which is often 1.0. |
A list of surfaces that represents the element for drawing purposes |
|
|
If True, then there is a non-null focal length because C!=0. |
|
|
|
If B=0, then the matrix represents that transfer from a conjugate plane to another (i.e. object at the front edge and image at the back edge). |
|
Largest diameter for a group of elements |
|