gov.sns.xal.model.probe
Class EnvelopeProbe

java.lang.Object
  |
  +--gov.sns.xal.model.probe.Probe
        |
        +--gov.sns.xal.model.probe.BeamProbe
              |
              +--gov.sns.xal.model.probe.EnvelopeProbe
All Implemented Interfaces:
IArchive, IProbe

public class EnvelopeProbe
extends BeamProbe

EnvelopeProbe represents the RMS beam evelopes of a beam. Specifically, the state of this probe is the 7x7 matrix of homogeneous phase space moments up to, and including second order. This is the correlation matrix for the beam and is represented as matChi = <z*z^T> where z=(x,x',y,y',z,z',1) is the vector of homogeneous phase space coordinates, and <.> is the moment operator with respect to the beam distribution.


Field Summary
 
Fields inherited from class gov.sns.xal.model.probe.Probe
PROBE_LABEL
 
Fields inherited from interface gov.sns.xal.model.IProbe
LightSpeed, Permittivity, UnitCharge
 
Constructor Summary
EnvelopeProbe()
          Default Constructor.
EnvelopeProbe(EnvelopeProbe probe)
          Copy constructor - clones the argument
 
Method Summary
 void applyState(ProbeState state)
          Apply the contents of ProbeState to update my current state.
 ProbeState createProbeState()
          Creates a snapshot of the current state and returns it as a ProbeState object of the proper type.
 Trajectory createTrajectory()
          Creates a Trajectory object of the proper type for saving the probe's history.
 R3 getBetatronPhase()
          Returns the betatron phase with space charge for all three phase planes.
 PhaseMatrix getResponseMatrix()
          Get the first-order response matrix accumulated by the Envelope since its initial state.
 Twiss[] getTwiss()
          returns an array of Twiss objects for the probe
 CorrelationMatrix phaseCorrelation()
          Returns the correlation matrix (chi matrix) for the beam in homogeneous phase space coordinates.
 void setBetatronPhase(R3 vecPhase)
          Set the betatron phase with space charge for each phase plane.
 void setCorrelation(CorrelationMatrix matChi)
          Set the correlation matrix for this probe (7x7 matrix in homogeneous coordinates).
 void setResponseMatrix(PhaseMatrix matResp)
          Set the first-order response matrix accumulated by the Envelope since its initial state.
 void setTwiss(Twiss[] twiss)
          Set the twiss parameters for each phase plane.
 void updateTwiss(PhaseMatrix R)
          Advance the twiss parameters using the present response matrix Use formula 2.54 from S.Y.
 
Methods inherited from class gov.sns.xal.model.probe.BeamProbe
beamPerveance, getBeamCharge, getBeamCurrent, phaseCovariance, phaseMean, setBeamCharge, setBeamCurrent
 
Methods inherited from class gov.sns.xal.model.probe.Probe
computeBetaFromGamma, computeGammaFromBeta, computeGammaFromW, deepCopyProbeBase, getAlgorithm, getArchive, getBeta, getBetaGamma, getComment, getCurrentElement, getGamma, getKineticEnergy, getPosition, getSpeciesCharge, getSpeciesRestEnergy, getTime, getTimestamp, getTrajectory, initialize, load, newProbeInitializedFrom, readFrom, reset, save, setAlgorithm, setComment, setCurrentElement, setKineticEnergy, setPosition, setSpeciesCharge, setSpeciesRestEnergy, setTime, setTimestamp, setTracking, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnvelopeProbe

public EnvelopeProbe()
Default Constructor. Creates a new, empty instance of EnvelopeProbe


EnvelopeProbe

public EnvelopeProbe(EnvelopeProbe probe)
Copy constructor - clones the argument

Parameters:
probe - EnvelopeProbe object to be cloned
Method Detail

setCorrelation

public void setCorrelation(CorrelationMatrix matChi)
Set the correlation matrix for this probe (7x7 matrix in homogeneous coordinates).

Parameters:
matChi - new phase space covariant matrix of this probe
See Also:
CorrelationMatrix

setBetatronPhase

public void setBetatronPhase(R3 vecPhase)
Set the betatron phase with space charge for each phase plane.

Parameters:
vecPhase - vector (psix,psiy,psiz) of betratron phases in radians

setTwiss

public void setTwiss(Twiss[] twiss)
Set the twiss parameters for each phase plane.

Parameters:
twiss - array of Twiss objects for H, V , long. directions

setResponseMatrix

public void setResponseMatrix(PhaseMatrix matResp)
Set the first-order response matrix accumulated by the Envelope since its initial state. Note that this response includes the effects of space charge.

Parameters:
matResp - first-order response matrix in homogeneous coordinates

phaseCorrelation

public CorrelationMatrix phaseCorrelation()
Returns the correlation matrix (chi matrix) for the beam in homogeneous phase space coordinates.

Specified by:
phaseCorrelation in class BeamProbe
Returns:
=| | | | ...
See Also:
PhaseMatrix

getBetatronPhase

public R3 getBetatronPhase()
Returns the betatron phase with space charge for all three phase planes.

Returns:
vector (psix,psiy,psiz) of phases in radians

getTwiss

public Twiss[] getTwiss()
returns an array of Twiss objects for the probe


getResponseMatrix

public PhaseMatrix getResponseMatrix()
Get the first-order response matrix accumulated by the Envelope since its initial state. Note that this response includes the effects of space charge.

Returns:
first-order response matrix in homogeneous coordinates

createProbeState

public ProbeState createProbeState()
Creates a snapshot of the current state and returns it as a ProbeState object of the proper type.

Specified by:
createProbeState in class Probe
Returns:
a new EnvelopeProbeState encapsulating the probe's current state

createTrajectory

public Trajectory createTrajectory()
Creates a Trajectory object of the proper type for saving the probe's history.

Specified by:
createTrajectory in class Probe
Returns:
a new, empty EnvelopeTrajectory object

applyState

public void applyState(ProbeState state)
Apply the contents of ProbeState to update my current state. The argument supplying the new state should be of concrete type EnvelopeProbeState.

Overrides:
applyState in class BeamProbe
Parameters:
state - ProbeState object containing new probe state data
Throws:
java.lang.IllegalArgumentException - wrong ProbeState subtype for this probe

updateTwiss

public void updateTwiss(PhaseMatrix R)
Advance the twiss parameters using the present response matrix Use formula 2.54 from S.Y. Lee's book