Class BeamScanApplication
java.lang.Object
org.scictrl.csshell.epics.server.application.AbstractApplication
org.scictrl.csshell.epics.server.application.BeamScanApplication
- All Implemented Interfaces:
org.scictrl.csshell.epics.server.Application
,org.scictrl.csshell.epics.server.processor.OnDemandValueProcessor.ValueProvider
public class BeamScanApplication
extends org.scictrl.csshell.epics.server.application.AbstractApplication
BeamScanApplication scans the beam with four control values: power, phase, solenoid magnet and bending magnet. It records beam position and shape and filters and averages the beam values. Values with Q below configured threshold are discarded.
Four parameters, which are beeing scannes: Power, Phase, Solenoid, Bend, have own set of scan properties and control PVs, which are being provided by ScanApplication
, which is embedded in this application.
Supported XML parameters
- Power.precision, Phase.precision, Solenoid.precision, Bend.precision - precision for 4 scan modules, determines when scan value is close enough to target value. Default is 0.000001.
- Power.setpointPV, Phase.setpointPV, Solenoid.setpointPV, Bend.setpointPV - PV name for corresponding record that is being scanned. Required.
- Power.setpointCmdPV, Phase.setpointCmdPV, Solenoid.setpointCmdPV, Bend.setpointCmdPV - PV name for record that is necessary to be set after scan value has been set. Some devices need to apply value after has been set, optional.
- beamSpotPv - PV for beam spot measurement device, expected device is
BeamSpotApplication
. Default value F:GL:BeamSpot:01. - measurementWait - wait time between beam measurements, in ms. Default value 10000.
Application provides PVs with following suffixes:
- Access to embedded scanning tools PVs is provided with PV prefixes: Power, Phase, Solenoid, Bend. See
ScanApplication
. - Cmd:Start - Starts scanning task. Setting 1 triggers command.
- Cmd:Stop - Stops scanning task. Setting 1 triggers command.
- Meas:Last - Last beam measurement. Array with measurements.
- Meas:Peak - Beam measurement at peak beam, that is largest beam area. Array with measurements.
- Status - Scanning status. Enum with states: READY, SCANNING, ERROR
- Status:Progress - Scanning progress, in %.
- Status:Remaining - Estimated remaining time of scan. String with human friendly time format.
- Status:Scanning - Boolean flag indicating scanning in progress. 0,1 as byte.
- Wait - wait time between beam measurements. Float from 0 to 1000 s.
- Author:
- igor@scictrl.com
-
Nested Class Summary
Modifier and TypeClassDescriptionfinal class
Measurement stores beam measurement data is na array. -
Field Summary
Fields inherited from class org.scictrl.csshell.epics.server.application.AbstractApplication
database, DEFAULT_NAME_DELIMITER, dynamicRecordCreator, ERROR_SUM, LINK_ERROR, LINK_ERROR_STRING, links, log, name, NAME_DELIMITER, nameDelimiter, records
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
activate()
void
void
initialize
(org.scictrl.csshell.epics.server.Database database) protected void
notifyRecordChange
(String name, boolean alarmOnly) protected void
notifyRecordWrite
(String name) Methods inherited from class org.scictrl.csshell.epics.server.application.AbstractApplication
addRecord, addRecordOfCommandProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfOnDemandProcessor, addRecordOfOnLinkValueProcessor, configure, connectLinks, createNewStore, fullRecordName, getLinks, getName, getNameDelimiter, getNotNull, getRecord, getRecordErrorSum, getRecordLinkError, getRecordNames, getRecords, getStore, getStore, getValue, isActivated, isDynamicRecordCreator, log4debug, log4error, log4error, log4info, notifyLinkChange, processLinkChange, pushDoneCommandProcessor, reconnectLinks, resetOnDemandProcessor, restore, store, toString, updateErrorSum, updateErrorSum, updateLinkError, updateLinkError
-
Constructor Details
-
BeamScanApplication
public BeamScanApplication()Constructor for BeamScanApplication.
-
-
Method Details
-
configure
public void configure(String name, org.apache.commons.configuration.HierarchicalConfiguration config) - Specified by:
configure
in interfaceorg.scictrl.csshell.epics.server.Application
- Overrides:
configure
in classorg.scictrl.csshell.epics.server.application.AbstractApplication
-
activate
public void activate()- Specified by:
activate
in interfaceorg.scictrl.csshell.epics.server.Application
- Overrides:
activate
in classorg.scictrl.csshell.epics.server.application.AbstractApplication
-
initialize
public void initialize(org.scictrl.csshell.epics.server.Database database) - Specified by:
initialize
in interfaceorg.scictrl.csshell.epics.server.Application
- Overrides:
initialize
in classorg.scictrl.csshell.epics.server.application.AbstractApplication
-
notifyRecordChange
- Overrides:
notifyRecordChange
in classorg.scictrl.csshell.epics.server.application.AbstractApplication
-
notifyRecordWrite
- Overrides:
notifyRecordWrite
in classorg.scictrl.csshell.epics.server.application.AbstractApplication
-