finesse.model.Model.trace_order¶
- property Model.trace_order¶
A list of beam tracing dependencies, ordered by their tracing priority.
Dependency (i.e.
Cavity
andGauss
) 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 equalTraceDependency.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 theorder
argument for this method call.To override this ordering for a simulation, one should use the
"order"
keyword argument ofModel.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.