Interface IComponent
- All Known Subinterfaces:
IComposite
,IElement
- All Known Implementing Classes:
ChargeExchangeFoil
,Collimator
,ElectromagnetSeq
,Element
,ElementSeq
,IdealDrift
,IdealEDipole
,IdealEQuad
,IdealHorMagSteeringDipole
,IdealMagDipoleFace
,IdealMagDipoleFace
,IdealMagDipoleFace2
,IdealMagFringeQuad
,IdealMagFringeQuadFace
,IdealMagOctupole
,IdealMagQuad
,IdealMagSectorDipole
,IdealMagSectorDipole
,IdealMagSectorDipole2
,IdealMagSextupole
,IdealMagSkewQuad
,IdealMagSkewQuad3
,IdealMagSolenoid
,IdealMagSteeringDipole
,IdealMagWedgeDipole
,IdealMagWedgeDipole
,IdealMagWedgeDipole2
,IdealPermMagQuad
,IdealRfCavity
,IdealRfCavityDrift
,IdealRfGap
,IdealRfGap
,IdealRfGapUpgraded
,IdealVerMagSteeringDipole
,Lattice
,LineModel
,Marker
,RfqDummyModel
,RingModel
,Sector
,SpectrumMapRfGap
,ThickDipole
,ThickElectromagnet
,ThickElectrostatic
,ThickElement
,ThickMagFieldMap
,ThickMatrix
,ThickRfFieldMap
,ThinElectromagnet
,ThinElement
,ThinLens
,ThinMagFieldMap
,ThinMatrix
,ThinRfFieldMap
- Author:
- Christopher K. Allen
-
Method Summary
Modifier and TypeMethodDescriptionvoid
backPropagate
(IProbe probe) Propagates the Probe object through this component.void
backPropagate
(IProbe probe, double d) Position dependent tracking within an IElementGet the string identifier of the hardware node being modeled by this element.getId()
Get the string identifier of the composite elementdouble
Return the (center) position of this component within the global lattice structure to which it belongs.double
Return the total length of the composite element.Returns the composite structure (if any) that owns this component.double
Return the center position of this component within the immediate parent composite element.getType()
Get the string type identifier for the composite elementvoid
initializeFrom
(LatticeElement latticeElement) Initializes the components parameters from the given hardware node proxy.void
Propagates the Probe object through this component.void
Position dependent tracking within an IElementvoid
setParent
(IComposite cpsParent) Sets the parent structure containing this component.
-
Method Details
-
initializeFrom
Initializes the components parameters from the given hardware node proxy.
CKA NOTES
· Since we are expected to do this by accessing the SMF hardware node associated with the proxy, we are now coupled with the SMF component of Open XAL. The objective has been to move away from this condition.
· This system must be refactored to decouple the online model and SMF.- Parameters:
latticeElement
- the SMF node to convert
-
getType
String getType()Get the string type identifier for the composite element- Returns:
- type identifier for this element
-
getId
String getId()Get the string identifier of the composite element- Returns:
- string identifier
-
getHardwareNodeId
String getHardwareNodeId()Get the string identifier of the hardware node being modeled by this element.- Returns:
- SMF hardware node this element maps to
-
getLength
double getLength()Return the total length of the composite element.- Returns:
- length of the element (in meters)
-
getPosition
double getPosition()Return the center position of this component within the immediate parent composite element. If there is no parent then this method should return zero.
This value is typically a "hardware property," especially if this element models a hardware node. That is, the value is specified in the description of the hardware node and, thus, carries through to the modeling element. The situation is different than the property
where the position is completely dependent upon where the modeling element lies within the overall lattice structure.getLatticePosition()
- Returns:
- center position of this element within the immediate parent container (meters)
- Since:
- Dec 3, 2015 by Christopher K. Allen
-
getLatticePosition
double getLatticePosition()Return the (center) position of this component within the global lattice structure to which it belongs. Note the difference between this parameter and that returned by
IComponent
which returns the position with respect to the direct parent.getLength()
The returned value is not usually a design parameter, in particular if composites are pasted together or otherwise form a larger tree structure. It should be computed according to the current structure of the global composite structure. Thus, moving this element in the lattice should change this value.
- Returns:
- the center position of this component within the entire lattice containing this element (not just the parent)
- Since:
- Dec 3, 2015, Christopher K. Allen
-
getParent
IComposite getParent()Returns the composite structure (if any) that owns this component.- Returns:
- higher level composite structure built from this component
- Since:
- Jan 22, 2015 by Christopher K. Allen
-
setParent
Sets the parent structure containing this component. The parent is assumed to be a composite structure built from component elements.- Parameters:
cpsParent
- the composite structure built from this component- Since:
- Jan 22, 2015 by Christopher K. Allen
-
propagate
Propagates the Probe object through this component.- Parameters:
probe
- probe to be propagate - its state is advanced- Throws:
ModelException
- error advancing the probe state
-
propagate
Position dependent tracking within an IElement
- Throws:
ModelException
-
backPropagate
Propagates the Probe object through this component.
NOTES: CKA
· Support for backward propagation February, 2009.- Parameters:
probe
- probe to be propagate - its state is advanced- Throws:
ModelException
- error advancing the probe state
-
backPropagate
Position dependent tracking within an IElement
NOTES: CKA
· Support for backward propagation February, 2009.- Parameters:
probe
- probe to be propagate - its state is advancedd
- position within element- Throws:
ModelException
- error advancing the probe state- Since:
- Feb 27, 2009
-