finesse.model.Model.trace_order¶
- property Model.trace_order¶
A list of beam tracing dependencies, ordered by their tracing priority.
Dependency (i.e.
CavityandGauss) 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.priorityvalue. Any dependencies which have equalTraceDependency.priorityvalue are sorted alphabetically according to their names.Please be aware that this means if no priority values have been given to any
TraceDependencyinstance 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
Cavityobjects 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
Cavityobjects 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 theorderargument 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.