finesse.tracing.ctracer.TraceTree
¶
Overview
- class finesse.tracing.ctracer.TraceTree(node, dependency)¶
Bases:
object
A binary tree data structure representing all the beam tracing paths from some root optical node of a model.
Each instance of this class has a left and right sub-tree (of the class type) and a parent tree. These linked tree attributes can be None. If the tree has a left / right sub-tree then the memoryviews left_abcd_x, left_abcd_y etc. will be initialised from the numerical ABCD matrix from the tree’s optical node to the next tree’s optical node.
Every sub-tree has a dependency attribute which is the object that the trace tree depends on - either a
Cavity
or aGauss
instance.
Methods
|
|
|
Add a left sub-tree to the tree. |
|
Add a right sub-tree to the tree. |
|
|
|
|
|
|
|
|
|
|
|
Construct a TraceTree from a cavity instance. |
|
Construct a TraceTree from an optical node root. |
|
Construct a TraceTree from a list of optical nodes. |
|
|
|
|
|
|
|
Trace the beam through the tree, placing the beam parameter entries at each node in the trace dict. |