added several adjustables; consistent undulator names; coupled mono-und units; added shortcuts for powering on/off modules; added some pgroups; commented CTA DAQ
This commit is contained in:
161
maloja.py
161
maloja.py
@ -40,30 +40,34 @@ gas_attenuator_trans = PVAdjustable("SATFE10-OGAT053:TRANSMISSION", process_time
|
|||||||
|
|
||||||
#jet_delay = PVAdjustable("SATES20-CVME-EVR0:Pul6-Delay-SP", "SATES20-CVME-EVR0:Pul6-Delay-RB", accuracy=1, name="Jet Delay")
|
#jet_delay = PVAdjustable("SATES20-CVME-EVR0:Pul6-Delay-SP", "SATES20-CVME-EVR0:Pul6-Delay-RB", accuracy=1, name="Jet Delay")
|
||||||
|
|
||||||
source_delay = PVAdjustable("SATES20-CVME-EVR0:Pul1-Delay-SP", "SATES20-CVME-EVR0:Pul1-Delay-RB", accuracy=1, name="Source Delay")
|
source_delay = PVAdjustable("SATES20-CVME-EVR0:Pul12_NEW_DELAY", "SATES20-CVME-EVR0:Pul12_NEW_DELAY", accuracy=1, name="Source Delay")
|
||||||
|
vmi_gate = PVAdjustable("SATES20-CVME-EVR0:Pul11_NEW_DELAY", "SATES20-CVME-EVR0:Pul11_NEW_DELAY", accuracy=1, name="VMI Gate Delay")
|
||||||
|
|
||||||
mono = PVAdjustable("SATOP11-OSGM087:SetEnergy", "SATOP11-OSGM087:photonenergy", accuracy=0.1, process_time=3, name="Mono Coupled")
|
mono = PVAdjustable("SATOP11-OSGM087:SetEnergy", "SATOP11-OSGM087:photonenergy", accuracy=0.1, process_time=3, name="Mono Coupled WORKING")
|
||||||
|
|
||||||
#waveplate = Motor("SLAAT21-LMOT-M712:MOT", name="Laser Waveplate")
|
#waveplate = Motor("SLAAT21-LMOT-M702:MOT", name="Laser Waveplate (laser pulse energy)")
|
||||||
TT_delay = DelayStage("SLAAT21-LMOT-M704:MOT", name="TT_delay")
|
waveplate = Motor("SLAAT21-LMOT-M702:MOT", name="Laser Waveplate (pump laser T3)")
|
||||||
|
TT_delay = DelayStage("SLAAT21-LMOT-M704:MOT", name="Time tool delay")
|
||||||
#laser_comp21 = Motor("SLAAT21-LMOT-M701:MOT", name="Laser Comp T2")
|
#laser_comp21 = Motor("SLAAT21-LMOT-M701:MOT", name="Laser Comp T2")
|
||||||
#laser_comp11 = Motor("SLAAT21-LMOT-M705:MOT", name="Laser Comp T1 1")
|
#laser_comp11 = Motor("SLAAT21-LMOT-M705:MOT", name="Laser Comp T1 1")
|
||||||
pump_probe_delay = DelayStage("SLAAT21-LMOT-M703:MOT", name="pump_probe_delay")
|
|
||||||
|
pump_probe_delay2 = DelayStage("SLAAT21-LMOT-M703:MOT", name="pump_probe_delay_ch2")
|
||||||
|
#pump_probe_delay1 = DelayStage("SLAAT21-LMOT-M713:MOT", name="pump_probe_delay_ch1")
|
||||||
|
|
||||||
#laser_comp12 = Motor("SLAAT21-LMOT-M706:MOT", name="Laser Comp T1 2")
|
#laser_comp12 = Motor("SLAAT21-LMOT-M706:MOT", name="Laser Comp T1 2")
|
||||||
#laser_delay = DelayStage("SLAAT21-LMOT-M708:MOT", name="Laser Delay")
|
#laser_delay = DelayStage("SLAAT21-LMOT-M708:MOT", name="Laser Delay")
|
||||||
EO_delay = Motor("SLAAT21-LMOT-M714:MOT", name="EO_delay")
|
#laser_delay = Motor("SLAAT21-LMOT-M708:MOT", name="Laser Global Delay")
|
||||||
laser_delay = Motor("SLAAT21-LMOT-M708:MOT", name="Laser Global Delay")
|
|
||||||
lxt = PVAdjustable("SLAAT01-LTIM-PDLY:DELAY", pvname_done_moving="SLAAT01-LTIM-PDLY:WAITING", name="LXT")
|
lxt = PVAdjustable("SLAAT01-LTIM-PDLY:DELAY", pvname_done_moving="SLAAT01-LTIM-PDLY:WAITING", name="LXT")
|
||||||
|
|
||||||
source_y = Motor("SATES20-MANIP2:MOTOR_2", name="Needle y")
|
#source_y = Motor("SATES20-MANIP2:MOTOR_2", name="Needle y")
|
||||||
source_x = Motor("SATES20-MANIP2:MOTOR_1", name="Needle x")
|
#source_x = Motor("SATES20-MANIP2:MOTOR_1", name="Needle x")
|
||||||
|
|
||||||
|
|
||||||
injector_x = Motor("SATES20-MANIP1:MOTOR_1", name="Injector X")
|
#injector_x = Motor("SATES20-MANIP1:MOTOR_1", name="Injector X")
|
||||||
injector_y = Motor("SATES20-MANIP1:MOTOR_2", name="Injector Y")
|
#injector_y = Motor("SATES20-MANIP1:MOTOR_2", name="Injector Y")
|
||||||
|
|
||||||
|
|
||||||
pump_pulse_energy = Motor("SLAAT21-LMOT-M702:MOT", name="Pump Pulse Energy (Waveplate)")
|
pump_pulse_energy = Motor("SLAAT21-LMOT-M702:MOT", name="Pump Pulse Energy (Waveplate global)")
|
||||||
|
|
||||||
att = Attenuator("SATFE10-OATT064")
|
att = Attenuator("SATFE10-OATT064")
|
||||||
shutter = Shutter("SATOP21-OPSH138")
|
shutter = Shutter("SATOP21-OPSH138")
|
||||||
@ -73,7 +77,7 @@ chic_delay_delay = TwoColorChicaneDelay(name="zz Two Color Chicane as delay")
|
|||||||
chic_delay = chic_delay_current #TODO remove, and rename above
|
chic_delay = chic_delay_current #TODO remove, and rename above
|
||||||
|
|
||||||
und = Undulators(name="z Athos Undulators (both colors)")
|
und = Undulators(name="z Athos Undulators (both colors)")
|
||||||
und1 = Undulators([6, 7, 8, 9, 10, 11, 12, 13], n_und_ref=10, name="z Athos Undulators 6-13 (first color)")
|
und1 = Undulators([6, 7, 8, 9, 10, 11, 12, 13], n_und_ref=10, name="z Athos Undulators 06-13 (first color)")
|
||||||
und2 = Undulators([15, 16, 17, 18, 19, 20, 21, 22], n_und_ref=19, name="z Athos Undulators 15-22 (second color)")
|
und2 = Undulators([15, 16, 17, 18, 19, 20, 21, 22], n_und_ref=19, name="z Athos Undulators 15-22 (second color)")
|
||||||
|
|
||||||
und.set_limits(320, 1300)
|
und.set_limits(320, 1300)
|
||||||
@ -84,7 +88,7 @@ und2.set_limits(320, 1300)
|
|||||||
class MonoUndCoupled(Adjustable):
|
class MonoUndCoupled(Adjustable):
|
||||||
|
|
||||||
def __init__(self, mono, und, und_energy_offset=0):
|
def __init__(self, mono, und, und_energy_offset=0):
|
||||||
super().__init__("MONO-UND-COUPLED", name="z mono and undulators coupled")
|
super().__init__("MONO-UND-COUPLED", name="z mono and undulators coupled", units="eV")
|
||||||
self.mono = mono
|
self.mono = mono
|
||||||
self.und = und
|
self.und = und
|
||||||
self.und_energy_offset = und_energy_offset
|
self.und_energy_offset = und_energy_offset
|
||||||
@ -104,7 +108,7 @@ class MonoUndCoupled(Adjustable):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
mono_und_coupled = MonoUndCoupled(mono, und, und_energy_offset=5)
|
#mono_und_coupled = MonoUndCoupled(mono, und, und_energy_offset=14.0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -114,8 +118,8 @@ mono_und_coupled = MonoUndCoupled(mono, und, und_energy_offset=5)
|
|||||||
|
|
||||||
m1 = PVAdjustable("SATES23-XSMA169:MOT7:DRIVE", internal=True)
|
m1 = PVAdjustable("SATES23-XSMA169:MOT7:DRIVE", internal=True)
|
||||||
m2 = PVAdjustable("SATES23-XSMA169:MOT8:DRIVE", internal=True)
|
m2 = PVAdjustable("SATES23-XSMA169:MOT8:DRIVE", internal=True)
|
||||||
holo_sample_motion_y = HoloSample(m1, m2)
|
#holo_sample_motion_y = HoloSample(m1, m2)
|
||||||
holo_sample_motion_x = SmarActAxis("SATES23-XSMA169:MOT7", name="Table 3: Sample X")
|
#holo_sample_motion_x = SmarActAxis("SATES23-XSMA169:MOT7", name="Table 3: Sample X")
|
||||||
|
|
||||||
|
|
||||||
#params = unpickle("devices/phases/UE38_meas_and_fit_data.pickle")["fitdata"]
|
#params = unpickle("devices/phases/UE38_meas_and_fit_data.pickle")["fitdata"]
|
||||||
@ -123,6 +127,18 @@ holo_sample_motion_x = SmarActAxis("SATES23-XSMA169:MOT7", name="Table 3: Sample
|
|||||||
#polarization = UndPhases("SATUN-PHASES", params, und_names=und_names, isparallel=True, name="z Polarization")
|
#polarization = UndPhases("SATUN-PHASES", params, und_names=und_names, isparallel=True, name="z Polarization")
|
||||||
|
|
||||||
|
|
||||||
|
#target_x = PVAdjustable("SATES10-CMOV-M004:MOT.VAL", name="Streaking Target X")
|
||||||
|
#target_y = PVAdjustable("SATES10-CMOV-M005:MOT.VAL", name="Streaking Target Y")
|
||||||
|
#target_z = PVAdjustable("SATES10-CMOV-M006:MOT.VAL", name="Streaking Target Z")
|
||||||
|
|
||||||
|
#parabola_x = PVAdjustable("SATES10-CMOV-M007:MOT.VAL", name="Streaking parabola X")
|
||||||
|
#parabola_y = PVAdjustable("SATES10-CMOV-M008:MOT.VAL", name="Streaking parabola Y")
|
||||||
|
#parabola_z = PVAdjustable("SATES10-CMOV-M009:MOT.VAL", name="Streaking parabola Z")
|
||||||
|
#parabola_R = PVAdjustable("SATES10-CMOV-M010:MOT.VAL", name="Streaking parabola R")
|
||||||
|
|
||||||
|
#tof_x = PVAdjustable("SATES10-CMOV-M001:MOT.VAL", name="Streaking TOF X")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
xota1_z_trans = Motor("SATES21-XOTA166:W_Z", name="Table 1: Z coordinated")
|
xota1_z_trans = Motor("SATES21-XOTA166:W_Z", name="Table 1: Z coordinated")
|
||||||
xota1_y_trans = Motor("SATES21-XOTA166:W_Y", name="Table 1: Y coordinated")
|
xota1_y_trans = Motor("SATES21-XOTA166:W_Y", name="Table 1: Y coordinated")
|
||||||
@ -131,21 +147,19 @@ xota1_y_trans = Motor("SATES21-XOTA166:W_Y", name="Table 1: Y coordinated")
|
|||||||
xota3_z_trans = Motor("SATES23-XOTA169:W_Z", name="Table 3: Z coordinated")
|
xota3_z_trans = Motor("SATES23-XOTA169:W_Z", name="Table 3: Z coordinated")
|
||||||
xota3_y_trans = Motor("SATES23-XOTA169:W_Y", name="Table 3: Y coordinated")
|
xota3_y_trans = Motor("SATES23-XOTA169:W_Y", name="Table 3: Y coordinated")
|
||||||
|
|
||||||
#mot1_x = SmarActAxis("SATES21-XSMA166:MOT4", name="Table 1: sma X")
|
|
||||||
#mot1_y = SmarActAxis("SATES21-XSMA166:MOT5", name="Table 1: sma Y")
|
|
||||||
#mot1_z = SmarActAxis("SATES21-XSMA166:MOT6", name="Table 1: sma Z")
|
|
||||||
|
|
||||||
#mot3_z = SmarActAxis("SATES23-XSMA169:MOT3", name="Table 3: sma Z")
|
mot3_x = Motor("SATES23-XSMA169:MOT_7", name="Table 3: sma x")
|
||||||
mot3_x = SmarActAxis("SATES23-XSMA169:MOT7", name="Table 3: sma x")
|
mot3_y = Motor("SATES23-XSMA169:MOT_8", name="Table 3: sma y")
|
||||||
mot3_y = SmarActAxis("SATES23-XSMA169:MOT8", name="Table 3: sma y")
|
|
||||||
|
|
||||||
mirror_tilt = PVAdjustable("SATES20-XSMA165:MOT17:DRIVE", name="Mirror_tilt")
|
#linear_detector = Motor("SATES23-XSMA169:MOT_13", name="Linear detector Z")
|
||||||
mirror_tip = PVAdjustable("SATES20-XSMA165:MOT16:DRIVE", name="Mirror_tip")
|
|
||||||
|
#mirror_tilt = PVAdjustable("SATES20-XSMA165:MOT17:DRIVE", name="Mirror_tilt")
|
||||||
|
#mirror_tip = PVAdjustable("SATES20-XSMA165:MOT16:DRIVE", name="Mirror_tip")
|
||||||
|
|
||||||
|
|
||||||
jet_rot = SmarActAxis("SATES24-XSMA171:MOT1", name="Jet Rotation degrees")
|
#Sample_Y = SmarActAxis("SATES23-XSMA169:MOT1", name="Holo sample Y")
|
||||||
jet_X = SmarActAxis("SATES24-XSMA171:MOT4", name="Jet X mm")
|
#Sample_Z = SmarActAxis("SATES23-XSMA169:MOT2", name="Holo sample Z")
|
||||||
jet_Z = SmarActAxis("SATES24-XSMA171:MOT6", name="Jet Z mm")
|
#Sample_X = SmarActAxis("SATES23-XSMA169:MOT3", name="Holo sample X")
|
||||||
|
|
||||||
standa = Motor("SLAAT21-LMOT-M707:MOT", name="Standa Motor")
|
standa = Motor("SLAAT21-LMOT-M707:MOT", name="Standa Motor")
|
||||||
|
|
||||||
@ -178,7 +192,7 @@ def cycle_magnet():
|
|||||||
# add some more devices to the overview
|
# add some more devices to the overview
|
||||||
overview.standa = standa
|
overview.standa = standa
|
||||||
overview.TT_delay = TT_delay
|
overview.TT_delay = TT_delay
|
||||||
overview.pump_probe_delay = pump_probe_delay
|
overview.pump_probe_delay = pump_probe_delay2
|
||||||
overview.LXT = lxt
|
overview.LXT = lxt
|
||||||
|
|
||||||
|
|
||||||
@ -189,9 +203,21 @@ def unstuck_undulators():
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from slic.core.acquisition.broker import restapi
|
||||||
|
|
||||||
|
@as_shortcut
|
||||||
|
def power_on_modules():
|
||||||
|
restapi.power_on_modules("http://sf-daq:10003", "JF15T08V01", [1, 3])
|
||||||
|
|
||||||
|
@as_shortcut
|
||||||
|
def power_off_modules():
|
||||||
|
restapi.power_off_modules("http://sf-daq:10003", "JF15T08V01", [1, 3])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from slic.core.acquisition.spreadsheet import Spreadsheet
|
from slic.core.acquisition.spreadsheet import Spreadsheet
|
||||||
|
|
||||||
spreadsheet = Spreadsheet(spreadsheet_info, placeholders=["comment", "sample"], host="satese-cons-01", port=9090)
|
spreadsheet = Spreadsheet(spreadsheet_info, placeholders=["comment", "sample"], host="satese-cons-01.psi.ch", port=9090)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -234,11 +260,28 @@ instrument = "maloja"
|
|||||||
#pgroup = "p21509" # HBT
|
#pgroup = "p21509" # HBT
|
||||||
#pgroup = "p21510" # Time-resolved ferromagnetic resonance
|
#pgroup = "p21510" # Time-resolved ferromagnetic resonance
|
||||||
#pgroup = "p21584" # Transverse cavity and spike counting test
|
#pgroup = "p21584" # Transverse cavity and spike counting test
|
||||||
pgroup = "p21512" # REMI: Molecular Clock -- Xinhua
|
#pgroup = "p21512" # REMI: Molecular Clock -- Xinhua
|
||||||
|
#pgroup = "p21511" # XPS, Rolles
|
||||||
|
#pgroup = "p21638" # oven test and time tool, inhouse, coltrims
|
||||||
|
#pgroup = "p21624" #XPS Ingo Fischer
|
||||||
|
#pgroup = "p21919" #wavefront tests
|
||||||
|
#pgroup = "p21626" #Skyrmion nucleation
|
||||||
|
#pgroup = "p21623" #XPS Artem
|
||||||
|
#pgroup = "p21625" #Holo VO2
|
||||||
|
#pgroup = "p21978" #streaking two tofs
|
||||||
|
#pgroup = "p22175" #EtOH TOF
|
||||||
|
#pgroup = "p22190" # XPS Lorenzo
|
||||||
|
#pgroup = "p22224" #JF startup
|
||||||
|
#pgroup = "p22083" #Kling
|
||||||
|
pgroup = "p22224" #Photon spectrometer tests
|
||||||
|
|
||||||
daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=None, rate_multiplicator=1, append_user_tag_to_data_dir=True, spreadsheet=spreadsheet)
|
|
||||||
|
daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=1, append_user_tag_to_data_dir=True, spreadsheet=spreadsheet)
|
||||||
#daq = FakeAcquisition(instrument, pgroup)
|
#daq = FakeAcquisition(instrument, pgroup)
|
||||||
|
|
||||||
|
# tell sf-daq which PVs to monitor
|
||||||
|
daq.update_config_pvs()
|
||||||
|
|
||||||
#daqPV = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB
|
#daqPV = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB
|
||||||
|
|
||||||
check_intensity = PVCondition("SATBD01-DBPM060:Q2", vmin=5, vmax=None, wait_time=1, required_fraction=0.8)
|
check_intensity = PVCondition("SATBD01-DBPM060:Q2", vmin=5, vmax=None, wait_time=1, required_fraction=0.8)
|
||||||
@ -247,20 +290,52 @@ check_intensity = PVCondition("SATBD01-DBPM060:Q2", vmin=5, vmax=None, wait_time
|
|||||||
scan = Scanner(scan_info_dir=f"/sf/{instrument}/data/{pgroup}/res/scan_info", default_acquisitions=[daq], condition=check_intensity)
|
scan = Scanner(scan_info_dir=f"/sf/{instrument}/data/{pgroup}/res/scan_info", default_acquisitions=[daq], condition=check_intensity)
|
||||||
gui = GUI(scan, show_goto=True, show_spec=True, show_run=True)
|
gui = GUI(scan, show_goto=True, show_spec=True, show_run=True)
|
||||||
|
|
||||||
# CTA DAQ
|
|
||||||
from ctadaq import CTAAcquisition
|
|
||||||
import sys
|
|
||||||
sys.path.append('/photonics/home/gac-maloja/Andrin')
|
|
||||||
from scripts import *
|
|
||||||
|
|
||||||
|
|
||||||
muphase = PVAdjustable("VXGC:Phase", name='Microwave Phase')
|
## CTA DAQ
|
||||||
#mufreq = PV('VXGC:Freq')
|
#from ctadaq_skyrmion_nucleation import CTAAcquisition
|
||||||
ctadaq = CTAAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=None, rate_multiplicator=1, append_user_tag_to_data_dir=True, spreadsheet=spreadsheet)
|
|
||||||
ctascan = Scanner(scan_info_dir=f"/sf/{instrument}/data/{pgroup}/res/scan_info", default_acquisitions=[ctadaq], condition=check_intensity)
|
|
||||||
ctagui = GUI(ctascan, show_goto=True, show_spec=True, show_run=True, title="CTA DAQ")
|
|
||||||
|
|
||||||
|
|
||||||
from devices.adrian import turboscope, microwave
|
|
||||||
|
##muphase = PVAdjustable("VXGC:Phase", name='Microwave Phase')
|
||||||
|
###mufreq = PV('VXGC:Freq')
|
||||||
|
#ctadaq = CTAAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=None, rate_multiplicator=1, append_user_tag_to_data_dir=True, spreadsheet=spreadsheet)
|
||||||
|
#ctascan = Scanner(scan_info_dir=f"/sf/{instrument}/data/{pgroup}/res/scan_info", default_acquisitions=[ctadaq], condition=check_intensity)
|
||||||
|
#ctagui = GUI(ctascan, show_goto=True, show_spec=True, show_run=True, title="CTA DAQ")
|
||||||
|
|
||||||
|
|
||||||
|
#from devices.adrian import turboscope, microwave
|
||||||
|
|
||||||
|
|
||||||
|
## holo scan script
|
||||||
|
#def holo_scan():
|
||||||
|
#
|
||||||
|
# energies = [
|
||||||
|
# 528.5,
|
||||||
|
# 529.2,
|
||||||
|
# 529.7,
|
||||||
|
# 530.2,
|
||||||
|
# 531.0,
|
||||||
|
# ]
|
||||||
|
#
|
||||||
|
# n_repeats = 1
|
||||||
|
# reps = 10
|
||||||
|
#
|
||||||
|
# energies = sorted(sorted(set(energies)) * n_repeats)
|
||||||
|
#
|
||||||
|
# for E in energies:
|
||||||
|
#
|
||||||
|
# mono.set(E).wait()
|
||||||
|
#
|
||||||
|
# for i in range(reps):
|
||||||
|
#
|
||||||
|
# printable_E = str(round(E, 1)).replace(".", "_")
|
||||||
|
#
|
||||||
|
# fname = f"holo_scan_{printable_E}eV"
|
||||||
|
# print(fname)
|
||||||
|
#
|
||||||
|
# while check_intensity.wants_repeat():
|
||||||
|
# daq.acquire(fname, n_pulses=10, is_scan_step=(i != 0)).wait()
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user