AchromatDoubletLens
- class raytracing.AchromatDoubletLens(fa, fb, R1, R2, R3, tc1, tc2, te, diameter, n1=None, n2=None, mat1=None, mat2=None, wavelengthRef=None, url=None, label='', wavelength=None)
Bases:
CompoundLensGeneral Achromat doublet lens with an effective focal length of fa, back focal length of fb. The values fa and fb are used to validate the final focal lengths and back focal lengths that are obtained from the combination of elements. Most manufacturer’s specifiy 1% tolerance, so if fa is more than 1% different from the final focal length, a warning is raised.
- Parameters:
fa (float) – The effective focal length
fb (float) – The back focal length
R1 (float) – The first radius
R2 (float) – The second radius
R3 (float) – The third radius
tc1 (float) – The first center thickness
tc2 (float) – The second center thickness
te (float) – The edge thickness
n1 (float) – The refraction index of the first material
n2 (float) – The refractive index of the second material
diameter (float) – The diameter of the lens
mat1 (object of Matrix class) – The transfer matrix of the first lens
mat2 (object of Matrix class) – The transfer matrix of the second lens
wavelengthRef (float) – The defined wavelength
url (string) – A link to find more info for the lens
label (string) – The name of the lens
Notes
Nomenclature from Thorlabs: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=120
With Edmund optics, the sign of the various radii can change depending on some of the components (i.e. PN_85_877 for instance)
- property forwardSurfaces: List[Interface]
A list of surfaces that represents the element for drawing purposes
Methods
|
A base class for any lens that we make from its individual elements |
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() |
|
The chromatic aberration shifts to the focal distance from the design focal length for a range of wavelengths. |
|
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. |
|
List of points of interest for this element as a dictionary: |
|
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() |
|
Show the chromatic aberrations focal shifts for this lens as obtained from the function focalShifts() |
|
|
|
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 |
|