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 Stringstring type identifier for algorithmstatic final intcurrent algorithm versionFields inherited from class xal.model.alg.EnvelopeTrackerBase
ATTR_EMITGROWTH, ATTR_SCHEFF, ATTR_STEPSIZE, ATTR_USEDCBEAM, ATTR_USESPACECHARGE, LABEL_OPTIONS, TBL_LBL_ENVBASETRACKERFields 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 EnvelopeTrackerprotectedElsTracker(String strType, int intVersion, Class<? extends IProbe> clsProbeType) Creates a new, empty, instance of EnvelopeTracker.protectedElsTracker(ElsTracker sourceTracker) Copy constructor for EnvelopeTracker -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadvanceState(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 EnvelopeTrackervoiddoPropagation(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, setUseSpacechargeMethods 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:
copyin interfaceIAlgorithm- Overrides:
copyin classEnvelopeTracker
-
doPropagation
Propagates the probe through the element.- Overrides:
doPropagationin 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:
advanceStatein 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
-