finesse.tracing.tree.TraceTree¶
Overview
- class finesse.tracing.tree.TraceTree(node, dependency)[source]¶
 Bases:
objectA 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
Cavityor aGaussinstance.
Methods
  | 
|
  | 
Add a left sub-tree to the tree.  | 
  | 
Add a right sub-tree to the tree.  | 
  | 
|
  | 
Whether the tree contains the specified object, determined recursively.  | 
  | 
|
  | 
Recursively search for the TraceTree corresponding to the optical node.  | 
  | 
Construct a TraceTree from a cavity instance.  | 
  | 
Construct a TraceTree from an optical node root.  | 
  | 
Construct a TraceTree from a list of optical nodes.  | 
  | 
Retrieve a set consisting of all the   | 
Retrieve a list of each TraceTree, from here, which is changing.  | 
|
Retrieves a list of the final input optical nodes within the tree.  | 
|
Finds the final left sub-tree from this tree node.  | 
|
Obtain a list of all the node couplings corresponding to self-reflections.  | 
|
  | 
|
  | 
|
  | 
Removes the left sub-tree and returns it.  | 
  | 
Removes the right sub-tree and returns it.  | 
  | 
Set the left ABCD matrix memory-views from the target function.  | 
  | 
Set the left ABCD matrix memory-views from the target function.  | 
  | 
Set the right ABCD matrix memory-views from the target function.  | 
  | 
Set the right ABCD matrix memory-views from the target function.  | 
  | 
Trace the beam through the source tree.  | 
  | 
Trims branches from the tree starting at any optical node in nodes.  |