Class ParticleProbe

All Implemented Interfaces:
IProbe, IArchive

public class ParticleProbe extends Probe<ParticleProbeState>
ParticleProbe extends the base BeamProbe to manage a particle state which is a Vector of homogeneous phase space variables.
Since:
Aug 13, 2002
Version:
Nov 14, 2013
Author:
Christopher K. Allen, Craig McChesney
  • Constructor Details

    • ParticleProbe

      public ParticleProbe()
      Default constructor for ParticleProbe. Creates a new (empty) instance of ParticleProbe.
    • ParticleProbe

      public ParticleProbe(ParticleProbe probe)
      Copy constructor for ParticleProbe. Performs deep copy of target particle probe.
      Parameters:
      probe - ParticleProbe object to be cloned
  • Method Details

    • copy

      public ParticleProbe copy()
      Creates a clone of this ParticleProbe object and returns it. This method is essentially a proxy to the constructor ParticleProbe(ParticleProbe).
      Specified by:
      copy in class Probe<ParticleProbeState>
      Since:
      Nov 14, 2013
      See Also:
    • setPhaseCoordinates

      public void setPhaseCoordinates(PhaseVector vecPhase)
      Set the phase space coordinates of the probe. This is the location z in homogeneous phase space coordinates R6 × {1}.
      Parameters:
      vecPhase - new homogeneous phase space coordinate vector z = (x, x', y, y', z, z', 1)T
    • setResponseMatrix

      public void setResponseMatrix(PhaseMatrix matResp)

      Set the response matrix Φ for the particle at the given state location z. The response matrix represents the sensitivity of the current phase coordinate position z to the initial phase coordinate location z0 at the start of the simulation. That is,

          Φ ≡ ∂z/∂z0

      so that small changes Δz0 in the initial phase position yield a corresponding change Δz = ΦΔz0 in the current particle location.

      Parameters:
      matResp - the response matrix Φ ≡ ∂z/∂z0the matResp to set
    • getPhaseCoordinates

      public PhaseVector getPhaseCoordinates()
      Returns homogeneous phase space coordinates of the particle. The units are meters and radians.
      Returns:
      vector (x,x',y,y',z,z',1) of phase space coordinates
    • getResponseMatrix

      public PhaseMatrix getResponseMatrix()

      Returns the response matrix Φ for the particle at the given state location z. The response matrix represents the sensitivity of the current phase coordinate position z to the initial phase coordinate location z0 at the start of the simulation. That is,

          Φ ≡ ∂z/∂z0

      so that small changes Δz0 in the initial phase position yield a corresponding change Δz = ΦΔz0 in the current particle location.

      Returns:
      the response matrix Φ ≡ ∂z/∂z0
    • getFixedOrbit

      @Deprecated public PhaseVector getFixedOrbit()
      Deprecated.
      This is a duplicate of getPhaseCoordinates() but with a misleading name. I plan to get rid of it.
      Get the fixed orbit about which betatron oscillations occur.
      Returns:
      the reference orbit vector (x,x',y,y',z,z',1)
    • createTrajectory

      public Trajectory<ParticleProbeState> createTrajectory()
      Creates a Trajectory<ParticleProbeState> object of the proper type for saving the probe's history.
      Specified by:
      createTrajectory in class Probe<ParticleProbeState>
      Returns:
      a new, empty Trajectory<ParticleProbeState> for saving the probe's history
    • createProbeState

      public ParticleProbeState createProbeState()
      Captures the probe's state and return it as a new ProbeState object.
      Specified by:
      createProbeState in class Probe<ParticleProbeState>
      Returns:
      new ParticleProbeState object initialized to current state
      Since:
      Aug 13, 2002
      See Also:
    • createEmptyProbeState

      public ParticleProbeState createEmptyProbeState()
      Creates a new, empty ParticleProbeState.
      Specified by:
      createEmptyProbeState in class Probe<ParticleProbeState>
      Returns:
      a new, empty ParticleProbeState
      Since:
      Jul 1, 2014
    • readStateFrom

      protected ParticleProbeState readStateFrom(DataAdaptor container) throws DataFormatException
      Description copied from class: Probe
      Read the contents of the supplied DataAdaptor and return an instance of the appropriate Trajectory species.
      Specified by:
      readStateFrom in class Probe<ParticleProbeState>
      Parameters:
      container - DataAdaptor to read a Trajectory from
      Returns:
      a ProbeState for the contents of the DataAdaptor
      Throws:
      DataFormatException - error encountered reading the DataAdaptor