Interface ISimulationResults.ISimLocResults<S>

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

public static interface ISimulationResults.ISimLocResults<S> extends ISimulationResults
This interface defines methods for computation results that are in the form of points, or locations, in phase space.
Since:
Nov 15, 2013
Author:
Christopher K. Allen
  • Method Details

    • computeCoordinatePosition

      PhaseVector computeCoordinatePosition(S state)

      Returns homogeneous phase space coordinates of something involving the simulation data. The interpretation is highly dependent upon the context of the data. That is, this quantity is open for interpretation; we can be referring to the position of the design trajectory, an offset, or the location of the beam centroid, whatever "beam" means in the context. The units are meters and radians.

      NOTE:

      This quantity is obtuse and not well defined - PhaseCoordinates of what?
          · Is this a centroid location?
          · From which starting orbit?
          · Not all simulation results have quantities naturally associated with phase coordinates

      Parameters:
      state - simulation state where parameters are computed
      Returns:
      vector (x,x',y,y',z,z',1) of phase space coordinates
    • computeFixedOrbit

      PhaseVector computeFixedOrbit(S state)

      Computes the fixed orbit about which betatron oscillations occur. This value is well-defined for rings but could be ambiguous for beam envelope simulation, especially with regard to method #computeCoordinatePosition(ProbeState). The returned value for some given simulation types are provided below.

      In general the idea is that the returned coordinate z in phase space P6R6 × {1} is invariant under some map φ : P6P6 representing the dynamics of the system.

      IMPORTANT NOTE

      This method is provided to maintain compatibility with the previous use of computeFixedOrbit() presented by the trajectory classes for particles, beam envelopes, etc. (This method has been deprecated and discontinued.) The methods responded differently depending upon whether the structure producing the simulation data was from a ring or a linear transport/accelerator structure. This behavior has now changed, the method produces different results for different simulation types (e.g., particle, transfer map, envelope, etc.) rather than different simulation structures.

      When the underlying data is produced by a transfer map this method should return the fixed orbit position at the given state. When the underlying data is produced by a particle then the returned value should be the position of the particle at the given state location (for its given initial position). When the underlying data is from a beam envelope then this method should return the centroid location of the beam bunch (for its given initial condition).

      You must specify the simulation processing engine for each data type to use a SimResultsAdaptor. To reproduce the behavior of the past Trajectory#computeFixedOrbit(ProbeState) specify a CalculationsOnMachines simulation data processor for ring lattices and a CalculationsOnBeams simulation processor for linear lattices. This configuration is accommodated in the class SimpleSimResultsAdaptor exposing this interface.

      Parameters:
      state - simulation state where parameters are computed
      Returns:
      the reference orbit vector (x,x',y,y',z,z',1) (see comments)
    • computeChromAberration

      PhaseVector computeChromAberration(S state)
      Compute and return the aberration at the given state location due to energy spread. The returned value Δ is the vector

          Δ ≡ (Δx, Δx', Δy, Δy', 0, 0, 1)

      where, when multiplied by momentum spread δ ≡ Δp/p yields the change in fixed orbit position. That is z = z0 + δΔ.
      Parameters:
      state - simulation state where parameters are computed
      Returns:
      the vector Δ of dispersion coefficients
      Since:
      Nov 8, 2013