Package xal.extension.jels.model.elem
Class ThickMagFieldMap
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThickElement
xal.model.elem.ThickElectromagnet
xal.extension.jels.model.elem.ThickMagFieldMap
- All Implemented Interfaces:
IElectromagnet,IComponent,IElement
Thick element version for magnetic field map implementation. This class is
supposed to be faster than the
ThickMagFieldMap for fieldmaps with
many data points, since it removes the overhead of creating an element for
every point in the fieldmap. The drawback is that it can't be superposed to
other ThickElements.- Author:
- Juan F. Esteban Müller <JuanF.EstebanMuller@esss.se>
-
Field Summary
Fields inherited from class xal.model.elem.ThickElectromagnet
dblField, enmOrientFields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePosFields inherited from interface xal.model.elem.sync.IElectromagnet
ORIENT_HOR, ORIENT_NONE, ORIENT_VERFields inherited from interface xal.model.IElement
LIGHT_SPEED, PERMEABILITY, PERMITTIVITY, UNIT_CHARGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleelapsedTime(IProbe probe, double dblLen) Returns the time taken for the probeprobeto propagate through a subsection of the element with lengthdblLen.doubleenergyGain(IProbe probe, double dblLen) Return the energy gain of the beamline element over a subsection of the specified length.voidinitializeFrom(LatticeElement element) Conversion method to be provided by the usertransferMap(IProbe probe, double dblLen) Method calculates transfer matrix for the field map on the current range (i.e from probe.getPosition, and for dblLength).Methods inherited from class xal.model.elem.ThickElectromagnet
getMagField, getOrientation, setMagField, setOrientationMethods inherited from class xal.model.elem.ThickElement
applyErrors, getLength, isFirstSubslice, isLastSubslice, longitudinalPhaseAdvance, setLengthMethods 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, print, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition, toString
-
Constructor Details
-
ThickMagFieldMap
public ThickMagFieldMap() -
ThickMagFieldMap
-
-
Method Details
-
initializeFrom
Description copied from class:ThickElectromagnetConversion method to be provided by the user- Specified by:
initializeFromin interfaceIComponent- Overrides:
initializeFromin classThickElectromagnet- Parameters:
element- the SMF node to convert
-
transferMap
Method calculates transfer matrix for the field map on the current range (i.e from probe.getPosition, and for dblLength).- Specified by:
transferMapin interfaceIElement- Specified by:
transferMapin classThickElement- Parameters:
probe- probe containing parameters for the sub-sectional transfer matrixdblLen- length of sub-element- Returns:
- Throws:
ModelException- See Also:
-
energyGain
Description copied from class:ThickElementReturn the energy gain of the beamline element over a subsection of the specified length.- Specified by:
energyGainin interfaceIElement- Specified by:
energyGainin classThickElement- Parameters:
probe- probe for which energy gain is to be determineddblLen- subsection length to calculate energyGain for- Returns:
- the value #subEnergyGain(probe)*#getCount()
-
elapsedTime
Description copied from class:ElementReturns the time taken for the probeprobeto propagate through a subsection of the element with lengthdblLen.- Specified by:
elapsedTimein interfaceIElement- Specified by:
elapsedTimein classThickElement- Parameters:
probe- determine energy gain for this probedblLen- length of subsection to calculate energy gain for- Returns:
- the elapsed time through section
Units: seconds
-