Package xal.model.alg

Class TrackerAdaptive

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

@Deprecated public abstract class TrackerAdaptive extends Tracker
Deprecated.
functionality pushed down into child class class EnvTrackerAdapt
Common abstract superclass for the adaptive tracker algorithms
  • Field Details

    • NODETAG_ADAPT

      public static final String NODETAG_ADAPT
      Deprecated.
      data node label for EnvTrackerAdapt settings
      See Also:
    • ATTRTAG_ORDER

      public static final String ATTRTAG_ORDER
      Deprecated.
      attribute label for order of accuracy in algorithm
      See Also:
    • ATTRTAG_MAXSTEP

      public static final String ATTRTAG_MAXSTEP
      Deprecated.
      attribute label for maximum step size
      See Also:
    • ATTRTAG_MAXSTEP_DRIFTPMQ

      public static final String ATTRTAG_MAXSTEP_DRIFTPMQ
      Deprecated.
      attribute label for maximum step size for drift space with pmq , sako 21 jul 06
      See Also:
    • ATTRTAG_INITSTEP

      public static final String ATTRTAG_INITSTEP
      Deprecated.
      attribute label for initial step size
      See Also:
    • ATTRTAG_ERRTOL

      public static final String ATTRTAG_ERRTOL
      Deprecated.
      attribute label for error tolerance
      See Also:
    • ATTRTAG_SLACK

      public static final String ATTRTAG_SLACK
      Deprecated.
      attribute label for slack tolerance
      See Also:
    • ATTRTAG_NORM

      public static final String ATTRTAG_NORM
      Deprecated.
      attribute label for residual norm
      See Also:
    • ATTRTAG_MAXITER

      public static final String ATTRTAG_MAXITER
      Deprecated.
      attribute label for maximum iteration count
      See Also:
    • dblMaxStep

      protected double dblMaxStep
      Deprecated.
      Maximum distance we may travel before requiring another space charge kick. If zero than stepping distance is not bound.
    • dblMaxStepDriftPmq

      protected double dblMaxStepDriftPmq
      Deprecated.
      dbleMaxStep for drift field from PMQ
    • dblStepSize

      protected double dblStepSize
      Deprecated.
      The current step size.
    • dblErrTol

      protected double dblErrTol
      Deprecated.
      Residual error tolerance parameter. Errors in the the residual between a full step and half step can be no larger than this.
    • dblSlack

      protected double dblSlack
      Deprecated.
      Step size adjustment slack tolerance. If adjustments in the step size are less than this percentage, we take special action.
    • enmNorm

      protected int enmNorm
      Deprecated.
      The type of Lebesque norm used in the residual calculations. Since the residual is a matrix in R7x7 this is a matrix norm.
  • Constructor Details

    • TrackerAdaptive

      protected TrackerAdaptive(String strType, int intVersion, Class<? extends IProbe> clsProbeType)
      Deprecated.
      Parameters:
      strType -
      intVersion -
      clsProbeType -
  • Method Details

    • initializeFromEditContext

      public void initializeFromEditContext(String locationID, AcceleratorSeq sequence)
      Deprecated.
      Load the sequence's model parameters for the adaptive tracker from the edit context.
      Parameters:
      locationID - The location ID of the entrance parameters to use
      sequence - The sequence for which to get the adaptive tracker parameters.
    • supportsConditionalTermination

      public abstract boolean supportsConditionalTermination()
      Deprecated.
      Determine whether this algorithm supports the optional accuracy odrer and maximum iteration methods.
      Returns:
      true if the optional methods are supported and false if not.
    • setAccuracyOrder

      public abstract void setAccuracyOrder(int intOrder)
      Deprecated.
      Set the integration accuracy order for the underlying stepping algorithm. For example, when using a second-order accurate algorithm the residual error is of the order h^2 where h is the step size.
      Parameters:
      intOrder - integration order
    • setMaxStepSize

      public void setMaxStepSize(double dblMaxStep)
      Deprecated.
      Set the maximum allowable step size. If this value is set then the step sizing algorithm will never generate steps larger than the provided value regardless of the residual error. If this value is cleared to zero, then the step size is unbound.
      Parameters:
      dblMaxStep - maximum allowable step size in meters
    • setInitStepSize

      public void setInitStepSize(double stepSize)
      Deprecated.
      Sets the integration step size to be used at the beginning of the algorithm or after initialize() is called.
      Parameters:
      stepSize - step size to be used after algorithm initialization
      Since:
      Aug 20, 2012
    • setMaxStepSizeDriftPmq

      public void setMaxStepSizeDriftPmq(double dblMaxStepDriftPmq)
      Deprecated.
      Set the maximum allowable step size. If this value is set then the step sizing algorithm will never generate steps larger than the provided value regardless of the residual error. If this value is cleared to zero, then the step size is unbound.
      Parameters:
      dblMaxStepDriftPmq - maximum allowable step size in meters
    • setMaxIterations

      public abstract void setMaxIterations(int intMaxIter)
      Deprecated.
      Sets the maximum allowable number of steps to propagate a probe through an element. If the number of steps increases beyond this number a race condition is assumed and an exception is thrown during the propagation. If the value is zero then no maximum step count is enforced.
      Parameters:
      intMaxIter - maximum allowable single-element step count
    • setErrorTolerance

      public void setErrorTolerance(double dblErr)
      Deprecated.
      Set the acceptable error in the residual correlation matrix. The residual correlation matrix is determined by going a full step, then two half step and taking the difference in the resulting correlation matrices. The step size is continually adjusted to keep the resulting residual error at or about this given tolerance value. Thus, yield a more accurate solution however they also result in small step sizes.
      Parameters:
      dblErr - acceptable residual error
    • setSlackTolerance

      public void setSlackTolerance(double dblSlack)
      Deprecated.
      Set the slack size in the adaptive step size determination. That is, if the suggested new step size differs only by this percentage, then no action is taken. Explicitly, if the new step size lies in the interval [h-dblSlack, h+dblSlack], then nothing is done. This feature prevents excessive micro-management of the step size.
      Parameters:
      dblSlack - size of the slack region in meters
    • setStepSize

      public void setStepSize(double dblStepSize)
      Deprecated.
      Set the initial step size for applying space charge corrections. Note that the step size will be modified as the algorithm progresses according to the adaptation rule.
      Parameters:
      dblStepSize - initial step size in meters
    • setMatrixNorm

      public void setMatrixNorm(int enmNorm)
      Deprecated.
      Set the type of Lebesque norm used in the matrix calculations.
      Parameters:
      enmNorm - enumeration constant of family EnvTrackerAdapt.NORM_*
    • getAccuracyOrder

      public abstract int getAccuracyOrder()
      Deprecated.
      Get the current accuracy order of the space charge stepping algorithm.
      Returns:
      order of the integration algorithm accuracy
      See Also:
    • getStepSize

      public double getStepSize()
      Deprecated.
      Return the current step size.
      Returns:
      the current step size in meters
    • getMaxStepSize

      public double getMaxStepSize()
      Deprecated.
      Return the maximum allowable step size. The step sizing algorithm is bound by this value, or unbounded if zero.
      Returns:
      maximum allowable step size in meters
    • getMaxStepSizeDriftPmq

      public double getMaxStepSizeDriftPmq()
      Deprecated.
      Return the maximum allowable step size. The step sizing algorithm is bound by this value, or unbounded if zero.
      Returns:
      maximum allowable step size in meters
    • getMaxIterations

      public abstract int getMaxIterations()
      Deprecated.
      Return the maximum allowable number of steps to propagate a probe through an element. If the number of steps increases beyond this number a race condition is assumed and an exception is thrown during the propagation. If the value is zero then no maximum step count is enforced.
      Returns:
      maximum allowable step count while propagating thru a single element
    • getErrorTolerance

      public double getErrorTolerance()
      Deprecated.
      Return the acceptable tolerance in the residual error between a full step and two half steps.
      Returns:
      tolerable residual error
    • getSlackTolerance

      public double getSlackTolerance()
      Deprecated.
      Step size adjustment slack tolerance. If adjustments in the step size are less than this percentage, we do nothing.
      Returns:
      size of the slack region in meters
    • getMatrixNorm

      public int getMatrixNorm()
      Deprecated.
      Get the type of Lebesque norm used for matrices.
      Returns:
      0 for l-inf norm, 1 for l-1 norm, 2 for l2 norm
    • getInitStepSize

      public double getInitStepSize()
      Deprecated.
      Returns the integration step size used at the initialization of the algorithm.
      Returns:
      step size used after call to initialize()
      Since:
      Aug 20, 2012, 21 jul 07
    • initialize

      public void initialize()
      Deprecated.
      Resets the state of the algorithm object.
      Specified by:
      initialize in interface IAlgorithm
      Overrides:
      initialize in class Tracker
      Since:
      Aug 20, 2012
      See Also: