public class IdealPermMagQuad extends ThickElectromagnet
Modifier and Type | Field and Description |
---|---|
double |
K |
static java.lang.String |
s_strParamField |
static java.lang.String |
s_strParamOrient
Parameters for XAL MODEL LATTICE dtd
|
static java.lang.String |
s_strType
string type identifier for all IdealMagQuad objects
|
dblField, enmOrient
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
LightSpeed, Permeability, Permittivity, UnitCharge
Constructor and Description |
---|
IdealPermMagQuad()
JavaBean constructor - creates a new unitialized instance of IdealMagQuad
BE CAREFUL
|
IdealPermMagQuad(java.lang.String strId,
int enmOrient,
double dblFld,
double dblLen)
Creates a new instance of IdealMagQuad
|
Modifier and Type | Method and Description |
---|---|
double |
calcK(IProbe probe,
double dblLen) |
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 ga
in imparted to a particular probe.
|
double |
getBRhoScaling() |
double |
getEffLength() |
double |
getFieldPathFlag() |
double |
getFringeFactor() |
int |
getFringeLeft() |
int |
getFringeRight() |
double |
getK() |
double |
getK1() |
double |
getNominalKineEnergy() |
double |
getOrientProbe() |
double |
getRadIn() |
double |
getRadOut() |
double |
getSCenter() |
double |
getSLength() |
static boolean |
getUseApproxLens() |
double |
KFringe(IProbe probe,
double dblLen) |
protected double |
KFringeFromOthers(IProbe probe,
double dblLen) |
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream.
|
void |
setBRhoScaling(double d) |
void |
setEffLength(double el) |
void |
setFieldPathFlag(double ba) |
void |
setFringeLeft(int edge) |
void |
setFringeLenEntr(double fl) |
void |
setFringeLenExit(double fl) |
void |
setFringeRight(int edge) |
void |
setK1(double k1) |
void |
setNominalKineEnergy(double ba) |
protected void |
setOrientProbe(int orient) |
void |
setRadIn(double ri) |
void |
setRadOut(double ro) |
void |
setSCenter(double se) |
void |
setSLength(double sl) |
PhaseMap |
transferMap(IProbe probe,
double dblLen)
Compute the transfer map for a subsection of this element whose length
is dblLen.
|
static PhaseMap |
transferMap(IProbe probe,
double dL,
double k,
int orientation,
double alignx,
double aligny,
double alignz) |
getMagField, getOrientation, initializeFrom, setMagField, setOrientation
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_strParamOrient
public static final java.lang.String s_strParamField
public double K
public IdealPermMagQuad(java.lang.String strId, int enmOrient, double dblFld, double dblLen)
strId
- identifier for this IdealMagQuad objectenmOrient
- enumeration specifying the quadrupole orientation
(ORIENT_HOR or ORIENT_VER)dblFld
- field gradient strength (in Tesla/meter)dblLen
- length of the quadrupolepublic IdealPermMagQuad()
public double getBRhoScaling()
public void setBRhoScaling(double d)
public double getOrientProbe()
protected void setOrientProbe(int orient)
public void setFringeLeft(int edge)
public void setFringeRight(int edge)
public int getFringeLeft()
public int getFringeRight()
public double getFringeFactor()
public double getK()
public void setRadIn(double ri)
public void setRadOut(double ro)
public void setSCenter(double se)
public void setSLength(double sl)
public void setEffLength(double el)
public void setFringeLenEntr(double fl)
public void setFringeLenExit(double fl)
public double getRadIn()
public double getRadOut()
public double getSCenter()
public double getSLength()
public double getEffLength()
public void setFieldPathFlag(double ba)
public void setNominalKineEnergy(double ba)
public double getFieldPathFlag()
public double getNominalKineEnergy()
public double getK1()
public void setK1(double k1)
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 static PhaseMap transferMap(IProbe probe, double dL, double k, int orientation, double alignx, double aligny, double alignz)
protected double KFringeFromOthers(IProbe probe, double dblLen)
public double calcK(IProbe probe, double dblLen)
public double KFringe(IProbe probe, double dblLen)
public static boolean getUseApproxLens()
public PhaseMap transferMap(IProbe probe, double dblLen) throws ModelException
ThickElement
Compute the transfer map for a subsection of this element whose length is dblLen. If dblLen is greater than or equal to the element's length, return the transfer map for the full element. Note that this may not be very useful for an element with differential acceleration.
transferMap
in interface IElement
transferMap
in class ThickElement
probe
- probe supplying parameters for the transfer matrix calculationdblLen
- length of element subsection to compute transfer map forModelException
- exception occurred in subTransferMap() methodIElement.transferMap(IProbe,double)