gov.sns.xal.model.probe
Class BeamProbe

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

public abstract class BeamProbe
extends Probe

Abstract base class for all probes having beam properties. That is derived classes should represent probes with collective beam dynamics.


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
protected BeamProbe()
          Default constructor.
  BeamProbe(BeamProbe probe)
          Copy constructor - clones the argument Since BeamProbe is abstract constructor should only be calls by a derived class.
 
Method Summary
 void applyState(ProbeState state)
          Apply the contents of ProbeState to update my current state.
 double beamPerveance()
          Returns the beam perveance Units: radians^2/meter
 double getBeamCharge()
          Returns the total beam charge
 double getBeamCurrent()
          Returns the total beam current
abstract  CorrelationMatrix phaseCorrelation()
          Abstract - Returns the correlation matrix (sigma matrix) in homogeneous phase space coordinates.
 CorrelationMatrix phaseCovariance()
          Return the covariance matrix of the distribution.
 PhaseVector phaseMean()
          Return the phase space coordinates of the centroid in homogeneous coordinates
 void setBeamCharge(double Q)
          Set the total beam charge
 void setBeamCurrent(double I)
          Set the total beam current
 
Methods inherited from class gov.sns.xal.model.probe.Probe
computeBetaFromGamma, computeGammaFromBeta, computeGammaFromW, createProbeState, createTrajectory, 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

BeamProbe

protected BeamProbe()
Default constructor. Since BeamProbe is abstract constructor should only be calls by a derived class. Creates a new (empty) instance of BeamProbe.


BeamProbe

public BeamProbe(BeamProbe probe)
Copy constructor - clones the argument Since BeamProbe is abstract constructor should only be calls by a derived class.

Parameters:
probe - BeamProbe object to be cloned
Method Detail

phaseCorrelation

public abstract CorrelationMatrix phaseCorrelation()
Abstract - Returns the correlation matrix (sigma matrix) in homogeneous phase space coordinates.

Returns:
=| | | | ...
See Also:
PhaseMatrix

setBeamCharge

public void setBeamCharge(double Q)
Set the total beam charge

Parameters:
Q - beam charge in Coulombs

setBeamCurrent

public void setBeamCurrent(double I)
Set the total beam current

Parameters:
I - new beam current in Amperes

getBeamCharge

public double getBeamCharge()
Returns the total beam charge

Returns:
beam charge in coulombs

getBeamCurrent

public double getBeamCurrent()
Returns the total beam current

Returns:
beam current in amps

beamPerveance

public double beamPerveance()
Returns the beam perveance Units: radians^2/meter


phaseCovariance

public CorrelationMatrix phaseCovariance()
Return the covariance matrix of the distribution. Note that this can be computed from the correlation matrix in homogeneous coordinates since the mean values are included in that case.

Returns:
<(z-)*(z-)^T> = - *^T

phaseMean

public PhaseVector phaseMean()
Return the phase space coordinates of the centroid in homogeneous coordinates

Returns:
= (, , , , , , 1)^T

applyState

public void applyState(ProbeState state)
Apply the contents of ProbeState to update my current state. Subclass implementations should call super.applyState to ensure superclass state is applied.

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