Package xal.tools.beam.optics
Class QuadrupoleLens
java.lang.Object
xal.tools.beam.optics.QuadrupoleLens
This is a utility class for computing properties of quadrupole lenses.
- Author:
- Christopher K. Allen
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidDriver for testing.static double[][]transferDefPlane(double k, double l) Compute the characteristic transfer matrix for the defocusing plane of an ideal quadrupole lens with stringkand lengthl.static double[][]transferDefPlaneApprox(double k, double l) approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006static double[][]transferDefPlaneApproxSandWitch(double k, double l) approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006static 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 stringkand lengthl.static double[][]transferFocPlaneApprox(double k, double l) approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006static double[][]transferFocPlaneApproxSandWitch(double k, double l) approximation valid only for thin lens (adaptive tracking should work well Sako, 20 Sep 2006static double[][]transferFocPlaneExact(double k, double l)
-
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 stringkand lengthl.- 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 stringkand lengthl.- 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
Driver for testing.- Parameters:
args- not used
-