Interface ISimulationResults.ISimEnvResults<S>

Type Parameters:
S - type of the probe state containing local simulation data
All Superinterfaces:
ISimulationResults
All Known Implementing Classes:
CalculationsOnBeams, CalculationsOnMachines, CalculationsOnRings, SimpleSimResultsAdaptor, SimResultsAdaptor
Enclosing interface:
ISimulationResults

public static interface ISimulationResults.ISimEnvResults<S> extends ISimulationResults

Processes simulation data concerned with the beam properties.

For example, when S = xal.model.probe.traj.EnvelopeProbeState then the interface quantities are essentially beam parameters since the beam dynamics figure into the states of xal.model.probe.EnvelopeProbe.

Since:
2/9/05
Version:
Nov 7, 2013
Author:
Christopher K. Allen, Thomas Pelaia
  • Method Details

    • computeTwissParameters

      Twiss[] computeTwissParameters(S state)
      Returns the array of twiss objects for this state for all three planes at the location of the given simulation state. These could be the matched beam Twiss parameters for a periodic structure or the dynamics Twiss parameters of a mismatched or otherwise evolving beam.
      Parameters:
      state - simulation state where Twiss parameters are computed
      Returns:
      array (twiss-H, twiss-V, twiss-L)
    • computeBetatronPhase

      R3 computeBetatronPhase(S state)
      Get the betatron phase values at the given state location for all three phase planes.
      Parameters:
      state - simulation state where parameters are computed
      Returns:
      vector (ψx, ψy, ψx) of phases in radians
    • computeChromDispersion

      PhaseVector computeChromDispersion(S state)

      Calculates the fixed point (closed orbit) in transverse phase space at the given state Sn location sn in the presence of dispersion.

      Let the full-turn map a the state location be denoted Φn (or the transfer matrix from entrance to location sn for a linac). The transverse plane dispersion vector Δ is defined

          Δt ≡ -(1/γ2)[dx/dz', dx'/dz', dy/dz', dy'/dz']T .

      It can be identified as the first 4 entries of the 6th column in the transfer matrix Φn. The above vector quantifies the change in the transverse particle phase coordinate position versus the change in particle momentum. The factor -(1/γ2) is needed to convert from longitudinal divergence angle z' used by XAL to momentum δp ≡ Δp/p used in the dispersion definition. Specifically,

          δp ≡ Δp/p = γ2z'

      As such, the above vector can be better described

          Δt ≡ [Δxp, Δx'p, Δyp, Δy'p]T

      explicitly describing the change in transverse phase coordinate for fractional change in momentum δp.

      Since we are only concerned with transverse phase space coordinates, we restrict ourselves to the 4×4 upper diagonal block of Φn, which we denote take Tn. That is, Tn = π ⋅ Φn where π : R6×6R4×4 is the projection operator.

      This method finds that point zt ≡ (xt, x't, yt, y't) in transvse phase space that is invariant under the action of the ring for a given momentum spread δp. That is, the particle ends up in the same location each revolution. With a finite momentum spread of δp > 0 we require this require that

          Tnzt + δpΔt = zt ,

      which can be written

        zt = δp(Tn - I)-1Δt ,

      where I is the identity matrix. Dividing both sides by δp yields the final result

        z0ztp = (Tn - I)-1Δt ,

      which is the returned value of this method. It is normalized by δp so that we can compute the closed orbit for any given momentum spread.

      Parameters:
      state - we are calculating the dispersion at this state location
      Returns:
      The closed orbit fixed point z0 for finite dispersion, normalized by momentum spread. Returned as an array [x0,x'0,y0,y'0]/δp
      Since:
      Nov 8, 2013