This commit is contained in:
x03daop
2017-08-23 11:25:54 +02:00
parent 99cb0fdbdb
commit 3a22ba0633
4 changed files with 183 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
"""
Focusing mirror Rx scan
to center the beam on the monochromator grating
Rx = -20...+20
set the front end to 0.5 x 0.5, exit slit to 25, photon energy to 1500
"""
import math
# adjust the following parameters
STARTPOS = (-5.0)
ENDPOS = (+5.0)
STEPS = 0.01
LATENCY = 1.0
DWELL = 1.0
ENDSCAN = False
MOTORS = [FocusXRot]
SENSORS = [SampleCurrent, RefCurrent, MachineCurrent, OpticsCameraCentroidX, OpticsCameraSigmaX]
RELATIVE = False
value = DWELL * 10.0
SampleCurrentAveraging.write(value)
RefCurrentAveraging.write(value)
SampleCurrentGain.write("L, 10^9")
RefCurrentGain.write("L, 10^9")
# front end size includes offset!
FrontendHSize.write(1.0)
FrontendVSize.write(0.9)
ExitSlit.write(25.0)
adjust_sensors()
set_adc_averaging()
def trig():
wait_beam()
caput("X03DA-OP-10ADC:TRG.PROC", 1)
try:
lscan(MOTORS, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, RELATIVE, before_read=trig, after_read = after_readout)
finally:
if ENDSCAN:
after_scan()

View File

@@ -0,0 +1,34 @@
"""
Focusing mirror Ry scan
set scan parameters below, move the mirror to the center position.
set analyser parameters separately!
"""
import math
# adjust the following parameters
DISTANCE = 0.08
STEPS = 40
LATENCY = 0.5
ENDSCAN = False
MOTORS = [FocusYRot]
SENSORS = [Counts, SampleCurrent, RefCurrent, MachineCurrent, OpticsCameraCentroidX, OpticsCameraSigmaX]
STARTPOS = (-DISTANCE / 2.0)
ENDPOS = (DISTANCE / 2.0)
RELATIVE = True
adjust_sensors()
set_adc_averaging()
def trig_sensors():
wait_beam()
#trig_scienta()
caput("X03DA-OP-10ADC:TRG.PROC", 1)
try:
lscan(MOTORS, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, RELATIVE, before_read=trig_sensors, after_read = after_readout)
finally:
if ENDSCAN:
after_scan()

View File

@@ -0,0 +1,33 @@
"""
TEST: OTF scan for mono calibration
under development - does not run yet
tasks:
- find out positioner of beta angle and set up device (must be of motor class).
- load table of scan positions.
- add outer theta loop.
"""
MOTORS = (MonoBeta)
SENSORS = (SampleCurrent, RefCurrent, MachineCurrent)
STARTPOS = (beta1)
ENDPOS = (beta2)
TIME = 120.0 # seconds
STEPS = 1000
RELATIVE = False
ENDSCAN = False
adjust_sensors()
set_adc_averaging()
def trig_sensors():
caput("X03DA-OP-10ADC:TRG.PROC", 1)
try:
wait_beam()
cscan(MOTORS, SENSORS, STARTPOS, ENDPOS, STEPS, time = TIME, relative = RELATIVE, before_read = trig_sensors)
finally:
if ENDSCAN:
after_scan()

View File

@@ -0,0 +1,71 @@
"""
photon flux spectrum
SampleCurrent: diode
RefCurrent: RMU
AuxCurrent: not connected
"""
import time
# G600 full spectrum
#STARTPOS = (50.0)
#ENDPOS = (1100.0)
#STEPS = 10.0
#LATENCY = 5.0
#DWELL = 1.0
# G1200 full spectrum
#STARTPOS = (100.0)
#ENDPOS = (2000.0)
#STEPS = 25.0
#LATENCY = 5.0
#DWELL = 1.0
# carbon edge
STARTPOS = (270.0)
ENDPOS = (310.0)
STEPS = 0.5
LATENCY = 1.0
DWELL = 1.0
# G600 1x1 reference sscan_2268 (elog:119)
#SampleCurrentGain.write("L, 10^7")
#RefCurrentGain.write("L, 10^9")
#FrontendHSize.write(1.5)
#FrontendVSize.write(1.4)
#ExitSlit.write(100.0)
# G600 1x1 reference sscan_2268 (elog:119)
SampleCurrentGain.write("L, 10^5")
RefCurrentGain.write("L, 10^7")
FrontendHSize.write(6.5)
FrontendVSize.write(10.4)
ExitSlit.write(100.0)
# G1200 1x1 reference sscan_2264 (elog:114)
#SampleCurrentGain.write("L, 10^8")
#RefCurrentGain.write("L, 10^9")
#FrontendHSize.write(1.5)
#FrontendVSize.write(1.4)
#ExitSlit.write(100.0)
# G1200 6x10 reference sscan_2266 (elog:116)
#SampleCurrentGain.write("L, 10^6")
#RefCurrentGain.write("L, 10^8")
#FrontendHSize.write(6.5)
#FrontendVSize.write(10.4)
#ExitSlit.write(100.0)
def trig():
wait_beam()
caput("X03DA-OP-10ADC:TRG.PROC", 1)
value = DWELL * 10.0
SampleCurrentAveraging.write(value)
RefCurrentAveraging.write(value)
POSITIONERS = (Eph)
SENSORS = (SampleCurrent, RefCurrent, MachineCurrent)
lscan(POSITIONERS, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, before_read=trig, after_read=after_readout)