Package xal.model.elem
Class ThinMatrix
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThinElement
xal.model.elem.ThinMatrix
- All Implemented Interfaces:
IComponent
,IElement
User element represent a general beamline element. Arbitrary beamline
elements are specified by providing the energy gain and transfer matrix a
priori. Note that for this element the transfer matrix and energy gain are
independent of any probe objects. Thus, this class should be used carefully.
Since this is a thin element there are no space charge kicks in the particle dynamics. If
- Author:
- Christopher Allen
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
string type identifier for all TranferMatrix 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
ConstructorsConstructorDescriptionJavaBean constructor - creates a new uninitialized instance of ThinMatrix BE CAREFULThinMatrix
(String strId) Creates a new instance of TransferMatrix.ThinMatrix
(String strId, PhaseMatrix matPhi) Creates a new instance of TransferMatrix.ThinMatrix
(String strId, PhaseMatrix matPhi, double dblDelW) Creates a new instance of ThinMatrix -
Method Summary
Modifier and TypeMethodDescriptiondouble
elapsedTime
(IProbe probe) Returns the time taken for the probe to propagate through element.double
energyGain
(IProbe probe) Returns the energy gain of this element, which is independent of all probe parameters.void
setElapsedTime
(double dblDelT) Set the elapsed time for all probes to propagate this element.void
setEnergyGain
(double dblDelW) Set the energy gain imparted to all probes.void
setTransferMatrix
(PhaseMatrix matPhi) Set the transfer matrix of the element for all probes.protected PhaseMap
transferMap
(IProbe probe) Returns the transfer map of this element, which only has a linear component corresponding to the transfer matrix,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, print, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition, toString
-
Field Details
-
TYPE
string type identifier for all TranferMatrix objects- See Also:
-
-
Constructor Details
-
ThinMatrix
Creates a new instance of ThinMatrix- Parameters:
strId
- string identifier of this objectmatPhi
- 7x7 transfer matrix of element in homogeneous coordinatesdblDelW
- energy gain of element (in electron-volts)
-
ThinMatrix
Creates a new instance of TransferMatrix. The energy gain is initialized to zero.- Parameters:
strId
- string identifier of this objectmatPhi
- 7x7 transfer matrix of element in homogeneous coordinates
-
ThinMatrix
Creates a new instance of TransferMatrix. The energy gain is initialized to zero. The transfer matrix is initialized to the 7x7 identity.- Parameters:
strId
- string identifier of this object
-
ThinMatrix
public ThinMatrix()JavaBean constructor - creates a new uninitialized instance of ThinMatrix BE CAREFUL
-
-
Method Details
-
setElapsedTime
public void setElapsedTime(double dblDelT) Set the elapsed time for all probes to propagate this element.- Parameters:
dblDelT
- elapsed time through element in seconds
-
setEnergyGain
public void setEnergyGain(double dblDelW) Set the energy gain imparted to all probes.- Parameters:
dblDelW
- energy gain (in electron-volts)
-
setTransferMatrix
Set the transfer matrix of the element for all probes.- Parameters:
matPhi
- 7x7 transfer matrix in homogeneous phase space coordinates
-
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 the energy gain of this element, which is independent of all probe parameters.- Specified by:
energyGain
in classThinElement
- Parameters:
probe
- dummy argument- Returns:
- energy gain (in electron-volts)
-
transferMap
Returns the transfer map of this element, which only has a linear component corresponding to the transfer matrix,
Note that since the transfer matrix is constant it is independent of the IProbe argument.
- Specified by:
transferMap
in classThinElement
- Parameters:
probe
- dummy argument- Returns:
- phase space transfer map
- Throws:
ModelException
- this should not occur
-