System4f
- class raytracing.System4f(f1, f2, diameter1=inf, diameter2=inf, label='')
Bases:
MatrixGroupThe matrix group of a 4f system can be defined using this function.
- Parameters:
f1 (float) – The focal length of the first lens
f2 (float) – The focal length of the second lens
diameter1 (float) – The diameter of the first lens. This value must be positive. (default=+Inf)
diameter2 (float) – The diameter of the second lens. This value must be positive. (default=+Inf)
label (string) – The label for the 4f system
Methods
|
Inherited Methods
|
This function adds an element at the end of the path. |
|
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. |
|
Flip the orientation (forward-backward) of this group of elements. |
|
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. |
|
True if ImagingPath has at least one element of finite diameter |
|
This function is used to insert a matrix at a specific index. |
|
This function calculates the position and the magnification of the conjugate planes. |
|
A MatrixGroup saved with save() can be loaded using this function. |
|
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. |
|
Any points of interest for this matrix (focal points, principal planes etc...) |
|
This function is used to remove a matrix at a specific index. |
|
Positions of the input and output principal planes. |
|
|
|
A MatrixGroup can be saved using this function and loaded with load() |
|
|
|
Trace the input ray from first element until after the last element, indicating if the ray was blocked or not. |
|
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 transfer matrix between front edge and distance=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 finite diameter in all elements |
|