public class ThickDipole extends ThickElectromagnet
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 ThickDipole objects
|
dblField, enmOrient
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
LightSpeed, Permeability, Permittivity, UnitCharge
Constructor and Description |
---|
ThickDipole()
JavaBean constructor - creates a new unitialized instance of ThickDipole *
This is the constructor called in automatic lattice generation.
|
ThickDipole(java.lang.String strId,
double fld,
double len,
double entAng,
double exitAng,
double gap,
double fInt)
Creates a new instance of ThickDipole
|
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)
Return the energy gain imparted to a particular probe.
|
double |
getALignX() |
double |
getAlignY() |
double |
getAlignZ() |
double |
getBendAngle() |
double |
getEntranceAngle()
Gets the entrance angle of the beam into the dipole.
|
double |
getExitAngle()
Gets the exit angle of the beam into the dipole.
|
double |
getFieldIndex(IProbe probe)
get field index nQ
|
double |
getFieldPathFlag() |
double |
getKQuad()
Gets the quad.
|
double |
getPathLength() |
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream.
|
void |
setAlignX(double x) |
void |
setAlignY(double y) |
void |
setAlignZ(double z) |
void |
setBendAngle(double ba) |
void |
setEntranceAngle(double dblAng)
Sets the entrance angle of the beam into the dipole.
|
void |
setExitAngle(double dblAng)
Sets the entrance angle of the beam into the dipole.
|
void |
setFieldIntegral(double fint)
set the fring field integral factor
|
void |
setFieldPathFlag(double ba) |
void |
setGapHeight(double gap)
set the gap height
|
void |
setKQuad(double k)
Sets the quad.
|
void |
setPathLength(double pl) |
PhaseMap |
transferMap(IProbe probe,
double dL)
Compute the partial transfer map of an ideal quadrupole for the particular probe.
|
getMagField, getOrientation, initializeFrom, setMagField, setOrientation
getLength, setLength
addCloseElements, applyAlignError, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getCloseElements, getHardwareNodeId, getId, getPosition, getType, getUID, propagate, propagate, setAlign, 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 ThickDipole(java.lang.String strId, double fld, double len, double entAng, double exitAng, double gap, double fInt)
strId
- identifier for this ThickDipole 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 ThickDipole()
public double getALignX()
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 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 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 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 double getFieldIndex(IProbe probe)
public 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)