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, enmOrient
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
LightSpeed, 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, setMagField
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_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 IElectrostatic
setOrientation
in class ThickElectrostatic
enmOrient
- 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 IElectrostatic
getOrientation
in class ThickElectrostatic
public void setVoltage(double voltage)
voltage
- pole tip voltage (in public double getVoltage()
public double elapsedTime(IProbe probe, double dblLen)
elapsedTime
in interface IElement
elapsedTime
in class Element
probe
- propagating probedblLen
- subsection propagation length meterspublic double energyGain(IProbe probe, double dblLen)
energyGain
in interface IElement
energyGain
in class ThickElement
dblLen
- 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 IElement
transferMap
in class ThickElement
probe
- 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)