|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--gov.sns.xal.model.elem.Element
|
+--gov.sns.xal.model.elem.ThickElement
|
+--gov.sns.xal.model.elem.ThickDipole
Represents a thick magnetic dipole magnet for a beam transport/accelerator system. NOTE: - !!! Bending is assumed to be horizontal for now !!!! It has provisions for a general wedge magnet, with arbitrary entrance / exit angles. The MAD convention for sector magnets is followed for coordinates, signs, and lengths. The formulation from D. Carey's Optics book + Transport manual are used. TODO - Add "tilt" angle of the dipole, and add charge of the probe to get the right bend radius.
| Field Summary | |
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 |
| Fields inherited from interface gov.sns.xal.model.elem.IElectromagnet |
ORIENT_HOR, ORIENT_NONE, ORIENT_VER |
| Fields inherited from interface gov.sns.xal.model.IElement |
LightSpeed, Permeability, Permittivity, UnitCharge |
| Constructor Summary | |
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 |
|
| Method Summary | |
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 |
getEntranceAngle()
Gets the entrance angle of the beam into the dipole. |
double |
getExitAngle()
Gets the exit angle of the beam into the dipole. |
double |
getKQuad()
Gets the quad. |
double |
getMagField()
Get the magnetic field strength of the electromagnet |
int |
getOrientation()
Return the orientation enumeration code. |
void |
initializeFrom(IModelDataSource source)
Initializes this element from the supplied source. |
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream. |
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 |
setGapHeight(double gap)
set the gap height |
void |
setKQuad(double k)
Sets the quad. |
void |
setMagField(double dblField)
Set the magnetic field strength of the electromagnet. |
void |
setOrientation(int enmOrient)
Set the magnet orientation |
PhaseMap |
transferMap(IProbe probe,
double dL)
Compute the partial transfer map of an ideal quadrupole for the particular probe. |
| Methods inherited from class gov.sns.xal.model.elem.ThickElement |
getLength, setLength |
| Methods inherited from class gov.sns.xal.model.elem.Element |
compDriftingTime, getId, getType, getUID, propagate, setId |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
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
| Constructor Detail |
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()
| Method Detail |
public void initializeFrom(IModelDataSource source)
throws ModelException
initializeFrom in interface IElementinitializeFrom in class Elementsource - the data source for initialization
ModelException - if error initializing
java.lang.IllegalArgumentException - if the supplied data source is not a
ThickDipoleDataSourcepublic 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 int getOrientation()
getOrientation in interface IElectromagnetpublic double getMagField()
getMagField in interface IElectromagnetpublic void setOrientation(int enmOrient)
setOrientation in interface IElectromagnetenmOrient - magnet orientation enumeration codegetOrientation()public void setMagField(double dblField)
setMagField in interface IElectromagnetdblField - magnetic field (in
public double elapsedTime(IProbe probe,
double dblLen)
elapsedTime in interface IElementelapsedTime in class Elementprobe - propagating probedblLen - length of subsection to propagate through meters
public double energyGain(IProbe probe,
double dblLen)
energyGain in interface IElementenergyGain in class ThickElementdblLen - dummy argumentprobe - dummy argument
public 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 ThickElementdL - compute transfer matrix for section of this path lengthprobe - uses the rest and kinetic energy parameters from the probe
ModelException - unknown quadrupole orientationpublic void print(java.io.PrintWriter os)
print in class Elementos - output stream object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||