Space
- class raytracing.Space(d, n=1, diameter=inf, label='')
Bases:
MatrixFree space of length d
- Parameters:
d (float) – the length of the free space
n (float) – The refraction index of the space. This value cannot be negative. (default=1)
diameter (float) – The diameter of the free space (default=Inf)
label (string) – The label of the free space
Examples
>>> from raytracing import * >>> #define a free space of length 3, refraction index 1 and diameter 20 >>> S=Space(d=3,n=1,diameter=20,label='free space') >>> print(S) #print to see the transfer matrix of free space | 1.000 3.000 | | | | 0.000 1.000 | f = +inf (afocal)
- transferMatrix(upTo=inf)
Returns a Matrix() corresponding to a partial propagation if the requested distance is smaller than the length of this element
- Parameters:
upTo (float) – The length of the propagation (default=Inf)
- Returns:
transferMatrix – the corresponding matrix to the propagation
- Return type:
object of class Matrix
Methods
|
|
|
Returns a Matrix() corresponding to a partial propagation if the requested distance is smaller than the length of this element |
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 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...) |
|
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). |
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 |
|