Package xal.model.elem
Class IdealMagFringeQuadFace
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThinElement
xal.model.elem.ThinElectromagnet
xal.model.elem.IdealMagFringeQuadFace
- All Implemented Interfaces:
IElectromagnet,IComponent,IElement
Represents the action of a rotated dipole face as a thin lens effect. Note
that there is always an associated dipole magnet for any
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.- Author:
- Christopher K. Allen
- See Also:
-
- "D.C. Carey, The Optics of Charged Particle Beams (Harwood, 1987)"
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringParameters for XAL MODEL LATTICE dtdstatic final Stringstatic final Stringthe string type identifier for all IdealMagSteeringDipole'sFields inherited from class xal.model.elem.ThinElectromagnet
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
ConstructorsConstructorDescriptionDefault constructor - creates a new uninitialized instance of IdealMagSectorDipole.IdealMagFringeQuadFace(String strId) Constructor providing the instance identifier for the element. -
Method Summary
Modifier and TypeMethodDescriptiondoubleelapsedTime(IProbe probe) Returns the time taken for the probe to propagate through element.doubleenergyGain(IProbe probe) Return the energy gain for this Element.doublebooleangetEntr()doubleReturn the field path flag.doubleSet the second-order moment integral of the dipole fringe field as described by H.doubledoublegetK1()K1 (T/m)doublevoidsetBRhoScaling(double d) voidsetEntrFlag(boolean entr) voidsetFieldPathFlag(double ba) sako to set field path flagvoidsetFringeIntegral1(double dblFringeInt) Set the first-order moment integral of the dipole fringe field as described by H.voidsetFringeIntegral2(double dblFringeInt) Set the first-order moment integral of the dipole fringe field as described by H.voidsetK1(double dbl) K1 (T/m)voidsetNominalKineEnergy(double ba) protected PhaseMaptransferMap(IProbe probe) Compute and return the transfer map for this dipole magnet pole face element.Methods inherited from class xal.model.elem.ThinElectromagnet
getMagField, getOrientation, initializeFrom, setMagField, setOrientationMethods inherited from class xal.model.elem.ThinElement
applyErrors, elapsedTime, energyGain, getLength, longitudinalPhaseAdvance, longitudinalPhaseAdvance, transferMapMethods 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
-
Field Details
-
TYPE
the string type identifier for all IdealMagSteeringDipole's- See Also:
-
PARAM_LEN_EFF
Parameters for XAL MODEL LATTICE dtd- See Also:
-
PARAM_ORIENT
- See Also:
-
PARAM_FIELD
- See Also:
-
-
Constructor Details
-
IdealMagFringeQuadFace
public IdealMagFringeQuadFace()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. -
IdealMagFringeQuadFace
Constructor providing the instance identifier for the element.- Parameters:
strId- string identifier for element
-
-
Method Details
-
setEntrFlag
public void setEntrFlag(boolean entr) -
getBRhoScaling
public double getBRhoScaling() -
setBRhoScaling
public void setBRhoScaling(double d) -
setNominalKineEnergy
public void setNominalKineEnergy(double ba) -
getNominalKineEnergy
public double getNominalKineEnergy() -
getK1
public double getK1()K1 (T/m)- Returns:
- K1
-
setK1
public void setK1(double dbl) K1 (T/m) -
setFringeIntegral1
public void setFringeIntegral1(double dblFringeInt) Set the first-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field. Denoting the integral f1 has the definition f1 := sign(a)sqrt(a) a = -24 [I1sad-I0sad^2/2] where I(n)sad := Integral{[z - z0] k(z)/k0}dz where k0 is normal k0*Len. The integral taken from -infinity to z = infinity.- Parameters:
dblFringeInt- field moment f1 (dimensionless)
-
setFringeIntegral2
public void setFringeIntegral2(double dblFringeInt) Set the first-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field. Denoting the integral f1 has the definition f2 := [I2sad-I0sad^2/3] where I(n)sad := Integral{[z - z0] k(z)/k0}dz where k0 is normal k0*Len. The integral taken from -infinity to z = infinity.- Parameters:
dblFringeInt- field moment f1 (dimensionless)
-
setFieldPathFlag
public void setFieldPathFlag(double ba) sako to set field path flag- Parameters:
ba-
-
getFringeIntegral1
public double getFringeIntegral1()Set the second-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field.- Returns:
- second-order integral of fringe field (dimensionless)
- See Also:
-
IdealMagFringeQuadFace#setFringeIntegral(double)
-
getFringeIntegral2
public double getFringeIntegral2() -
getEntr
public boolean getEntr() -
getFieldPathFlag
public double getFieldPathFlag()Return the field path flag.- Returns:
- field path flag = 1 (use design field) or 0 (use bField parameter)
-
elapsedTime
Returns the time taken for the probe to propagate through element.- Specified by:
elapsedTimein classThinElement- Parameters:
probe- propagating probe- Returns:
- value of zero
-
energyGain
Return the energy gain for this Element.- Specified by:
energyGainin classThinElement- Parameters:
probe- propagating probe- Returns:
- value of zero
-
transferMap
Compute and return the transfer map for this dipole magnet pole face element.- Specified by:
transferMapin classThinElement- Parameters:
probe-- Returns:
- Throws:
ModelException- See Also:
-