Package xal.model.elem
Class ThinLens
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThinElement
xal.model.elem.ThinLens
- All Implemented Interfaces:
IComponent
,IElement
Represents a thin lens abstract modeling element in a particle beam
transport/accelerator system.
A zero value for focal length indicates zero focusing strength, or infinite focal length. Positive focal lengths imply focusing while negative values imply defocusing.
- Author:
- Christopher K. Allen
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
string type identifier for all ThinLens objectsFields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePos
Fields inherited from interface xal.model.IElement
LIGHT_SPEED, PERMEABILITY, PERMITTIVITY, UNIT_CHARGE
-
Constructor Summary
ConstructorsConstructorDescriptionThinLens()
JavaBean Constructor - creates a new uninitialized instance of ThinLens BE CAREFULCreates a new instance of ThinLens A zero value for focal length indicates zero focusing strength, or infinite focal length. -
Method Summary
Modifier and TypeMethodDescriptiondouble
elapsedTime
(IProbe probe) Returns the time taken for the probe to propagate through element.double
energyGain
(IProbe probe) Returns zero for the energy gain imparted to any probe by a thin lens.void
print
(PrintWriter os) Dump current state and content to output stream.void
setFocalLengthX
(double dblFx) Set the focal length in the x direction.void
setFocalLengthY
(double dblFy) Set the focal length in the y direction.void
setFocalLengthZ
(double dblFz) Set the focal length in the z direction.protected PhaseMap
transferMap
(IProbe probe) Compute and return the block-diagonal transfer matrix representing a thin lens in each phase plane.Methods inherited from class xal.model.elem.ThinElement
applyErrors, elapsedTime, energyGain, getLength, longitudinalPhaseAdvance, longitudinalPhaseAdvance, transferMap
Methods inherited from class xal.model.elem.Element
addCloseElements, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getLatticePosition, getNodeLen, getNodePos, getParent, getPhiX, getPhiY, getPhiZ, getPosition, getType, getUID, initializeFrom, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition, toString
-
Field Details
-
TYPE
string type identifier for all ThinLens objects- See Also:
-
-
Constructor Details
-
ThinLens
Creates a new instance of ThinLens A zero value for focal length indicates zero focusing strength, or infinite focal length. Positive focal lengths imply focusing while negative values imply defocusing.- Parameters:
strId
- string identifier of elementdblFx
- focal length in the x phase plane (in meters)dblFy
- focal length in the y phase plane (in meters)dblFz
- focal length in the z phase plane (in meters)
-
ThinLens
public ThinLens()JavaBean Constructor - creates a new uninitialized instance of ThinLens BE CAREFUL
-
-
Method Details
-
setFocalLengthX
public void setFocalLengthX(double dblFx) Set the focal length in the x direction.- Parameters:
dblFx
- focal length in the x phase plane (in meters)
-
setFocalLengthY
public void setFocalLengthY(double dblFy) Set the focal length in the y direction.- Parameters:
dblFy
- focal length in the y phase plane (in meters)
-
setFocalLengthZ
public void setFocalLengthZ(double dblFz) Set the focal length in the z direction.- Parameters:
dblFz
- focal length in the z phase plane (in meters)
-
elapsedTime
Returns the time taken for the probe to propagate through element.- Specified by:
elapsedTime
in classThinElement
- Parameters:
probe
- propagating probe- Returns:
- the value zero
-
energyGain
Returns zero for the energy gain imparted to any probe by a thin lens.- Specified by:
energyGain
in classThinElement
- Parameters:
probe
- dummy argument- Returns:
- a value of zero
-
transferMap
Compute and return the block-diagonal transfer matrix representing a thin lens in each phase plane.- Specified by:
transferMap
in classThinElement
- Parameters:
probe
- dummy argument, no probe parameters are used- Returns:
- the block diagonal transfer matrix
- Throws:
ModelException
- this should not occur
-
print
Dump current state and content to output stream.
-