Package xal.model.elem
Class IdealMagQuad
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThickElement
xal.model.elem.ThickElectromagnet
xal.model.elem.IdealMagQuad
- All Implemented Interfaces:
IElectromagnet
,IComponent
,IElement
- Direct Known Subclasses:
IdealMagSkewQuad
Represents an ideal magnetic quadrupole magnet for a beam
transport/accelerator system.
- Author:
- Christopher K. Allen
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
Parameters for XAL MODEL LATTICE dtdstatic final String
string type identifier for all IdealMagQuad objectsFields inherited from class xal.model.elem.ThickElectromagnet
dblField, enmOrient
Fields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePos
Fields inherited from interface xal.model.elem.sync.IElectromagnet
ORIENT_HOR, ORIENT_NONE, ORIENT_VER
Fields inherited from interface xal.model.IElement
LIGHT_SPEED, PERMEABILITY, PERMITTIVITY, UNIT_CHARGE
-
Constructor Summary
ConstructorsConstructorDescriptionJavaBean constructor - creates a new uninitialized instance of IdealMagQuad BE CAREFULIdealMagQuad
(String strId, int enmOrient, double dblFld, double dblLen) Creates a new instance of IdealMagQuad -
Method Summary
Modifier and TypeMethodDescriptiondouble
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
double
double
double
double
double
double
getK1()
double
double
getRadIn()
double
void
print
(PrintWriter os) Dump current state and content to output stream.void
setBRhoScaling
(double d) void
setFieldPathFlag
(double ba) void
setFringeIntegral1Entr
(double dbl) void
setFringeIntegral1Exit
(double dbl) void
setFringeIntegral2Entr
(double dbl) void
setFringeIntegral2Exit
(double dbl) void
setK1
(double k1) void
setNominalKineEnergy
(double ba) void
setRadIn
(double ri) void
setRadOut
(double ro) toString()
transferMap
(IProbe probe, double length) Compute the partial transfer map of an ideal quadrupole for the particular probe.Methods inherited from class xal.model.elem.ThickElectromagnet
getMagField, getOrientation, initializeFrom, setMagField, setOrientation
Methods inherited from class xal.model.elem.ThickElement
applyErrors, getLength, isFirstSubslice, isLastSubslice, longitudinalPhaseAdvance, setLength
Methods inherited from class xal.model.elem.Element
addCloseElements, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getLatticePosition, getNodeLen, getNodePos, getParent, getPhiX, getPhiY, getPhiZ, getPosition, getType, getUID, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition
-
Field Details
-
TYPE
string type identifier for all IdealMagQuad objects- See Also:
-
PARAM_ORIENT
Parameters for XAL MODEL LATTICE dtd- See Also:
-
PARAM_FIELD
- See Also:
-
-
Constructor Details
-
IdealMagQuad
Creates a new instance of IdealMagQuad- Parameters:
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 quadrupole
-
IdealMagQuad
public IdealMagQuad()JavaBean constructor - creates a new uninitialized instance of IdealMagQuad BE CAREFUL
-
-
Method Details
-
getBRhoScaling
public double getBRhoScaling() -
setBRhoScaling
public void setBRhoScaling(double d) -
getFringeIntegral1Entr
public double getFringeIntegral1Entr() -
getFringeIntegral1Exit
public double getFringeIntegral1Exit() -
getFringeIntegral2Entr
public double getFringeIntegral2Entr() -
getFringeIntegral2Exit
public double getFringeIntegral2Exit() -
setFringeIntegral1Entr
public void setFringeIntegral1Entr(double dbl) -
setFringeIntegral1Exit
public void setFringeIntegral1Exit(double dbl) -
setFringeIntegral2Entr
public void setFringeIntegral2Entr(double dbl) -
setFringeIntegral2Exit
public void setFringeIntegral2Exit(double dbl) -
setRadIn
public void setRadIn(double ri) -
setRadOut
public void setRadOut(double ro) -
getRadIn
public double getRadIn() -
getRadOut
public double getRadOut() -
setFieldPathFlag
public void setFieldPathFlag(double ba) -
setNominalKineEnergy
public void setNominalKineEnergy(double ba) -
getFieldPathFlag
public double getFieldPathFlag() -
getNominalKineEnergy
public double getNominalKineEnergy() -
getK1
public double getK1() -
setK1
public void setK1(double k1) -
elapsedTime
Returns the time taken for the probe to drift through part of the element.- Specified by:
elapsedTime
in interfaceIElement
- Specified by:
elapsedTime
in classThickElement
- Parameters:
probe
- propagating probedblLen
- length of subsection to propagate through meters- Returns:
- the elapsed time through sectionUnits: seconds
-
energyGain
Return the energy gain imparted to a particular probe. For an ideal quadrupole magnet this value is always zero.- Specified by:
energyGain
in interfaceIElement
- Specified by:
energyGain
in classThickElement
- Parameters:
probe
- dummy argumentdblLen
- dummy argument- Returns:
- returns a zero value
-
transferMap
Compute the partial transfer map of an ideal quadrupole for the particular probe. Computes transfer map for a section of quadrupoledblLen
meters in length.- Specified by:
transferMap
in interfaceIElement
- Specified by:
transferMap
in classThickElement
- Parameters:
probe
- supplies the charge, rest and kinetic energy parameterslength
- compute transfer matrix for section of this length- Returns:
- transfer map of ideal quadrupole for particular probe
- See Also:
-
toString
-
print
Dump current state and content to output stream.
-