Interface IProbeState

All Superinterfaces:
IArchive
All Known Implementing Classes:
BunchProbeState, DiagnosticProbeState, EnsembleProbeState, EnvelopeProbeState, ParticleProbeState, ProbeState, SynchronousState, TransferMapState, TwissProbeState

public interface IProbeState extends IArchive
The interface required of all classes encapsulating the state data of probes.
Since:
Apr 14, 2011
Author:
Christopher K. Allen
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Speed of light in vacuum (meters/second)
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the id of the lattice element associated with this state.
    Gets the type identifier string of the modeling element where this state was created.
    double
    Return the kinetic energy of the probe.
    double
    Returns the longitudinal phase of this probe with respect to the RF phase.
    double
    Returns the current beam-line position of the probe
    double
    Returns the charge of probe's particle species
    double
    Returns the rest energy of particle species
    double
    Return the time elapsed from the start of the probe tracking
    void
    Set the lattice element id associated with this state.
    void
    Sets the type identifier string of the modeling element where this state was created.
    void
    setKineticEnergy(double w)
    Set the current kinetic energy of the probe.
    void
    setLongitudinalPhase(double dblPhsLng)
    Set the longitudinal phase of this probe with respect to the RF phase.
    void
    setPosition(double s)
    Set the current position of the probe along the beamline.
    void
    setSpeciesCharge(double q)
    Set the charge of the particle species in the beam
    void
    Set the rest energy of a single particle in the beam
    void
    setTime(double dblTime)
    Set the current probe time elapsed from the start of the probe tracking.

    Methods inherited from interface xal.tools.data.IArchive

    load, save
  • Field Details

    • LIGHT_SPEED

      static final double LIGHT_SPEED
      Speed of light in vacuum (meters/second)
      See Also:
  • Method Details

    • setSpeciesCharge

      void setSpeciesCharge(double q)
      Set the charge of the particle species in the beam
      Parameters:
      q - species particle charge (Coulombs)
    • setSpeciesRestEnergy

      void setSpeciesRestEnergy(double eR)
      Set the rest energy of a single particle in the beam
      Parameters:
      eR - particle rest energy (electron-volts)
    • setPosition

      void setPosition(double s)
      Set the current position of the probe along the beamline.
      Parameters:
      s - new probe position (meters)
      See Also:
    • setTime

      void setTime(double dblTime)
      Set the current probe time elapsed from the start of the probe tracking.
      Parameters:
      dblTime - elapsed time in seconds
    • setLongitudinalPhase

      void setLongitudinalPhase(double dblPhsLng)

      Set the longitudinal phase of this probe with respect to the RF phase. Typically used to account for phase delay/advance in cavities incurred due to finite propagation time. For example

          φ ≜ φ0 - Δφ

      where Δφ = 2πfΔt is the phase delay due to elapsed time Δt, f is the cavity resonant frequency, and φ0 is the operating phase of the cavity (w.r.t. the synchronous particle).

      Parameters:
      dblPhsLng - the phase delay Δφ incurred from probe propagate between RF cavities
      Since:
      Nov 23, 2014
    • setKineticEnergy

      void setKineticEnergy(double w)
      Set the current kinetic energy of the probe.
      Parameters:
      w - new probe kinetic energy (electron-volts)
      See Also:
    • setElementId

      void setElementId(String id)
      Set the lattice element id associated with this state.
      Parameters:
      id - element id of current lattice element
    • setElementTypeId

      void setElementTypeId(String strTypeId)
      Sets the type identifier string of the modeling element where this state was created. Note that all modeling elements have a static string identifier defined in their class definition.
      Parameters:
      strTypeId - static identifier string of the modeling element class
      Since:
      Dec 16, 2014 by Christopher K. Allen
    • getSpeciesCharge

      double getSpeciesCharge()
      Returns the charge of probe's particle species
      Returns:
      particle species charge (Coulombs)
    • getSpeciesRestEnergy

      double getSpeciesRestEnergy()
      Returns the rest energy of particle species
      Returns:
      particle species rest energy (electron-volts)
    • getElementId

      String getElementId()
      Returns the id of the lattice element associated with this state.
      Returns:
      string ID of associated lattice element
    • getElementTypeId

      String getElementTypeId()
      Gets the type identifier string of the modeling element where this state was created. Note that all modeling elements have a static string identifier defined in their class definition.
      Returns:
      static identifier string of the modeling element class
      Since:
      Dec 16, 2014 by Christopher K. Allen
    • getPosition

      double getPosition()
      Returns the current beam-line position of the probe
      Returns:
      probe position (meters)
    • getTime

      double getTime()
      Return the time elapsed from the start of the probe tracking
      Returns:
      time elapsed since probe began tracking, in seconds
    • getLongitudinalPhase

      double getLongitudinalPhase()

      Returns the longitudinal phase of this probe with respect to the RF phase. Typically used to account for phase delay/advance in cavities incurred due to finite propagation time. For example

          φ ≜ φ0 - Δφ

      where Δφ = 2πfΔt is the phase delay due to elapsed time Δt, f is the cavity resonant frequency, and φ0 is the operating phase of the cavity (w.r.t. the synchronous particle).

      Returns:
      the probe phase φ with respect to the machine RF frequency
      Since:
      Nov 23, 2014
    • getKineticEnergy

      double getKineticEnergy()
      Return the kinetic energy of the probe. Depending upon the probe type, this could be the actual kinetic energy of a single constituent particle, the average kinetic energy of an ensemble, the design energy, etc.
      Returns:
      probe kinetic energy (electron-volts)