Package xal.model.alg

Class ParticleTracker

java.lang.Object
xal.model.alg.Tracker
xal.model.alg.ParticleTracker
All Implemented Interfaces:
Remote, IAlgorithm, IArchive, IContextAware

public class ParticleTracker extends Tracker
Algorithm for tracking a single particle, represented by the class ParticleProbe through a XAL modeling element, represented by an object exposing the IComponent interface.
Author:
Christopher K. Allen, Craig McChesney
  • Field Details

    • TYPE_ID

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

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

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

    • ParticleTracker

      public ParticleTracker()
      Creates a new instance of ParticleTracker
    • ParticleTracker

      public ParticleTracker(ParticleTracker sourceTracker)
      Copy constructor for ParticleTracker
      Parameters:
      sourceTracker - Tracker that is being copied
  • Method Details

    • copy

      public ParticleTracker copy()
      Create a deep copy of ParticleTracker
    • doPropagation

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

      protected void advanceState(ParticleProbe probe, IElement elem, double dblLen) throws ModelException
      Advances the probe state through the element.
      Parameters:
      probe - probe being modified
      elem - element acting on probe
      dblLen - length of element to advance
      Throws:
      ModelException - bad element transfer matrix/corrupt probe state