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 doubleSpeed of light in vacuum (meters/second)static final doubleElectric permittivity of free space (Farad/meter)static final doubleThe unit electric charge (Farads) -
Method Summary
Modifier and TypeMethodDescriptionReturn the dynamics algorithm associated with this probe.Return theIArchiveinterface for archiving this algorithm object.doublegetBeta()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.doublegetGamma()Returns the relativistic parameter corresponding to the probe velocity.doubleReturn the kinetic energy of the probe.doubleReturns the longitudinal phase of this probe with respect to the RF phase.doubleReturns the current beam-line position of the probedoubleReturns the charge of probe's particle speciesreturns the species namedoubleReturns the rest energy of particle speciesdoublegetTime()Return the time elapsed since the probe began propagation.Trajectory<? extends ProbeState<?>>Returns the state history of the probe.voidInitialize the probe for propagation.ProbeState<?>lookupLastStateFor(String strElemTypeId) Looks up the last probe state created by a modeling element of the given identifier.voidDeprecated.voidSet the current lattice element.voidsetCurrentElementTypeId(String strTypeId) Sets the type identifier string of the modeling element where this probe currently exists.voidsetCurrentHardwareId(String strSmfId) Sets the string identifier of the hardware node modeled by the current element.voidsetKineticEnergy(double dblW) Set the current kinetic energy of the probe.voidsetLongitudinalPhase(double dblPhsLng) Set the longitudinal phase of this probe with respect to the RF phase.voidsetPosition(double dblPos) Set the current position of the probe along the beamline.voidsetSpeciesCharge(double dblQ) Set the species charge.voidsetSpeciesRestEnergy(double m) Set the species rest energy.voidsetTime(double dblTime) Set the current time since the probe began propagatingvoidupdate()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. TheTrajectoryobject 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:
Stringid 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., aTrajectoryobject 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-Stringid 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 inProbebut 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 theIArchiveinterface for archiving this algorithm object.
-
Probebut never does anything.