Package xal.smf.impl
Class Sextupole
java.lang.Object
xal.smf.AcceleratorNode
xal.smf.impl.Magnet
xal.smf.impl.Electromagnet
xal.smf.impl.Sextupole
- All Implemented Interfaces:
Comparable
,ElementType
,MagnetType
,DataListener
Sextupole magnet node.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
protected String
identifies the type of sextupole (horizontal, vertical, skew)static final String
static final String
static final String
Fields inherited from class xal.smf.impl.Electromagnet
field, FIELD_RB_HANDLE, fieldFromCurrent, fieldRBProperty, mainSupplyId, useFieldReadback
Fields inherited from class xal.smf.AcceleratorNode
bolIsSoft, bolStatus, bolValid, bucAlign, bucAper, bucTwiss, channelSuite, dblLen, dblPos, dblS, mapAttrs, objAccel, seqParent, strEId, strId, strPId
Fields inherited from interface xal.smf.impl.qualify.MagnetType
DIPOLE, HORIZONTAL, NO_ORIENTATION, OCT, OCTUPOLE, poles, QUAD, QUADRUPOLE, SEXT, SEXTUPOLE, SOL, SOLENOID, VERTICAL
-
Constructor Summary
ConstructorsConstructorDescriptionConstructorSextupole
(String strID, ChannelFactory channelFactory) Primary Constructor -
Method Summary
Modifier and TypeMethodDescriptionint
Get the orientation of the magnet as defined by MagnetType.getType()
Override to provide the correct type signature per instance.boolean
Determine if this node is of the specified type.boolean
Test if the magnet is of the specified pole type.boolean
isSkew()
Determine whether this magnet is a skew magnet.void
update
(DataAdaptor adaptor) Update the instance with data from the data adaptor.Methods inherited from class xal.smf.impl.Electromagnet
findChannel, getAccessibleProperties, getCurrent, getCycleState, getDefaultHandles, getField, getFieldInt, getFieldReadback, getFieldSetting, getHandles, getMainSupply, getReadbackHandles, getSetHandle, getTotalFieldSetting, isChannelSettable, isPermanent, lowerAlarmFieldLimit, lowerCurrentLimit, lowerDisplayFieldLimit, lowerFieldLimit, lowerWarningFieldLimit, setCurrent, setCycleEnable, setField, setMainSupplyId, setUseFieldReadback, toCAFromField, toCurrentFromField, toFieldFromCA, toFieldFromCurrent, updatePowerSupplies, upperAlarmFieldLimit, upperCurrentLimit, upperDisplayFieldLimit, upperFieldLimit, upperWarningFieldLimit, useFieldReadback, write, writePowerSupplies
Methods inherited from class xal.smf.impl.Magnet
addBucket, getConversionFactor, getDesignField, getDfltField, getEffLength, getMagBucket, getNormField, getPolarity, getTangField, isCorrector, isHorizontal, isMagnet, isVertical, setDfltField, setMagBucket
Methods inherited from class xal.smf.AcceleratorNode
batchConnectAllHandles, batchConnectAllHandlesAndWait, channelSuite, clear, compareTo, dataLabel, getAccelerator, getAccessibleProperties, getAlign, getAllChannels, getAndConnectChannel, getAndConnectChannelSetAndReadback, getAper, getBucket, getBuckets, getChannel, getDesignPropertyValue, getEId, getId, getLength, getLivePropertyChannels, getLivePropertyValue, getParent, getPId, getPitchAngle, getPosition, getPrimaryAncestor, getProperties, getRollAngle, getSDisplay, getSoftType, getStatus, getTwiss, getValid, getXOffset, getYawAngle, getYOffset, getZOffset, hasBucket, hasParent, lazilyGetAndConnect, removeFromParent, setAccelerator, setAlign, setAper, setDesignPropertyValue, setLength, setLivePropertyValue, setParent, setPitchAngle, setPosition, setRollAngle, setSDisplay, setStatus, setTwiss, setValid, setValueAndVerify, setXOffset, setYawAngle, setYOffset, setZOffset, toString, writeAttributes, writeStatus
-
Field Details
-
TYPE
- See Also:
-
HORIZONTAL_TYPE
- See Also:
-
VERTICAL_TYPE
- See Also:
-
HORIZONTAL_SKEW_TYPE
- See Also:
-
VERTICAL_SKEW_TYPE
- See Also:
-
nodeType
identifies the type of sextupole (horizontal, vertical, skew)
-
-
Constructor Details
-
Sextupole
Primary Constructor- Parameters:
strID
- unique node ID
-
Sextupole
Constructor- Parameters:
strID
- unique node ID
-
-
Method Details
-
getType
Override to provide the correct type signature per instance. This is necessary since the Quadrupole class can represent more than one official type (SH or SV).- Specified by:
getType
in classAcceleratorNode
- Returns:
- The official type consistent with the naming convention.
-
update
Update the instance with data from the data adaptor. Overrides the default implementation to set the sextupole type since a sextupole type can be one of "SH", "SV", "SSH" or "SSV".- Specified by:
update
in interfaceDataListener
- Overrides:
update
in classElectromagnet
- Parameters:
adaptor
- The data provider.
-
isPole
Description copied from class:Magnet
Test if the magnet is of the specified pole type. MagnetType defines the list of accepted pole types.- Specified by:
isPole
in interfaceMagnetType
- Overrides:
isPole
in classMagnet
- Parameters:
pole
- Comparison pole which should be one of MagnetType.poles- Returns:
- true if the magnet is of the specified pole.
-
getOrientation
public int getOrientation()Get the orientation of the magnet as defined by MagnetType. The orientation of the sextupole is determined by its type.- Specified by:
getOrientation
in interfaceMagnetType
- Overrides:
getOrientation
in classMagnet
- Returns:
- One of HORIZONTAL or VERTICAL
-
isSkew
public boolean isSkew()Determine whether this magnet is a skew magnet.- Specified by:
isSkew
in interfaceMagnetType
- Overrides:
isSkew
in classMagnet
- Returns:
- true if the magnet is skew and false otherwise.
-
isKindOf
Determine if this node is of the specified type. Override the default method since a quadrupole could represent either a vertical or horizontal type. Must also handle inheritance checking so we must or the direct type comparison with the inherited type checking.- Specified by:
isKindOf
in interfaceElementType
- Overrides:
isKindOf
in classAcceleratorNode
- Parameters:
type
- the type against which to compare this sextupole- Returns:
- true if the node is a match and false otherwise.
-