Package xal.smf.impl
Class TrimmedQuadrupole
java.lang.Object
xal.smf.AcceleratorNode
xal.smf.impl.Magnet
xal.smf.impl.Electromagnet
xal.smf.impl.Quadrupole
xal.smf.impl.TrimmedQuadrupole
- All Implemented Interfaces:
Comparable
,ElementType
,MagnetType
,TrimmedMagnet
,DataListener
TrimmedQuadrupole is a subclass of Quadrupole that has a trim power supply in
addition to a main power supply.
- Author:
- tap
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
protected String
unique ID for this magnet's trim supplystatic final String
static final String
Fields inherited from class xal.smf.impl.Quadrupole
nodeType, SKEW_TYPE
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
ConstructorsConstructorDescriptionTrimmedQuadrupole
(String strID) ConstructorTrimmedQuadrupole
(String strID, ChannelFactory channelFactory) Constructor -
Method Summary
Modifier and TypeMethodDescriptionfindChannel
(String handle) Find the channel for the specified handle checking the trim supply if the channel suite or main supply does not contain the handleGet the channel handles.int
Get the orientation of the magnet as defined by MagnetType.double
Get the value to which the field is set including both the main supply and trim supply contributions.double
Get the trim power supply current in this electromagnet via ca (A)double
Get the value to which the trim supply's field contribution is set.Get the trim power supply for this magnet.boolean
isChannelSettable
(String handle) void
setTrimCurrent
(double newCurrent) set the trim power supply current in the magnet (A)void
setTrimField
(double newField) Set the trim power supply field contribution in the magnet.protected void
updatePowerSupplies
(DataAdaptor powerSupplyAdaptor) Update data from the power supply data adaptor.protected void
writePowerSupplies
(DataAdaptor powerSupplyAdaptor) Write data to the power supply data adaptor.Methods inherited from class xal.smf.impl.Quadrupole
getType, isKindOf, isPole, update
Methods inherited from class xal.smf.impl.Electromagnet
getAccessibleProperties, getCurrent, getCycleState, getDefaultHandles, getField, getFieldInt, getFieldReadback, getFieldSetting, getMainSupply, getReadbackHandles, getSetHandle, isPermanent, lowerAlarmFieldLimit, lowerCurrentLimit, lowerDisplayFieldLimit, lowerFieldLimit, lowerWarningFieldLimit, setCurrent, setCycleEnable, setField, setMainSupplyId, setUseFieldReadback, toCAFromField, toCurrentFromField, toFieldFromCA, toFieldFromCurrent, upperAlarmFieldLimit, upperCurrentLimit, upperDisplayFieldLimit, upperFieldLimit, upperWarningFieldLimit, useFieldReadback, write
Methods inherited from class xal.smf.impl.Magnet
addBucket, getConversionFactor, getDesignField, getDfltField, getEffLength, getMagBucket, getNormField, getPolarity, getTangField, isCorrector, isHorizontal, isMagnet, isSkew, 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:
-
trimSupplyID
unique ID for this magnet's trim supply
-
-
Constructor Details
-
TrimmedQuadrupole
Constructor- Parameters:
strID
- this magnet's unique node IDchannelFactory
- factory for generating this node's channels
-
TrimmedQuadrupole
Constructor- Parameters:
strID
- this magnet's unique node ID
-
-
Method Details
-
updatePowerSupplies
Update data from the power supply data adaptor.- Overrides:
updatePowerSupplies
in classElectromagnet
- Parameters:
powerSupplyAdaptor
- The data provider of power supply information.
-
writePowerSupplies
Write data to the power supply data adaptor.- Overrides:
writePowerSupplies
in classElectromagnet
- Parameters:
powerSupplyAdaptor
- The data sink for the power supply information
-
getHandles
Get the channel handles. Overrides the default method to add handles from the trim power supply.- Overrides:
getHandles
in classElectromagnet
- Returns:
- The channel handles associated with this node
-
findChannel
Find the channel for the specified handle checking the trim supply if the channel suite or main supply does not contain the handle- Overrides:
findChannel
in classElectromagnet
- Parameters:
handle
- The handle for the channel to get.- Returns:
- The channel associated with this node and the specified handle or null if there is no match.
-
isChannelSettable
- Overrides:
isChannelSettable
in classElectromagnet
-
getTrimSupply
Get the trim power supply for this magnet.- Specified by:
getTrimSupply
in interfaceTrimmedMagnet
- Returns:
- The trim power supply for this magnet
-
setTrimField
Set the trim power supply field contribution in the magnet. If cycle enable is true then the magnet is cycled before the field is set to the specified value.- Parameters:
newField
- is the new field level in T/(m^(n-1)), where n = 1 for dipole, 2 for quad, etc.- Throws:
PutException
-
getTrimFieldSetting
Get the value to which the trim supply's field contribution is set. Note that this is not the readback.- Returns:
- the field setting in T/(m^(n-1)), where n = 1 for dipole, 2 for quad, etc.
- Throws:
GetException
-
getTotalFieldSetting
Get the value to which the field is set including both the main supply and trim supply contributions. Note that this is not the readback.- Overrides:
getTotalFieldSetting
in classElectromagnet
- Returns:
- the field setting in T/(m^(n-1)), where n = 1 for dipole, 2 for quad, etc.
- Throws:
GetException
-
getTrimCurrent
Get the trim power supply current in this electromagnet via ca (A)- Throws:
GetException
-
setTrimCurrent
set the trim power supply current in the magnet (A)- Parameters:
newCurrent
- is the new current (A)- Throws:
PutException
-
getOrientation
public int getOrientation()Get the orientation of the magnet as defined by MagnetType. The orientation of the quad is determined by its type: QTH or QTV- Specified by:
getOrientation
in interfaceMagnetType
- Overrides:
getOrientation
in classQuadrupole
- Returns:
- One of HORIZONTAL or VERTICAL
-