Class ElsTracker

All Implemented Interfaces:
Remote, IAlgorithm, IArchive, IContextAware

public class ElsTracker extends EnvelopeTracker
Propagation of probe as implemented in ELS.
Author:
Emanuele Laface, Ivo List <ivo.list@cosylab.com>
  • Field Details

    • TYPE_ID

      public static final String TYPE_ID
      string type identifier for algorithm
    • VERSION

      public static final int VERSION
      current algorithm version
      See Also:
    • CLS_PROBE_TYPE

      public static final Class<EnvelopeProbe> CLS_PROBE_TYPE
      probe type recognized by this algorithm
  • Constructor Details

    • ElsTracker

      public ElsTracker()
      Creates a new instance of EnvelopeTracker
    • ElsTracker

      protected ElsTracker(String strType, int intVersion, Class<? extends IProbe> clsProbeType)
      Creates a new, empty, instance of EnvelopeTracker. This method is a protected constructor meant only for child classes.
      Parameters:
      strType - string type identifier of algorithm
      intVersion - version of algorithm
      clsProbeType - class object for probe handled by this algorithm.
    • ElsTracker

      protected ElsTracker(ElsTracker sourceTracker)
      Copy constructor for EnvelopeTracker
      Parameters:
      sourceTracker - Tracker that is being copied
  • Method Details

    • copy

      public ElsTracker copy()
      Creates a deep copy of EnvelopeTracker
      Specified by:
      copy in interface IAlgorithm
      Overrides:
      copy in class EnvelopeTracker
    • doPropagation

      public void doPropagation(IProbe probe, IElement elem) throws ModelException
      Propagates the probe through the element.
      Overrides:
      doPropagation in class EnvelopeTracker
      Parameters:
      probe - probe to propagate
      elem - element acting on probe
      Throws:
      ModelException - invalid probe type or error in advancing probe
      See Also:
    • advanceState

      protected void advanceState(IProbe ifcProbe, IElement ifcElem, double dblLen) throws ModelException
      Advances the probe state through a subsection of the element with the specified length. Applies a space charge kick at the end of the element subsection for any probe having nonzero beam current.
      Overrides:
      advanceState in class EnvelopeTracker
      Parameters:
      ifcElem - interface to the beam element
      ifcProbe - interface to the probe
      dblLen - length of element subsection to advance
      Throws:
      ModelException - bad element transfer matrix/corrupt probe state