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 void
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 stringk
and 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 stringk
and 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 stringk
and 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 stringk
and 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
-