Package xal.model.elem
Class IdealEQuad
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThickElement
xal.model.elem.ThickElectrostatic
xal.model.elem.IdealEQuad
- All Implemented Interfaces:
IElectrostatic
,IComponent
,IElement
Represents an ideal electrostatic quadrupole for a beam transport/accelerator
system.
- Author:
- Carla Benatti, adapted from Christopher K. Allen's IdealMagQuad.java
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Parameter for XAL MODEL LATTICE dtdstatic final String
Parameter for XAL MODEL LATTICE dtdstatic final String
Parameter for XAL MODEL LATTICE dtdstatic final String
string type identifier for all IdealEQuad objectsFields inherited from class xal.model.elem.ThickElectrostatic
dblField
Fields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePos
Fields inherited from interface xal.model.elem.sync.IElectrostatic
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 IdealEQuad BE CAREFULIdealEQuad
(String strId, int enmOrient, double dblVol, double dblLen, double dblApt) Creates a new instance of IdealEQuad -
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
Get the Aperture radius of the electrostatic quad.int
Return the orientation enumeration code.double
Get the voltage applied to the electrostatic quad pole tips.void
initializeFrom
(LatticeElement element) Conversion method to be provided by the uservoid
print
(PrintWriter os) Dump current state and content to output stream.void
setAperture
(double dblAperture) Set the Aperture radius of the electrostatic quad.void
setOrientation
(int enmOrient) Set the electrostatic quad orientation.void
setVoltage
(double dblVoltage) Set the applied Voltage on the electrostatic quad.transferMap
(IProbe probe, double length) Compute the partial transfer map of an ideal Equadrupole for the particular probe.Methods inherited from class xal.model.elem.ThickElectrostatic
getMagField, setMagField
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, toString
-
Field Details
-
TYPE
string type identifier for all IdealEQuad objects- See Also:
-
PARAM_ORIENT
Parameter for XAL MODEL LATTICE dtd- See Also:
-
PARAM_VOLTAGE
Parameter for XAL MODEL LATTICE dtd- See Also:
-
PARAM_APERTURE
Parameter for XAL MODEL LATTICE dtd- See Also:
-
-
Constructor Details
-
IdealEQuad
Creates a new instance of IdealEQuad- Parameters:
strId
- identifier for this IdealEQuad objectenmOrient
- enumeration specifying the quadrupole orientation (ORIENT_HOR or ORIENT_VER)dblVol
- Applied Voltage (kV)dblLen
- Length of the quadrupole (m)dblApt
- Aperture radius (m)
-
IdealEQuad
public IdealEQuad()JavaBean constructor - creates a new uninitialized instance of IdealEQuad BE CAREFUL
-
-
Method Details
-
getOrientation
public int getOrientation()Return the orientation enumeration code.- Specified by:
getOrientation
in interfaceIElectrostatic
- Overrides:
getOrientation
in classThickElectrostatic
- Returns:
- ORIENT_HOR - quadrupole focuses in x (horizontal) plane ORIENT_VER - quadrupole focuses in y ( vertical ) plane ORIENT_NONE - error
-
getVoltage
public double getVoltage()Get the voltage applied to the electrostatic quad pole tips.- Returns:
- Voltage (in kV).
-
setOrientation
public void setOrientation(int enmOrient) Set the electrostatic quad orientation.- Specified by:
setOrientation
in interfaceIElectrostatic
- Overrides:
setOrientation
in classThickElectrostatic
- Parameters:
enmOrient
- quad orientation enumeration code- See Also:
-
setVoltage
public void setVoltage(double dblVoltage) Set the applied Voltage on the electrostatic quad.- Parameters:
dblVoltage
- Voltage (in kV).
-
getAperture
public double getAperture()Get the Aperture radius of the electrostatic quad.- Returns:
- Aperture Radius (in m).
-
setAperture
public void setAperture(double dblAperture) Set the Aperture radius of the electrostatic quad.- Parameters:
dblAperture
- Aperture Radius (in m).
-
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 Equadrupole 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 Equadrupole for the particular probe. Computes transfer map for a section of EquadrupoledblLen
meters in length. The aperture used in the calculation is the aperture radius in meters.- 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 Equadrupole for particular probe
- See Also:
-
print
Dump current state and content to output stream. -
initializeFrom
Conversion method to be provided by the user- Specified by:
initializeFrom
in interfaceIComponent
- Overrides:
initializeFrom
in classThickElectrostatic
- Parameters:
element
- the SMF node to convert
-