42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""
|
|
Manipulator scan across the beam relative to current position
|
|
|
|
set manipulator scan parameters below.
|
|
set analyser parameters separately!
|
|
move manipulator to center position before start!
|
|
|
|
set ANGLE = -30.0 to move the sample across the beam.
|
|
set ANGLE = +60.0 to move the sample along the beam.
|
|
"""
|
|
|
|
import math
|
|
|
|
# adjust the following parameters
|
|
DISTANCE = 10
|
|
ANGLE = -30.0 # move sample across beam
|
|
#ANGLE = +60.0 # move sample along beam
|
|
STEPS = 200
|
|
LATENCY = 0.0
|
|
ENDSCAN = True
|
|
|
|
# do not edit below
|
|
DISTANCE_X = DISTANCE * math.cos(math.radians(ANGLE))
|
|
DISTANCE_Y = DISTANCE * math.sin(math.radians(ANGLE))
|
|
|
|
MOTOR = (ManipulatorX, ManipulatorY)
|
|
#SENSORS = (Counts, SampleCurrent, RefCurrent, MachineCurrent, EnergyDistribution, AngleDistribution)
|
|
SENSORS = (SampleCurrent, RefCurrent, MachineCurrent)
|
|
STARTPOS = (-DISTANCE_X / 2.0, -DISTANCE_Y / 2.0)
|
|
ENDPOS = (DISTANCE_X / 2.0, DISTANCE_Y / 2.0)
|
|
RELATIVE = True
|
|
|
|
#adjust_sensors()
|
|
#set_adc_averaging()
|
|
set_exec_pars(compression=True)
|
|
|
|
try:
|
|
lscan(MOTOR, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, RELATIVE, before_read=before_readout, after_read = after_readout)
|
|
finally:
|
|
if ENDSCAN:
|
|
after_scan()
|