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 Stringstring type identifier for all ThinLens objectsFields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePosFields 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 TypeMethodDescriptiondoubleelapsedTime(IProbe probe) Returns the time taken for the probe to propagate through element.doubleenergyGain(IProbe probe) Returns zero for the energy gain imparted to any probe by a thin lens.voidprint(PrintWriter os) Dump current state and content to output stream.voidsetFocalLengthX(double dblFx) Set the focal length in the x direction.voidsetFocalLengthY(double dblFy) Set the focal length in the y direction.voidsetFocalLengthZ(double dblFz) Set the focal length in the z direction.protected PhaseMaptransferMap(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, transferMapMethods 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:
elapsedTimein 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:
energyGainin 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:
transferMapin 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.
-