Package xal.model
Interface IAlgorithm
- All Superinterfaces:
IArchive,IContextAware,Remote
- All Known Implementing Classes:
DiagnosticTracker,ElsTracker,EnsembleTracker,EnvelopeBacktracker,EnvelopeTracker,EnvelopeTrackerBase,EnvelopeTrackerPmq,EnvelopeTrackerPmqDipole,EnvTrackerAdapt,ParticleTracker,SynchronousTracker,Trace3dTracker,Tracker,TrackerAdaptive,TransferMapTracker,TwissTracker,TwissTrackerPmq
The defining interface of all probe tracking algorithms
According to the Element-Algorithm-Probe analysis pattern, algorithm objects
describe interactions between accelerator structures (Element's) and physical
objects (Probe's). Thus, tracking algorithm objects are responsible for
propagating probe objects, represented by the IProbe interface,
through element objects, represented by the IElement interface.
-
Method Summary
Modifier and TypeMethodDescriptioncopy()booleanindicates whether to calculate the beam phase in multi gap Rf cavities, (a la Parmila) rather than use default values (a la Trace 3D)Get the modeling element string identifier where propagation is to start.Get the modeling element string identifier where propagation is to stop.getType()Returns a string type identifier of algorithm classintReturns the version number of this algorithmvoidInitialize the algorithm for propagation.voidPropagates the probe through the element.voidsetIncludeStopElement(boolean bolInclStopElem) Sets the flag that determines whether or not the propagation stops at the entrance of the stop element (if set), or at the exit of the stop node.voidsetRfGapPhaseCalculation(boolean tf) indicates whether to calculate the beam phase in multi gap Rf cavities, (a la Parmila) rather than use default values (a la Trace 3D)voidSet the id of the element from which to start propagation.voidSet the id of the element at which to stop propagation.voidreset Start point to the beginning of the sequencevoidreset Stop point to the end of the sequencebooleanvalidProbe(IProbe probe) Check if probe can be handled by this algorithm.Methods inherited from interface xal.tools.data.IContextAware
load
-
Method Details
-
getType
String getType()Returns a string type identifier of algorithm class- Returns:
Stringalgorithm type identifier
-
getVersion
int getVersion()Returns the version number of this algorithm- Returns:
intversion number of the algorithm
-
validProbe
Check if probe can be handled by this algorithm.- Parameters:
probe- probe to be tested- Returns:
- true if algorithm can propagation probe, false otherwise
-
getStartElementId
String getStartElementId()Get the modeling element string identifier where propagation is to start.- Returns:
- string id if element is defined, null otherwise
-
setStartElementId
Set the id of the element from which to start propagation.- Parameters:
id-Stringid of the element from which to start propagation
-
unsetStartElementId
void unsetStartElementId()reset Start point to the beginning of the sequence -
getStopElementId
String getStopElementId()Get the modeling element string identifier where propagation is to stop.- Returns:
- string id if element is defined, null otherwise
-
setStopElementId
Set the id of the element at which to stop propagation.- Parameters:
id-Stringid of the element at which to stop propagation
-
setIncludeStopElement
void setIncludeStopElement(boolean bolInclStopElem) Sets the flag that determines whether or not the propagation stops at the entrance of the stop element (if set), or at the exit of the stop node. The later case is the default.- Parameters:
bolInclStopElem- propagation stops after stop element iftrue, before the stop element iffalse- Since:
- Oct 20, 2014
-
unsetStopElementId
void unsetStopElementId()reset Stop point to the end of the sequence -
getRfGapPhaseCalculation
boolean getRfGapPhaseCalculation()indicates whether to calculate the beam phase in multi gap Rf cavities, (a la Parmila) rather than use default values (a la Trace 3D) -
setRfGapPhaseCalculation
void setRfGapPhaseCalculation(boolean tf) indicates whether to calculate the beam phase in multi gap Rf cavities, (a la Parmila) rather than use default values (a la Trace 3D) -
initialize
Initialize the algorithm for propagation. Reset any necessary state variables- Throws:
ModelException- unable to initialize algorithm
-
propagate
Propagates the probe through the element.- Parameters:
probe- target objectelem- beamline element acting on the probe- Throws:
ModelException
-
copy
IAlgorithm copy()
-