finesse.model.Model.trace_order

property Model.trace_order

A list of beam tracing dependencies, ordered by their tracing priority.

Dependency (i.e. Cavity and Gauss) objects are ordered in this list according to the priority in which they will be traced during the beam tracing routine.

This ordering is strictly defined as follows:

Dependencies will be sorted in order of descending TraceDependency.priority value. Any dependencies which have equal TraceDependency.priority value are sorted alphabetically according to their names.

Please be aware that this means if no priority values have been given to any TraceDependency instance in the model, as is the default when creating these objects, then this trace order list is simply sorted alphabetically by the dependency names.

Note

Regardless of their positions in this list, the internal traces of Cavity objects will always be performed first. Internal cavity traces are defined as the traces which propagate the cavity eigenmode through all the nodes of the cavity path.

Importantly, however, the order in which Cavity objects appear in this trace order list will also determine the order in which their internal traces are performed. This is relevant only for when there are overlapping cavities in the model - recycling cavities in dual-recycled Michelson interferometer configurations are a typical case of this.

As always see Model.beam_trace() and Tracing the beam for more details on the inner workings of the beam tracing routines.

Temporary overriding of this order for a given Model.beam_trace() call can be performed by specifying the order argument for this method call.

To override this ordering for a simulation, one should use the "order" keyword argument of Model.sim_trace_config_manager() to temporarily use any arbitrary dependency order within a context.

Getter:

Returns a list giving the order in which dependencies will be traced. Read-only.