The data structures, and related algorithms, which form the basis of the beam tracing library.

Details on each class, method and function in this sub-module are provided mostly for developers. Users should refer to Tracing the beam for details on beam tracing, Model.beam_trace() for the main method through which beam traces can be performed on a model and for the various beam propagation tools which the beam tracing library provides.



A container structure which stores multiple TraceTree instances.

TraceTree(node, dependency)

A binary tree data structure representing all the beam tracing paths from some root optical node of a model.


get_last_left_branch(TraceTree tree)

is_abcd_changing(object[, )

update_rt_abcd(TraceTree tree, double[, , ...)

update_single_rt_abcd(TraceTree tree, ...)