Package xal.model.elem
Class IdealDrift
java.lang.Object
xal.model.elem.Element
xal.model.elem.ThickElement
xal.model.elem.IdealDrift
- All Implemented Interfaces:
IComponent
,IElement
- Direct Known Subclasses:
IdealRfCavityDrift
Represents a drift space in a particle beam transport/accelerator system.
NOTE
This class has been modified to accommodate PMQs by acting as quadrupoles with diminishing fields when placed next to a PMQ element. I'm not sure this is the best implementation as it is tightly coupled with several other elements.
- Author:
- Christopher Allen
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
string type identifier for all IdealDrift objectsFields inherited from class xal.model.elem.Element
dblNodeLen, dblNodePos
Fields inherited from interface xal.model.IElement
LIGHT_SPEED, PERMEABILITY, PERMITTIVITY, UNIT_CHARGE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionJavaBean constructor - creates a new uninitialized instance of IdealDrift BE CAREFULIdealDrift
(String strId, double dblLen) Creates a new instance of IdealDriftprotected
IdealDrift
(String strType, String strId, double dblLen) Constructor for subclasses ofIdealDrift
. -
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 probe object.double
I guess this is the strength of the adjacent PMQ quadrupole magnet if it exists.void
I think this method looks for PMQ magnets next to this drift then stores them as a private static class.transferMap
(IProbe probe, double dblLen) Computes the partial transfer map for an ideal drift space.Methods inherited from class xal.model.elem.ThickElement
applyErrors, getLength, initializeFrom, 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, print, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setParent, setPhiX, setPhiY, setPhiZ, setPosition, toString
-
Field Details
-
TYPE
string type identifier for all IdealDrift objects- See Also:
-
-
Constructor Details
-
IdealDrift
Constructor for subclasses ofIdealDrift
.- Parameters:
strType
- string type identifier of the child classstrId
- string identifier of the child objectdblLen
- length of the new drift object- Since:
- Jan 22, 2015 by Christopher K. Allen
-
IdealDrift
Creates a new instance of IdealDrift- Parameters:
strId
- string identifier for the elementdblLen
- length of the drift
-
IdealDrift
public IdealDrift()JavaBean constructor - creates a new uninitialized instance of IdealDrift BE CAREFUL
-
-
Method Details
-
getKDrift
public double getKDrift()I guess this is the strength of the adjacent PMQ quadrupole magnet if it exists.- Returns:
- adjacent PMQ magnet strength ?
- Since:
- Apr 19, 2011
-
prepareFringe
public void prepareFringe()I think this method looks for PMQ magnets next to this drift then stores them as a private static class.- Since:
- Apr 19, 2011
-
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 probe object.- Specified by:
energyGain
in interfaceIElement
- Specified by:
energyGain
in classThickElement
- Parameters:
dblLen
- dummy argumentprobe
- dummy argument- Returns:
- returns a zero value
-
transferMap
Computes the partial transfer map for an ideal drift space. Computes the transfer map for a drift of lengthdblLen
.- Specified by:
transferMap
in interfaceIElement
- Specified by:
transferMap
in classThickElement
- Parameters:
dblLen
- length of driftprobe
- requires rest and kinetic energy from probe- Returns:
- transfer map of an ideal drift space for this probe
- Throws:
ModelException
- should not be thrown- See Also:
-