gtrace.nonsequential

gtrace.nonsequential

A module to perform non-sequential trace of a beam in an optical system.

Attributes

__author__

__copyright__

__credits__

__license__

__version__

__maintainer__

__email__

__status__

Functions

non_seq_trace(optList, src_beam[, order, ...])

Perform non-sequential trace of the source beam, src_beam,

Module Contents

gtrace.nonsequential.__author__ = 'Yoichi Aso'
gtrace.nonsequential.__credits__ = ['Yoichi Aso']
gtrace.nonsequential.__license__ = 'BSD'
gtrace.nonsequential.__version__ = '0.8.0'
gtrace.nonsequential.__maintainer__ = 'Yoichi Aso'
gtrace.nonsequential.__email__ = 'asoy01@gmail.com'
gtrace.nonsequential.__status__ = 'Beta'
gtrace.nonsequential.non_seq_trace(optList, src_beam, order=10, power_threshold=0.1, open_beam_length=1.0)

Perform non-sequential trace of the source beam, src_beam, through the optical system represented by a collection of optics, optList.

Parameters:
  • optList (list of gtrace.optcomp.Optics) – List of optical components.

  • src_beam (gtrace.beam.GaussianBeam) – The source beam object.

  • order (int, optional) – Number of ghost reflections a beam may go through before it stops being followed. Every beam carries the count as its stray_order, and this function does not reset it when the beam leaves one element for the next, so the limit applies to the whole trace rather than to one element. An optics whose max_stray_order is set overrides this for itself, since how deep its ghosts are worth chasing is a property of the element rather than of the trace. Defaults to 10.

  • power_threshold (float, optional) – The power threshold for internal reflection calculation. If the power of an auxiliary beam falls below this threshold, further propagation of this beam will not be performed. Defaults to 0.1.

  • open_beam_length (float, optional) – The default length for beams that are not hitting anything. Defaults to 1.0.

Returns:

terminated_beam_list – A list of beams.

Return type:

list of gtrace.beam.GaussianBeam