public class IdealMagSectorDipole extends ThickElectromagnet
Carey, The Optics of Charged Particle Beams (Harwood, 1987)
,
Wiedemann, Particle Accelerator Physics I, 2nd Ed. (Springer, 1999)
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
s_strEntranceAngle |
static java.lang.String |
s_strExitAngle |
static java.lang.String |
s_strField |
static java.lang.String |
s_strPathLength
Parameters for XAL MODEL LATTICE dtd
|
static java.lang.String |
s_strQuadComponent |
static java.lang.String |
s_strType
string type identifier for all IdealMagSectorDipole objects
|
dblField, enmOrient
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
LightSpeed, Permeability, Permittivity, UnitCharge
Constructor and Description |
---|
IdealMagSectorDipole()
Default constructor - creates a new unitialized instance of
IdealMagSectorDipole.
|
IdealMagSectorDipole(java.lang.String strId)
Default constructor - creates a new unitialized instance of
IdealMagSectorDipole.
|
IdealMagSectorDipole(java.lang.String strId,
double dblLen,
int enmOrient,
double dblFld,
double dblGap,
double dblFldInd)
Creates a new instance of IdealMagSectorDipole
|
Modifier and Type | Method and Description |
---|---|
double |
compCurvature(IProbe probe)
Compute the path curvature within the dipole for the given probe.
|
double |
elapsedTime(IProbe probe,
double dblLen)
Returns the time taken for the probe to drift through part of the
element.
|
double |
energyGain(IProbe probe,
double dblLen)
Return the energy gain imparted to a particular probe.
|
double |
getBendAngle() |
double |
getFieldIndex()
Return the magnetic field index of the magnet evaluated at the design
orbit.
|
double |
getFieldPathFlag() |
double |
getGapHeight()
Return the gap size between the dipole magnet poles.
|
double |
getPathLength() |
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream.
|
void |
setBendAngle(double ba) |
void |
setFieldIndex(double dblFldInd)
Set the magnetic field index of the magnet evaluated at the design
orbit.
|
void |
setFieldPathFlag(double ba) |
void |
setGapHeight(double dblGap)
Set the gap size between the dipole magnet poles.
|
void |
setPathLength(double pl) |
PhaseMap |
transferMap(IProbe probe,
double dL)
Compute the partial transfer map of an ideal sector magnet for the
particular probe.
|
PhaseMap |
transferMapThickDipole(IProbe probe,
double dL)
A version from ThickDipole.
|
getMagField, getOrientation, initializeFrom, setMagField, setOrientation
getLength, setLength
addCloseElements, applyAlignError, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getPosition, getType, getUID, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setPosition, toString
public static final java.lang.String s_strType
public static final java.lang.String s_strPathLength
public static final java.lang.String s_strField
public static final java.lang.String s_strEntranceAngle
public static final java.lang.String s_strExitAngle
public static final java.lang.String s_strQuadComponent
public IdealMagSectorDipole()
public IdealMagSectorDipole(java.lang.String strId)
public IdealMagSectorDipole(java.lang.String strId, double dblLen, int enmOrient, double dblFld, double dblGap, double dblFldInd)
strId
- identifier for this IdealMagSectorDipole objectfld
- field gradient strength (in Tesla)len
- pathLength of the dipole (in m)entAng
- entrance angle of the dipole (in rad)exitAng
- exit angle of the dipole (in rad)gap
- full pole gap of the dipole (in m)fInt
- The dimensionless integral term for the extended fringe field focsing, Should be = 1/6 for linear drop off, ~ 0.4 for clamped Rogowski coil, or 0.7 for an unclamped Rogowski coil. (dimensionless)public void setFieldIndex(double dblFldInd)
dblFldInd
- field index of the magnet (unitless)public void setGapHeight(double dblGap)
dblGap
- gap size in meterspublic void setPathLength(double pl)
public void setBendAngle(double ba)
public void setFieldPathFlag(double ba)
public double getPathLength()
public double getBendAngle()
public double getFieldPathFlag()
public double getFieldIndex()
public double getGapHeight()
public double compCurvature(IProbe probe)
probe
- probe object to be deflectedpublic double elapsedTime(IProbe probe, double dblLen)
elapsedTime
in interface IElement
elapsedTime
in class Element
probe
- propagating probedblLen
- length of subsection to propagate through meterspublic double energyGain(IProbe probe, double dblLen)
energyGain
in interface IElement
energyGain
in class ThickElement
dblLen
- dummy argumentprobe
- dummy argumentpublic PhaseMap transferMap(IProbe probe, double dL) throws ModelException
dblLen
meters in length.transferMap
in interface IElement
transferMap
in class ThickElement
dL
- compute transfer matrix for section of this path lengthprobe
- uses the rest and kinetic energy parameters from the probeModelException
- unknown quadrupole orientationIElement.transferMap(IProbe,double)
public PhaseMap transferMapThickDipole(IProbe probe, double dL) throws ModelException
dblLen
meters
in length.dL
- compute transfer matrix for section of this path lengthprobe
- uses the rest and kinetic energy parameters from the probeModelException
- unknown quadrupole orientation