Interface IProbe
- All Known Implementing Classes:
BunchProbe
,DiagnosticProbe
,ElsProbe
,EnsembleProbe
,EnvelopeProbe
,ParticleProbe
,Probe
,SynchronousProbe
,TransferMapProbe
,TwissProbe
- Version:
- $Id: IProbe.java 2 2006-08-17 12:20:30 +0000 (Thursday, 17 8 2006) t6p $
- Author:
- Nikolay Malitsky, Christopher K. Allen
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Speed of light in vacuum (meters/second)static final double
Electric permittivity of free space (Farad/meter)static final double
The unit electric charge (Farads) -
Method Summary
Modifier and TypeMethodDescriptionReturn the dynamics algorithm associated with this probe.Return theIArchive
interface for archiving this algorithm object.double
getBeta()
Returns the probe velocity normalized to the speed of light.Returns the current lattice element of the probe.Get the type identifier string of the modeling element where this probe currently exists.Returns the identifier of the hardware being modeling by the current element.double
getGamma()
Returns the relativistic parameter corresponding to the probe velocity.double
Return the kinetic energy of the probe.double
Returns the longitudinal phase of this probe with respect to the RF phase.double
Returns the current beam-line position of the probedouble
Returns the charge of probe's particle speciesreturns the species namedouble
Returns the rest energy of particle speciesdouble
getTime()
Return the time elapsed since the probe began propagation.Trajectory<? extends ProbeState<?>>
Returns the state history of the probe.void
Initialize the probe for propagation.ProbeState<?>
lookupLastStateFor
(String strElemTypeId) Looks up the last probe state created by a modeling element of the given identifier.void
Deprecated.void
Set the current lattice element.void
setCurrentElementTypeId
(String strTypeId) Sets the type identifier string of the modeling element where this probe currently exists.void
setCurrentHardwareId
(String strSmfId) Sets the string identifier of the hardware node modeled by the current element.void
setKineticEnergy
(double dblW) Set the current kinetic energy of the probe.void
setLongitudinalPhase
(double dblPhsLng) Set the longitudinal phase of this probe with respect to the RF phase.void
setPosition
(double dblPos) Set the current position of the probe along the beamline.void
setSpeciesCharge
(double dblQ) Set the species charge.void
setSpeciesRestEnergy
(double m) Set the species rest energy.void
setTime
(double dblTime) Set the current time since the probe began propagatingvoid
update()
Update all data and connections.
-
Field Details
-
LIGHT_SPEED
static final double LIGHT_SPEEDSpeed of light in vacuum (meters/second)- See Also:
-
UNIT_CHARGE
static final double UNIT_CHARGEThe unit electric charge (Farads)- See Also:
-
PERMITTIVITY
static final double PERMITTIVITYElectric permittivity of free space (Farad/meter)- See Also:
-
-
Method Details
-
getTrajectory
Trajectory<? extends ProbeState<?>> getTrajectory()Returns the state history of the probe. The returned object is essentially the simulation results for the online model. TheTrajectory
object contains a complete collection of all the probe state object generated during the simulation.- Returns:
- the simulation results for the probe
- Since:
- Nov 24, 2014
-
getSpeciesName
String getSpeciesName()returns the species name- Returns:
- species name
-
getSpeciesCharge
double getSpeciesCharge()Returns the charge of probe's particle species- Returns:
- particle species charge in units of positive electron charge
-
getSpeciesRestEnergy
double getSpeciesRestEnergy()Returns the rest energy of particle species- Returns:
- particle species rest energy in electron volts
-
getCurrentElement
String getCurrentElement()Returns the current lattice element of the probe.- Returns:
String
id of current lattice element
-
getCurrentElementTypeId
String getCurrentElementTypeId()Get the type identifier string of the modeling element where this probe currently exists. Note that all modeling elements have a static string identifier defined in their class definition.- Parameters:
strTypeId
- static identifier string of the modeling element class- Since:
- Dec 16, 2014 by Christopher K. Allen
-
getCurrentHardwareId
String getCurrentHardwareId()Returns the identifier of the hardware being modeling by the current element.- Returns:
- hardware ID of the current modeling element
- Since:
- Sep 3, 2014
-
getPosition
double getPosition()Returns the current beam-line position of the probe- Returns:
- probe position (meters)
-
getTime
double getTime()Return the time elapsed since the probe began propagation.- Returns:
- elapsed time in seconds
-
getLongitinalPhase
double getLongitinalPhase()Returns the longitudinal phase of this probe with respect to the RF phase. Typically used to account for phase delay/advance in cavities incurred due to finite propagation time. For example
φ ≜ φ0 - Δφ
where Δφ = 2πfΔt is the phase delay due to elapsed time Δt, f is the cavity resonant frequency, and φ0 is the operating phase of the cavity (w.r.t. the synchronous particle).- Returns:
- the probe phase φ with respect to the machine RF frequency
- Since:
- Nov 23, 2014
-
getKineticEnergy
double getKineticEnergy()Return the kinetic energy of the probe. Depending upon the probe type, this could be the actual kinetic energy of a single constituent particle, the average kinetic energy of an ensemble, the design energy, etc.- Returns:
- probe kinetic energy (electron-volts)
-
getBeta
double getBeta()Returns the probe velocity normalized to the speed of light.- Returns:
- normalized probe velocity v/c (unitless
-
getGamma
double getGamma()Returns the relativistic parameter corresponding to the probe velocity. The relativistic factor is given by the formulae gamma = (Kinetic Energy/Rest Energy) + 1 = sqrt[1/(1-v^2/c^2)]- Returns:
- probe relativistic factor (unitless)
-
lookupLastStateFor
Looks up the last probe state created by a modeling element of the given identifier. The history of the probe (i.e., aTrajectory
object is searched for the last state with the modeling type ID equal to the given value.- Parameters:
strElemTypeId
- modeling element type identification string- Returns:
- the last state created by such a modeling element
- Since:
- Dec 17, 2014 by Christopher K. Allen
-
setCurrentElement
Set the current lattice element.- Parameters:
id
-String
id of current lattice element.
-
setCurrentElementTypeId
Sets the type identifier string of the modeling element where this probe currently exists. Note that all modeling elements have a static string identifier defined in their class definition.- Parameters:
strTypeId
- static identifier string of the modeling element class- Since:
- Dec 16, 2014 by Christopher K. Allen
-
setCurrentHardwareId
Sets the string identifier of the hardware node modeled by the current element.- Parameters:
strSmfId
- hardware ID of the current modeling element- Since:
- Sep 3, 2014
-
setPosition
void setPosition(double dblPos) Set the current position of the probe along the beamline.- Parameters:
dblPos
- new probe position (meters)
-
setTime
void setTime(double dblTime) Set the current time since the probe began propagating- Parameters:
dblTime
- new probe current time in seconds
-
setLongitudinalPhase
void setLongitudinalPhase(double dblPhsLng) Set the longitudinal phase of this probe with respect to the RF phase. Typically used to account for phase delay/advance in cavities incurred due to finite propagation time. For example
φ ≜ φ0 - Δφ
where Δφ = 2πfΔt is the phase delay due to elapsed time Δt, f is the cavity resonant frequency, and φ0 is the operating phase of the cavity (w.r.t. the synchronous particle).- Parameters:
dblPhsLng
- the phase delay Δφ incurred from probe propagate between RF cavities- Since:
- Nov 23, 2014
-
setKineticEnergy
void setKineticEnergy(double dblW) Set the current kinetic energy of the probe.- Parameters:
dblW
- new probe kinetic energy (electron-volts)- See Also:
-
setSpeciesCharge
void setSpeciesCharge(double dblQ) Set the species charge.- Parameters:
dblQ
- new species charge (e.u.)- See Also:
-
setSpeciesRestEnergy
void setSpeciesRestEnergy(double m) Set the species rest energy.- Parameters:
m
- new species rest energy (eV)- See Also:
-
initialize
Initialize the probe for propagation. Reset any necessary state variables Optionally set up a trajectory variable- Throws:
ModelException
- an error occurred while trying to initialize the probe
-
update
Update all data and connections. Recompute any parameters consistent with new probe state Optionally store probe state to save trajectory history Resynchronize probe with data sources if they exist- Throws:
ModelException
- an error occurred while trying to update the probe
-
performPostProcessing
Deprecated.This has a zero implementation inProbe
but never does anything.Perform any required post processing upon completion of algorithm processing. -
getAlgorithm
IAlgorithm getAlgorithm()Return the dynamics algorithm associated with this probe. -
getArchive
IArchive getArchive()Return theIArchive
interface for archiving this algorithm object.
-
Probe
but never does anything.