Package xal.extension.jels.model.alg
Class ElsTracker
java.lang.Object
xal.model.alg.Tracker
xal.model.alg.EnvelopeTrackerBase
xal.model.alg.EnvelopeTracker
xal.extension.jels.model.alg.ElsTracker
- All Implemented Interfaces:
Remote
,IAlgorithm
,IArchive
,IContextAware
Propagation of probe as implemented in ELS.
- Author:
- Emanuele Laface, Ivo List <ivo.list@cosylab.com>
-
Nested Class Summary
Nested classes/interfaces inherited from class xal.model.alg.EnvelopeTrackerBase
EnvelopeTrackerBase.EmitGrowthModel, EnvelopeTrackerBase.PhasePlane
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Class<EnvelopeProbe>
probe type recognized by this algorithmstatic final String
string type identifier for algorithmstatic final int
current algorithm versionFields inherited from class xal.model.alg.EnvelopeTrackerBase
ATTR_EMITGROWTH, ATTR_SCHEFF, ATTR_STEPSIZE, ATTR_USEDCBEAM, ATTR_USESPACECHARGE, LABEL_OPTIONS, TBL_LBL_ENVBASETRACKER
Fields 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
ConstructorsModifierConstructorDescriptionCreates a new instance of EnvelopeTrackerprotected
ElsTracker
(String strType, int intVersion, Class<? extends IProbe> clsProbeType) Creates a new, empty, instance of EnvelopeTracker.protected
ElsTracker
(ElsTracker sourceTracker) Copy constructor for EnvelopeTracker -
Method Summary
Modifier and TypeMethodDescriptionprotected void
advanceState
(IProbe ifcProbe, IElement ifcElem, double dblLen) Advances the probe state through a subsection of the element with the specified length.copy()
Creates a deep copy of EnvelopeTrackervoid
doPropagation
(IProbe probe, IElement elem) Propagates the probe through the element.Methods inherited from class xal.model.alg.EnvelopeTrackerBase
compEmitGrowthFunction, compLongFourierTransform, compScheffMatrix, compTransFourierTransform, correctLongSigmaPhaseSpread, correctSigmaPhaseSpread, correctTransFocusingPhaseSpread, correctTransSigmaPhaseSpread, effPhaseSpread, fourierLong1dGaussian, fourierLong1dUniform, fourierLong3dGaussian, fourierLong3dUniform, fourierLongTrace3d, fourierTrans1dGaussian, fourierTrans1dUniform, fourierTrans3dGaussian, fourierTrans3dUniform, fourierTransTrace3d, getEmitGrowthModel, getEmittanceGrowth, getEmittanceGrowthFlag, getSpaceChargeFlag, getStepSize, getUseDCBeam, getUseSpacecharge, load, load, modTransferMatrixForEmitGrowth, phaseSpread, save, setEmitGrowthModel, setEmittanceGrowth, setStepSize, setUseDCBeam, setUseSpacecharge
Methods inherited from class xal.model.alg.Tracker
advanceProbe, getDebugMode, getElemPosition, getProbeType, getProbeUpdatePolicy, getRfGapPhaseCalculation, getStartElementId, getStopElementId, getType, getVersion, initialize, isStopElementIncluded, newFromEditContext, newFromEditContext, newInstance, propagate, registerProbeType, retractProbe, setDebugMode, setElemPosition, setIncludeStopElement, setProbeUpdatePolicy, setRfGapPhaseCalculation, setStartElementId, setStopElementId, unsetStartElementId, unsetStopElementId, validElement, validProbe
-
Field Details
-
TYPE_ID
string type identifier for algorithm -
VERSION
public static final int VERSIONcurrent algorithm version- See Also:
-
CLS_PROBE_TYPE
probe type recognized by this algorithm
-
-
Constructor Details
-
ElsTracker
public ElsTracker()Creates a new instance of EnvelopeTracker -
ElsTracker
Creates a new, empty, instance of EnvelopeTracker. This method is a protected constructor meant only for child classes.- Parameters:
strType
- string type identifier of algorithmintVersion
- version of algorithmclsProbeType
- class object for probe handled by this algorithm.
-
ElsTracker
Copy constructor for EnvelopeTracker- Parameters:
sourceTracker
- Tracker that is being copied
-
-
Method Details
-
copy
Creates a deep copy of EnvelopeTracker- Specified by:
copy
in interfaceIAlgorithm
- Overrides:
copy
in classEnvelopeTracker
-
doPropagation
Propagates the probe through the element.- Overrides:
doPropagation
in classEnvelopeTracker
- Parameters:
probe
- probe to propagateelem
- element acting on probe- Throws:
ModelException
- invalid probe type or error in advancing probe- See Also:
-
advanceState
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 classEnvelopeTracker
- Parameters:
ifcElem
- interface to the beam elementifcProbe
- interface to the probedblLen
- length of element subsection to advance- Throws:
ModelException
- bad element transfer matrix/corrupt probe state
-