Package xal.model.elem
Class IdealMagSectorDipole
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThickElement
xal.model.elem.ThickElectromagnet
xal.model.elem.IdealMagSectorDipole
- All Implemented Interfaces:
IElectromagnet
,IComponent
,IElement
Deprecated.
Represents a thick magnetic dipole magnet for a beam in a sector
configuration. Thus, there are no edge effects as the beam enters the magnet
orthogonally.
The MAD convention for sector magnets is followed for coordinates, signs, and
lengths. The formulation from D. Carey's Optics book, Transport manual, and
H. Wiedemann's books are used.
TODO - Add "tilt" angle of the dipole, and add charge of the probe to get the
right bend radius.
- Author:
- jdg, Christopher K. Allen
- See Also:
-
- "D.C. Carey, The Optics of Charged Particle Beams (Harwood, 1987)"
- "H. Wiedemann, Particle Accelerator Physics I, 2nd Ed. (Springer, 1999)"
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Deprecated.static final String
Deprecated.static final String
Deprecated.static final String
Deprecated.all thick elements have length - CKAstatic final String
Deprecated.static final String
Deprecated.string type identifier for all IdealMagSectorDipole objectsFields 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
ConstructorsConstructorDescriptionDeprecated.Default constructor - creates a new uninitialized instance of IdealMagSectorDipole.IdealMagSectorDipole
(String strId) Deprecated.Default constructor - creates a new uninitialized instance of IdealMagSectorDipole.IdealMagSectorDipole
(String strId, double dblLen, int enmOrient, double dblFld, double dblGap, double dblFldInd) Deprecated.Creates a new instance of IdealMagSectorDipole -
Method Summary
Modifier and TypeMethodDescriptiondouble
compCurvature
(IProbe probe) Deprecated.Compute the path curvature within the dipole for the given probe.double
elapsedTime
(IProbe probe, double dblLen) Deprecated.Returns the time taken for the probe to drift through part of the element.double
energyGain
(IProbe probe, double dblLen) Deprecated.Return the energy gain imparted to a particular probe.double
Deprecated.double
Deprecated.Return the magnetic field index of the magnet evaluated at the design orbit.double
Deprecated.double
Deprecated.Return the gap size between the dipole magnet poles.double
Deprecated.void
print
(PrintWriter os) Deprecated.Dump current state and content to output stream.void
setBendAngle
(double ba) Deprecated.void
setFieldIndex
(double dblFldInd) Deprecated.Set the magnetic field index of the magnet evaluated at the design orbit.void
setFieldPathFlag
(double ba) Deprecated.void
setGapHeight
(double dblGap) Deprecated.Set the gap size between the dipole magnet poles.void
setPathLength
(double pl) Deprecated.transferMap
(IProbe probe, double dL) Deprecated.Compute the partial transfer map of an ideal sector magnet for the particular probe.transferMapThickDipole
(IProbe probe, double dL) Deprecated.A version from ThickDipole.Methods inherited from class xal.model.elem.ThickElectromagnet
getMagField, getOrientation, initializeFrom, 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, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition, toString
-
Field Details
-
TYPE
Deprecated.string type identifier for all IdealMagSectorDipole objects- See Also:
-
PATH_LENGTH
Deprecated.all thick elements have length - CKA- See Also:
-
FIELD
Deprecated.- See Also:
-
ENTRANCE_ANGLE
Deprecated.- See Also:
-
EXIT_ANGLE
Deprecated.- See Also:
-
QUAD_COMPONENT
Deprecated.- See Also:
-
-
Constructor Details
-
IdealMagSectorDipole
public IdealMagSectorDipole()Deprecated.Default constructor - creates a new uninitialized instance of IdealMagSectorDipole. This is the constructor called in automatic lattice generation. Thus, all element properties are set following construction. -
IdealMagSectorDipole
Deprecated.Default constructor - creates a new uninitialized instance of IdealMagSectorDipole. This is the constructor called in automatic lattice generation. Thus, all element properties are set following construction. -
IdealMagSectorDipole
public IdealMagSectorDipole(String strId, double dblLen, int enmOrient, double dblFld, double dblGap, double dblFldInd) Deprecated.Creates a new instance of IdealMagSectorDipole- Parameters:
strId
- identifier for this IdealMagSectorDipole objectdblFld
- field gradient strength (in Tesla)dblLen
- pathLength of the dipole (in m)enmOrient
- orientationdblGap
- full pole gap of the dipole (in m)dblFldInd
- field index
-
-
Method Details
-
setFieldIndex
public void setFieldIndex(double dblFldInd) Deprecated.Set the magnetic field index of the magnet evaluated at the design orbit. The field index is defined as n := -(R0/B0)(dB/dR) where R0 is the radius of the design orbit, B0 is the field at the design orbit (@see IdealMagSectorDipole#getField), and dB/dR is the derivative of the field with respect to the path deflection - evaluated at the design radius R0.- Parameters:
dblFldInd
- field index of the magnet (unitless)
-
setGapHeight
public void setGapHeight(double dblGap) Deprecated.Set the gap size between the dipole magnet poles.- Parameters:
dblGap
- gap size in meters
-
setPathLength
public void setPathLength(double pl) Deprecated. -
setBendAngle
public void setBendAngle(double ba) Deprecated. -
setFieldPathFlag
public void setFieldPathFlag(double ba) Deprecated. -
getPathLength
public double getPathLength()Deprecated. -
getBendAngle
public double getBendAngle()Deprecated. -
getFieldPathFlag
public double getFieldPathFlag()Deprecated. -
getFieldIndex
public double getFieldIndex()Deprecated.Return the magnetic field index of the magnet evaluated at the design orbit. The field index is defined as n := -(R0/B0)(dB/dR) where R0 is the radius of the design orbit, B0 is the field at the design orbit (@see IdealMagSectorDipole#getField), and dB/dR is the derivative of the field with respect to the path deflection - evaluated at the design radius R0.- Returns:
- field index of the magnet at the design orbit (unitless)
-
getGapHeight
public double getGapHeight()Deprecated.Return the gap size between the dipole magnet poles.- Returns:
- gap size in meters
-
compCurvature
Deprecated.Compute the path curvature within the dipole for the given probe. The path curvature is 1/R where R is the bending radius of the dipole (radius of curvature). Note that for zero fields the radius of curvature is infinite while the path curvature is zero.- Parameters:
probe
- probe object to be deflected- Returns:
- dipole path curvature for given probe (in 1/meters)
-
elapsedTime
Deprecated.Returns the time taken for the probe to drift through part of the element.- Specified by:
elapsedTime
in interfaceIElement
- Specified by:
elapsedTime
in classThickElement
- Parameters:
probe
- propagating probedblLen
- length of subsection to propagate through meters- Returns:
- the elapsed time through sectionUnits: seconds
-
energyGain
Deprecated.Return the energy gain imparted to a particular probe. For an ideal quadrupole magnet this value is always zero.- Specified by:
energyGain
in interfaceIElement
- Specified by:
energyGain
in classThickElement
- Parameters:
dblLen
- dummy argumentprobe
- dummy argument- Returns:
- returns a zero value
-
transferMap
Deprecated.Compute the partial transfer map of an ideal sector magnet for the particular probe. Computes transfer map for a section of magnetdblLen
meters in length.- Specified by:
transferMap
in interfaceIElement
- Specified by:
transferMap
in classThickElement
- Parameters:
dL
- compute transfer matrix for section of this path lengthprobe
- uses the rest and kinetic energy parameters from the probe- Returns:
- transfer map of ideal sector magnet for particular probe
- Throws:
ModelException
- unknown quadrupole orientation- See Also:
-
transferMapThickDipole
Deprecated.A version from ThickDipole. The results is very similar as this.transferMap Compute the partial transfer map of an ideal quadrupole for the particular probe. Computes transfer map for a section of quadrupoledblLen
meters in length.- Parameters:
dL
- compute transfer matrix for section of this path lengthprobe
- uses the rest and kinetic energy parameters from the probe- Returns:
- transfer map of ideal quadrupole for particular probe
- Throws:
ModelException
- unknown quadrupole orientation
-
print
Deprecated.Dump current state and content to output stream.
-
IdealMagSectorDipole2