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, enmOrient
Fields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePos
Fields inherited from interface xal.model.elem.sync.IElectromagnet
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
Fields inherited from interface xal.model.IElement
LIGHT_SPEED, PERMEABILITY, PERMITTIVITY, UNIT_CHARGE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble
elapsedTime
(IProbe probe, double dblLen) Returns the time taken for the probeprobe
to propagate through a subsection of the element with lengthdblLen
.double
energyGain
(IProbe probe, double dblLen) Return the energy gain of the beamline element over a subsection of the specified length.void
initializeFrom
(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, setOrientation
Methods inherited from class xal.model.elem.ThickElement
applyErrors, getLength, isFirstSubslice, isLastSubslice, longitudinalPhaseAdvance, setLength
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, 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:ThickElectromagnet
Conversion method to be provided by the user- Specified by:
initializeFrom
in interfaceIComponent
- Overrides:
initializeFrom
in 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:
transferMap
in interfaceIElement
- Specified by:
transferMap
in 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:ThickElement
Return the energy gain of the beamline element over a subsection of the specified length.- Specified by:
energyGain
in interfaceIElement
- Specified by:
energyGain
in 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:Element
Returns the time taken for the probeprobe
to propagate through a subsection of the element with lengthdblLen
.- Specified by:
elapsedTime
in interfaceIElement
- Specified by:
elapsedTime
in 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
-