public class IdealEDipole extends ThickElectrostatic
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
s_strEntranceAngle |
static java.lang.String |
s_strExitAngle |
static java.lang.String |
s_strParamVoltage
all thick elements have length - CKA.
|
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 ThickDipole objects
|
dblField, enmOrientORIENT_HOR, ORIENT_NONE, ORIENT_VERLightSpeed, Permeability, Permittivity, UnitCharge| Constructor and Description |
|---|
IdealEDipole()
JavaBean constructor - creates a new uninitialized instance
of ThickDipole.
|
IdealEDipole(java.lang.String strId,
double m_dblVoltage,
double len,
double entAng,
double exitAng,
double gap,
double fInt)
Creates a new instance of IdealEDipole.
|
| Modifier and Type | Method and Description |
|---|---|
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)
Returns the energy gain imparted to a particular probe.
|
double |
getEntranceAngle()
Returns the dipole entrance angle.
|
double |
getExitAngle()
Returns the dipole exit angle.
|
double |
getFieldIntegral()
convenient method to return fringe field integral
|
double |
getKQuad()
Returns the quadrupole field index.
|
int |
getOrientation()
Returns the magnet orientation.
|
double |
getReferenceBendAngle()
Returns the reference bend angle (rad).
|
double |
getVoltage()
Returns the applied voltage.
|
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream.
|
void |
setDipoleInd(int ind)
Set dipole indicator so the transfer map can handle edge effect correctly.
|
void |
setEntranceAngle(double dblAng)
Sets the dipole entrance angle.
|
void |
setExitAngle(double dblAng)
Sets the dipole exit angle.
|
void |
setFieldIntegral(double fint)
Sets the fringe field integral factor.
|
void |
setGapHeight(double gap)
Sets the gap height
|
void |
setKQuad(double k)
Sets the quadrupole field index.
|
void |
setOrientation(int enmOrient)
Sets the magnet orientation.
|
void |
setReferenceBendAngle(double dblAng)
Sets the reference bend angle (rad).
|
void |
setVoltage(double voltage)
Sets the magnetic field strength.
|
PhaseMap |
transferMap(IProbe probe,
double dL)
Computes the partial transfer map of an ideal dipole
for the particular probe.
|
getMagField, initializeFrom, setMagFieldgetLength, setLengthaddCloseElements, applyAlignError, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getPosition, getType, getUID, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setPosition, toStringpublic static final java.lang.String s_strType
public static final java.lang.String s_strPathLength
public static final java.lang.String s_strParamVoltage
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 IdealEDipole(java.lang.String strId,
double m_dblVoltage,
double len,
double entAng,
double exitAng,
double gap,
double fInt)
strId - identifier for this IdealEDipole objectm_dblVoltage - voltage applied to pole tip (in kV)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 focusing (dimensionless).
Should be:
= 1/6 for linear drop off,
=~0.4 for clamped Rogowski coil,
= 0.7 for an unclamped Rogowski coil, or
= 0.45 for square edge - non saturating magnet.public IdealEDipole()
public void setEntranceAngle(double dblAng)
dblAng - entrance angle in radianspublic double getEntranceAngle()
public void setExitAngle(double dblAng)
dblAng - exit angle in radianspublic double getExitAngle()
public void setKQuad(double k)
k - = 1/B-rho * d B_y/dxpublic double getKQuad()
public double getFieldIntegral()
public void setReferenceBendAngle(double dblAng)
public double getReferenceBendAngle()
public void setOrientation(int enmOrient)
setOrientation in interface IElectrostaticsetOrientation in class ThickElectrostaticenmOrient - magnet orientation enumeration codegetOrientation()public void setDipoleInd(int ind)
ind - 0 = first half of a dipole, 1 = second half and 2 = no splitpublic int getOrientation()
getOrientation in interface IElectrostaticgetOrientation in class ThickElectrostaticpublic void setVoltage(double voltage)
voltage - pole tip voltage (in public double getVoltage()
public double elapsedTime(IProbe probe, double dblLen)
elapsedTime in interface IElementelapsedTime in class Elementprobe - propagating probedblLen - subsection propagation length meterspublic double energyGain(IProbe probe, double dblLen)
energyGain in interface IElementenergyGain in class ThickElementdblLen - dummy argumentprobe - dummy argumentpublic void setFieldIntegral(double fint)
fint - the field integral a la MAD
= 1/6 for linear drop off
= 0.4 for clamped Rogowski coil
= 0.7 for unclamped Rogowski coil
= 0.45 for square edge - non saturating magnetpublic void setGapHeight(double gap)
gap - = full gap height (m)public PhaseMap transferMap(IProbe probe, double dL) throws ModelException
dblLen meters in length.transferMap in interface IElementtransferMap in class ThickElementprobe - uses the rest and kinetic energy
parameters from the probe.dL - compute transfer matrix for section of this path length.ModelException - unknown quadrupole orientation.IElement.transferMap(IProbe,double)