Package xal.model.alg

Class EnsembleTracker

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

public class EnsembleTracker extends Tracker
Implements the tracking mechanism for EnsembleProbe objects. TODO not finished!
Author:
Christopher Allen, Craig McChesney
  • 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<EnsembleProbe> CLS_PROBE_TYPE
      probe type recognized by this algorithm
  • Constructor Details

    • EnsembleTracker

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

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

    • copy

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

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

      protected int compStepCount(IElement elem)
      Returns the number of subsections to break the specified element in to for propagation. Currently returns the ceiling of the element length divided by the space charge interval. This should be re-evaluated when the ensemble algorithm is fleshed out.
      Parameters:
      elem - Element currently acting on probe
      Returns:
      ceiling of element length divided by space charge interval
    • advanceState

      protected void advanceState(IProbe probe, IElement elem, double dblLen) throws ModelException
      Throws:
      ModelException