Lens
- class raytracing.Lens(f, diameter=inf, label='')
Bases:
MatrixA thin lens of focal f, null thickness and infinite or finite diameter
- Parameters:
f (float) – The focal length of the lens
diameter (float) – The diameter (default=Inf)
label (string) – The label of the lens
Examples
>>> from raytracing import * >>> #define a lens with f=5 and diameter 20 >>> L=Lens(f=5,diameter=20,label='Lens') >>> print(L) #print the transfer matrix of the lens | 1.000 0.000 | | | | -0.200 1.000 | f=5.000
- displayHalfHeight()
A reasonable height for display purposes for an element, whether it is infinite or not. If the element is infinite, the half-height is currently set to ‘4’ or to the specified minimum half height. If not, it is the apertureDiameter/2.
- Returns:
halfHeight – The half height of the optical element
- Return type:
float
- property forwardSurfaces
A list of surfaces that represents the element for drawing purposes
For a thin lens, obviously the user does not worry about the details of the lens, because they only provide the focal length. We compute a reasonable radius of curvature and provide
- property largestDiameter
Largest diameter for a group of elements
- Returns:
LargestDiameter – Largest diameter of the element or group of elements. For a Matrix this will simply be the aperture diameter of this element.
- Return type:
float
- pointsOfInterest(z)
List of points of interest for this element as a dictionary:
- Parameters:
z (float) – Position of the lens
- Returns:
pointsOfInterest – List of points of interest for the input element
- Return type:
List
Methods
|
|
A reasonable height for display purposes for an element, whether it is infinite or not. |
|
List of points of interest for this element as a dictionary: |
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. |
|
|
|
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 calculates the multiplication of a coherent beam with complex radius of curvature q by an ABCD matrix. |
|
This function is used to combine two elements into a single matrix. |
|
This function does the multiplication of a ray by a matrix. |
|
The optical invariant is a quantity that is conserved for any two rays in the system. |
|
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 |
|
|