Package xal.model.alg
Class ParticleTracker
java.lang.Object
xal.model.alg.Tracker
xal.model.alg.ParticleTracker
- All Implemented Interfaces:
Remote
,IAlgorithm
,IArchive
,IContextAware
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final Class<ParticleProbe>
probe type recognized by this algorithmstatic final String
string type identifier for this algorithmstatic final int
current version of this algorithmFields inherited from class xal.model.alg.Tracker
ATTRTAG_DEBUG, ATTRTAG_RFGAP_PHASE, ATTRTAG_TYPE, ATTRTAG_UPDATE, ATTRTAG_VER, NODETAG_ALG, NODETAG_TRACKER, TBL_LBL_ALGORITHM, TBL_PRIM_KEY_NAME, UPDATE_ALWAYS, UPDATE_CUSTOM, UPDATE_ENTRANCE, UPDATE_ENTRANCEANDEXIT, UPDATE_EXIT
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance of ParticleTrackerParticleTracker
(ParticleTracker sourceTracker) Copy constructor for ParticleTracker -
Method Summary
Modifier and TypeMethodDescriptionprotected void
advanceState
(ParticleProbe probe, IElement elem, double dblLen) Advances the probe state through the element.copy()
Create a deep copy of ParticleTrackervoid
doPropagation
(IProbe iProbe, IElement elem) Propagates the probe through the element.Methods inherited from class xal.model.alg.Tracker
advanceProbe, getDebugMode, getElemPosition, getProbeType, getProbeUpdatePolicy, getRfGapPhaseCalculation, getStartElementId, getStopElementId, getType, getVersion, initialize, isStopElementIncluded, load, load, newFromEditContext, newFromEditContext, newInstance, propagate, registerProbeType, retractProbe, save, setDebugMode, setElemPosition, setIncludeStopElement, setProbeUpdatePolicy, setRfGapPhaseCalculation, setStartElementId, setStopElementId, unsetStartElementId, unsetStopElementId, validElement, validProbe
-
Field Details
-
TYPE_ID
string type identifier for this algorithm -
VERSION
public static final int VERSIONcurrent version of this algorithm- See Also:
-
CLS_PROBE_TYPE
probe type recognized by this algorithm
-
-
Constructor Details
-
ParticleTracker
public ParticleTracker()Creates a new instance of ParticleTracker -
ParticleTracker
Copy constructor for ParticleTracker- Parameters:
sourceTracker
- Tracker that is being copied
-
-
Method Details
-
copy
Create a deep copy of ParticleTracker -
doPropagation
Propagates the probe through the element.- Specified by:
doPropagation
in classTracker
- Parameters:
iProbe
- probe to propagateelem
- 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 modifiedelem
- element acting on probedblLen
- length of element to advance- Throws:
ModelException
- bad element transfer matrix/corrupt probe state
-