|
||||||||||
| 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
Base class for all modeling elements having a finite length. As such, space charge will affect probes propagation through these elements. The transfer matrix that is stored in the parent element is actually the incremental transfer matrix of the full element. Thus, derived classes should implement the method subTransferMatrix() that returns the nSecs root of the full tranfer matrix. Deriving beamline elements from this class allows space charge kicks to be applied at nSecs equally spaced locations throughout the element.
| Field Summary |
| Fields inherited from interface gov.sns.xal.model.IElement |
LightSpeed, Permeability, Permittivity, UnitCharge |
| Constructor Summary | |
ThickElement(java.lang.String strType)
Default constructor to be used by automatic lattice generation. |
|
ThickElement(java.lang.String strType,
java.lang.String strId)
Default constructor to be used by automatic lattice generation. |
|
ThickElement(java.lang.String strType,
java.lang.String strId,
double dblLen)
Creates a new instance of ThickElement |
|
| Method Summary | |
abstract double |
energyGain(IProbe probe,
double dblLen)
Return the energy gain of the beamline element over a subsection of the specified length. |
double |
getLength()
Return the total length of this element |
void |
setLength(double dblLen)
Set the length of the element. |
abstract PhaseMap |
transferMap(IProbe probe,
double dblLen)
Compute the transfer map for a subsection of this element whose length is dblLen. |
| Methods inherited from class gov.sns.xal.model.elem.Element |
compDriftingTime, elapsedTime, getId, getType, getUID, initializeFrom, print, propagate, setId |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public ThickElement(java.lang.String strType)
strType - the string type-identifier of the element type
public ThickElement(java.lang.String strType,
java.lang.String strId)
strType - the string type-identifier of the element typestrId - the string identifier of the element instance
public ThickElement(java.lang.String strType,
java.lang.String strId,
double dblLen)
strType - string type identifier for the elementstrId - string instance identifier for this elementdblLen - total length of the element (in meters)| Method Detail |
public void setLength(double dblLen)
dblLen - lenght of element (in meters)public double getLength()
getLength in interface IComponentgetLength in class Element
public abstract double energyGain(IProbe probe,
double dblLen)
energyGain in interface IElementenergyGain in class Elementprobe - probe for which energy gain is to be determineddblLen - subsection length to calculate energyGain for
public abstract PhaseMap transferMap(IProbe probe,
double dblLen)
throws ModelException
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 IElementtransferMap in class Elementprobe - probe supplying parameters for the transfer matrix calculationdblLen - length of element subsection to compute transfer map for
ModelException - exception occurred in subTransferMap() method#transferMap()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||