Class TrajectoryGraph

All Implemented Interfaces:
MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class TrajectoryGraph extends FunctionGraphsJPanel
Represents a graph of an online model simulation solution. The graph will display the horizontal, vertical, and longitudinal RMS envelopes (see EnvelopeCurve), particle positions (see ParticleCurve), or any other object derived from BasicGraphData.
Since:
Nov 26, 2012
Author:
Christopher K. Allen
See Also:
  • Method Details

    • createParticleGraph

      public static TrajectoryGraph createParticleGraph(Trajectory<ParticleProbeState> trjPar) throws IllegalArgumentException
      Creates a new graph object of the particle trajectory contained in the given Trajectory object.
      Parameters:
      trjPar - trajectory object containing particle coordinate positions as function of beamline position
      Returns:
      graph with curves showing particle positions in each phase plane
      Throws:
      IllegalArgumentException - the argument is not a particle trajectory object
      Since:
      Nov 26, 2012
    • createEnvelopeGraph

      public static TrajectoryGraph createEnvelopeGraph(Trajectory<EnvelopeProbeState> trjEnv) throws IllegalArgumentException
      Creates a new graph object of the RMS envelope solution contained in the given trajectory.
      Parameters:
      trjEnv - trajectory object containing envelope solution
      Returns:
      graph with curves showing envelope trajectory for each phase plane
      Throws:
      IllegalArgumentException - the argument is not an envelope trajectory object
      Since:
      Nov 26, 2012
    • addGraphData

      public void addGraphData(PLANE plane, BasicGraphData crvTrj)
      Adds a new curve to the trajectory graph for the give plane. The curve type need only be derived from BasicGraphData so this is a general object.
      Parameters:
      plane - the curve will display under this phase plane characteristics
      crvTrj - the curve being displayed
      Since:
      Apr 18, 2013