Class QuadrupoleLens

java.lang.Object
xal.tools.beam.optics.QuadrupoleLens

public class QuadrupoleLens extends Object
This is a utility class for computing properties of quadrupole lenses.
Author:
Christopher K. Allen
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    main(String[] args)
    Driver for testing.
    static double[][]
    transferDefPlane(double k, double l)
    Compute the characteristic transfer matrix for the defocusing plane of an ideal quadrupole lens with string k and length l.
    static double[][]
    transferDefPlaneApprox(double k, double l)
    approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
    static double[][]
    transferDefPlaneApproxSandWitch(double k, double l)
    approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
    static double[][]
    transferDefPlaneExact(double k, double l)
     
    static double[][]
    transferFocPlane(double k, double l)
    Compute the characteristic transfer matrix for the focusing plane of an ideal quadrupole lens with string k and length l.
    static double[][]
    transferFocPlaneApprox(double k, double l)
    approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
    static double[][]
    transferFocPlaneApproxSandWitch(double k, double l)
    approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
    static double[][]
    transferFocPlaneExact(double k, double l)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • QuadrupoleLens

      public QuadrupoleLens()
  • Method Details

    • transferFocPlane

      public static double[][] transferFocPlane(double k, double l)
      Compute the characteristic transfer matrix for the focusing plane of an ideal quadrupole lens with string k and length l.
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for focusing phase plane
    • transferDefPlane

      public static double[][] transferDefPlane(double k, double l)
      Compute the characteristic transfer matrix for the defocusing plane of an ideal quadrupole lens with string k and length l.
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for defocusing phase plane
    • transferFocPlaneExact

      public static double[][] transferFocPlaneExact(double k, double l)
    • transferDefPlaneExact

      public static double[][] transferDefPlaneExact(double k, double l)
    • transferFocPlaneApprox

      public static double[][] transferFocPlaneApprox(double k, double l)
      approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for defocusing phase plane
    • transferFocPlaneApproxSandWitch

      public static double[][] transferFocPlaneApproxSandWitch(double k, double l)
      approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for defocusing phase plane
    • transferDefPlaneApprox

      public static double[][] transferDefPlaneApprox(double k, double l)
      approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for defocusing phase plane
    • transferDefPlaneApproxSandWitch

      public static double[][] transferDefPlaneApproxSandWitch(double k, double l)
      approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006
      Parameters:
      k - strength of the quadrupole lens (in radians/meter)
      l - length of the quadrupole lens (in meters)
      Returns:
      2x2 transfer matrix for defocusing phase plane
    • main

      public static void main(String[] args)
      Driver for testing.
      Parameters:
      args - not used