public interface IAlgorithm extends java.rmi.Remote, IContextAware, IArchive
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.
Modifier and Type | Method and Description |
---|---|
IAlgorithm |
copy() |
java.lang.String |
getStartElementId()
Get the modeling element string identifier where propagation is to start.
|
java.lang.String |
getStopElementId()
Get the modeling element string identifier where propagation is to stop.
|
java.lang.String |
getType()
Returns a string type identifier of algorithm class
|
int |
getVersion()
Returns the version number of this algorithm
|
void |
initialize()
Initialize the algorithm for propagation.
|
void |
propagate(IProbe probe,
IElement elem)
Propagates the probe through the element.
|
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.
|
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)
|
void |
setStartElementId(java.lang.String id)
Set the id of the element from which to start propagation.
|
void |
setStopElementId(java.lang.String id)
Set the id of the element at which to stop propagation.
|
void |
unsetStartElementId()
reset Start point to the beginning of the sequence
|
void |
unsetStopElementId()
reset Stop point to the end of the sequence
|
boolean |
useRfGapPhaseCalculation()
indicates whether to calculate the beam phase in multi gap Rf cavities,
(a la Parmila) rather than use default values (a la Trace 3D)
|
boolean |
validProbe(IProbe probe)
Check if probe can be handled by this algorithm.
|
load
java.lang.String getType()
String
algorithm type identifierint getVersion()
int
version number of the algorithmboolean validProbe(IProbe probe)
probe
- probe to be testedjava.lang.String getStartElementId()
void setStartElementId(java.lang.String id)
id
- String
id of the element from which to start propagationvoid unsetStartElementId()
java.lang.String getStopElementId()
void setStopElementId(java.lang.String id)
id
- String
id of the element at which to stop propagationvoid setIncludeStopElement(boolean bolInclStopElem)
bolInclStopElem
- propagation stops after stop element if true
,
before the stop element if false
void unsetStopElementId()
boolean useRfGapPhaseCalculation()
void setRfGapPhaseCalculation(boolean tf)
void initialize() throws ModelException
ModelException
- unable to initialize algorithmvoid propagate(IProbe probe, IElement elem) throws ModelException
probe
- target objectelem
- beamline element acting on the probeModelException
IAlgorithm copy()