gov.sns.xal.model.probe
Class SynchronousProbe

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

public class SynchronousProbe
extends Probe

This class represents the behavior of the synchronous particle of a particle beam bunch. Thus, its use is intended for evaluation of machine designs and the variation of design trajectories with respect to machine parameters.


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
SynchronousProbe()
           
SynchronousProbe(SynchronousProbe probe)
           
 
Method Summary
 void applyState(ProbeState state)
          Capture the current probe state to the ProbeState argument.
 ProbeState createProbeState()
          Return a new ProbeState object, of the appropriate type, initialized to the current state of this probe.
protected  Trajectory createTrajectory()
          Create and return a Trajectory object of the appropriate speciality type - here SynchronousTrajectory.
 R3 getBetatronPhase()
          Return the set of betatron phase advances for any particle in the synchronous bucket.
 double getRfPhase()
          Return the phase of the synchronous particle with respect to any RF drive power.
 void setBetatronPhase(R3 vecPhase)
          Set the betatron phase of the synchronous particle without space charge.
 void setRfPhase(double dblPhase)
          Set the phase location of the synchronous particle with respect to the drive RF power.
 
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

SynchronousProbe

public SynchronousProbe()

SynchronousProbe

public SynchronousProbe(SynchronousProbe probe)
Parameters:
probe -
Method Detail

setBetatronPhase

public void setBetatronPhase(R3 vecPhase)
Set the betatron phase of the synchronous particle without space charge. The betatron phase of all three planes is maintained as an R3 vector object. Thus, the betatron phase of each plane is set simultaneously.

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

setRfPhase

public void setRfPhase(double dblPhase)
Set the phase location of the synchronous particle with respect to the drive RF power.

Parameters:
dblPhase - synchronous particle phase w.r.t. RF in radians

getRfPhase

public double getRfPhase()
Return the phase of the synchronous particle with respect to any RF drive power.

Returns:
phase location of synchronous particle in radians

getBetatronPhase

public R3 getBetatronPhase()
Return the set of betatron phase advances for any particle in the synchronous bucket. The phase advances for all threes planes are returned. Space charge is not considered.

Returns:
vector (sigx,sigy,sigz) of phase advances without space charge

createTrajectory

protected Trajectory createTrajectory()
Create and return a Trajectory object of the appropriate speciality type - here SynchronousTrajectory. The trajectory object is empty, containing no particle history.

Specified by:
createTrajectory in class Probe
Returns:
empty trajectory object for this probe type
See Also:
Probe.createTrajectory()

createProbeState

public ProbeState createProbeState()
Return a new ProbeState object, of the appropriate type, initialized to the current state of this probe.

Specified by:
createProbeState in class Probe
Returns:
probe state object of type SynchronousState
See Also:
Probe.createProbeState()

applyState

public void applyState(ProbeState state)
Capture the current probe state to the ProbeState argument. Note that the argument must be of the concrete type SynchronousState.

Overrides:
applyState in class Probe
Parameters:
state - ProbeState to receive this probe's state information
Throws:
java.lang.IllegalArgumentException - argument is not of type SynchronousState