public class IdealMagDipoleFace extends ThinElectromagnet
IdealMagDipoleFace
. The two objects should provide the same
values for the IElectromagnet
interface. Note that a dipole
face rotation has the same effect both on beam entering the dipole or
exiting the dipole.
The model for the pole face effect is taken from D.C. Carey's book.Carey, The Optics of Charged Particle Beams (Harwood, 1987)
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
s_strParamField |
static java.lang.String |
s_strParamLenEff
Parameters for XAL MODEL LATTICE dtd
|
static java.lang.String |
s_strParamOrient |
static java.lang.String |
s_strType
the string type identifier for all IdealMagSteeringDipole's
|
dblField, enmOrient
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
LightSpeed, Permeability, Permittivity, UnitCharge
Constructor and Description |
---|
IdealMagDipoleFace()
Default constructor - creates a new unitialized instance of
IdealMagSectorDipole.
|
IdealMagDipoleFace(java.lang.String strId)
Constructor providing the instance identifier for the element.
|
Modifier and Type | Method and Description |
---|---|
double |
elapsedTime(IProbe probe)
Returns the time taken for the probe to propagate through element.
|
double |
energyGain(IProbe probe)
Return the energy gain for this Element.
|
double |
getBendAngle() |
double |
getFieldPathFlag() |
double |
getFringeIntegral()
Set the second-order moment integral of the dipole fringe field
as described by D.C.
|
double |
getGapHeight()
Return distance between dipole magnet poles.
|
double |
getPathLength() |
double |
getPoleFaceAngle()
Return the angle between the pole face normal vector and the design
trajectory.
|
void |
setBendAngle(double ba) |
void |
setFieldPathFlag(double ba) |
void |
setFringeIntegral(double dblFrngMmt)
Set the second-order moment integral of the dipole fringe field
as described by D.C.
|
void |
setGapHeight(double dblGap)
Set the gap height between the magnet poles.
|
void |
setPathLength(double pl) |
void |
setPoleFaceAngle(double dblAngPole)
Set the angle between the pole face normal vector and the design
trajectory.
|
protected PhaseMap |
transferMap(IProbe probe)
Compute the transfer matrix of this element.
|
getMagField, getOrientation, initializeFrom, setMagField, setOrientation
elapsedTime, energyGain, getLength, transferMap
addCloseElements, applyAlignError, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getPosition, getType, getUID, print, 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_strParamLenEff
public static final java.lang.String s_strParamOrient
public static final java.lang.String s_strParamField
public IdealMagDipoleFace()
public IdealMagDipoleFace(java.lang.String strId)
strId
- string identifier for elementpublic void setPoleFaceAngle(double dblAngPole)
dblAngPole
- pole face angle in radianspublic void setGapHeight(double dblGap)
dblGap
- gap size in meterspublic void setFringeIntegral(double dblFrngMmt)
dblFrngMmt
- field moment I2 (dimensionless)public 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 getGapHeight()
public double getPoleFaceAngle()
public double getFringeIntegral()
setFringeIntegral(double)
public double elapsedTime(IProbe probe)
elapsedTime
in class ThinElement
probe
- propagating probepublic double energyGain(IProbe probe)
energyGain
in class ThinElement
probe
- propagating probeprotected PhaseMap transferMap(IProbe probe) throws ModelException
ThinElement
transferMap
in class ThinElement
probe
- ModelException
xal.sim.slg.sns.xal.model.elem.ThinElement#transferMap(gov.sns.xal.model.IProbe)