public abstract class BunchProbeState<S extends BunchProbeState<S>> extends ProbeState<S>
STATE_LABEL, TYPE_LABEL
LightSpeed
Constructor and Description |
---|
BunchProbeState()
Default constructor.
|
BunchProbeState(BunchProbe<S> probe)
Initializing constructor.
|
BunchProbeState(S state)
Copy constructor for BunchProbeState.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addPropertiesTo(DataAdaptor daSink)
Save the state values particular to
BunchProbeState objects
to the data sink. |
double |
beamPerveance()
Returns the generalized, three-dimensional beam perveance K.
|
double |
bunchCharge()
Computes and returns the charge in each beam bunch
|
double |
getBeamCurrent()
Returns the total beam current, which is the bunch charge Q times
the bunch frequency f.
|
double |
getBunchFrequency()
Returns the bunch frequency, that is, the rate at which
beam bunches pass a stationary point (in laboratory coordinates).
|
protected void |
readPropertiesFrom(DataAdaptor daSource)
Recover the state values particular to
BunchProbeState objects
from the data source. |
void |
setBeamCurrent(double I)
Set the total beam current
|
void |
setBunchFrequency(double f)
Set the bunch arrival time frequency.
|
java.lang.String |
toString()
Write out state information to a string.
|
computeBetaFromGamma, computeGammaFromBeta, computeGammaFromW, copy, getBeta, getBetaGamma, getElementId, getGamma, getHardwareNodeId, getKineticEnergy, getMomentum, getPosition, getSpeciesCharge, getSpeciesRestEnergy, getTime, load, save, setElementId, setHardwareNodeId, setKineticEnergy, setPosition, setSpeciesCharge, setSpeciesRestEnergy, setTime
public BunchProbeState()
BunchProbeState
.public BunchProbeState(S state)
BunchProbeState
objects with the state attributes
of the given BunchProbeState
.state
- initializing statepublic BunchProbeState(BunchProbe<S> probe)
BunchProbe
object initialized
to the argument's state.probe
- probe object with which to initialize this statepublic void setBunchFrequency(double f)
f
- new bunch frequency in Hzpublic void setBeamCurrent(double I)
I
- new beam current in public double getBunchFrequency()
Returns the bunch frequency, that is, the rate at which beam bunches pass a stationary point (in laboratory coordinates). The frequency f of the bunches determines the beam current I.
The bunch frequency f is related to the beam current
I and bunch charge Q as
f = I/Q
public double getBeamCurrent()
public double bunchCharge()
public double beamPerveance()
Returns the generalized, three-dimensional beam perveance K. This value is defined to be
K = (Q/4*π*ε0)(1/γ3β2)(|q|/ER)where Q is the bunch charge, ε0 is the permittivity of free space, γ is the relativistic factor, β is the normalized design velocity, q is the individual particle charge and ER is the rest energy of the beam particles.
public java.lang.String toString()
toString
in class ProbeState<S extends BunchProbeState<S>>
protected void addPropertiesTo(DataAdaptor daSink)
BunchProbeState
objects
to the data sink.addPropertiesTo
in class ProbeState<S extends BunchProbeState<S>>
daSink
- data sink represented by DataAdaptor
interfaceprotected void readPropertiesFrom(DataAdaptor daSource) throws ParsingException
BunchProbeState
objects
from the data source.readPropertiesFrom
in class ProbeState<S extends BunchProbeState<S>>
daSource
- data source represented by a IIDataAdaptor
interfaceParsingException
- state information in data source is malformatted