Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • slic/maloja
1 result
Show changes
Commits on Source (8)
......@@ -65,7 +65,13 @@ end = start + timedelta(seconds=1)
ib_chans = ["sf-imagebuffer/" + i for i in fpics] #TODO does this speed this up?
aggregation = dapi.Aggregation(aggregation_type="value", aggregations=["sum"], nr_of_bins=1)
with DisabledLogger():
ib_data = dapi.get_data(channels=ib_chans, start=start, end=end, aggregation=aggregation)
try:
base_url = "https://data-api.psi.ch/sf-imagebuffer" # needed due to data/image buffer split (Jan 2022)
print("\nCheck with Simon to get the image buffer channel search fixed!\n")
ib_data = dapi.get_data(channels=ib_chans, start=start, end=end, aggregation=aggregation, base_url=base_url)
except RuntimeError as e:
print("dapi got", e)
ib_data = {}
def get_state(f):
try:
......
......@@ -31,28 +31,40 @@ channels_inten += [
channels_ks = [
"SATES21-GES1:A1_VALUES", #SATES21-GES1:TD_VALUES.VALZ
# "SATES21-GES1:A2_VALUES",
# "SATES21-GES1:A1_VALUES", #SATES21-GES1:TD_VALUES.VALZ
"SATES21-GES1:A2_VALUES",
# "SATES21-GES1:A3_VALUES",
# "SATES21-GES1:A4_VALUES",
####### IOXOS Input #####
# "SATES20-LSCP10:CH0:0",
# "SATES20-LSCP10:CH0:1",
# "SATES20-LSCP10:CH0:2",
# "SATES20-LSCP10:CH6:1",
# "SATES20-LSCP10:CH6:2",
]
#channels_cam_gige = [
# f"SATES21-CAMS154-GIGE{i+1}:FPICTURE" for i in range(8)
#]
channels_cam_gige = [
f"SATES21-CAMS154-GIGE{i+1}:FPICTURE" for i in range(8)
# "SATES21-CAMS154-GIGE4:FPICTURE"
# "SATES21-CAMS154-GIGE2:FPICTURE"
]
channels_cam_pco = [
"SATES21-CAMS154-M1:FPICTURE",
"SATES24-CAMS161-M1:FPICTURE",
"SATES21-CAMS-PATT1:FPICTURE",
#"SATES21-CAMS-PATT1:FPICTURE",
]
names_cam_pco = [
"SATES21-CAMS154-M1",
"SATES24-CAMS161-M1",
"SATES21-CAMS-PATT1",
# "SATES21-CAMS-PATT1",
]
suffices_proc = [
"processing_parameters",
......@@ -66,7 +78,8 @@ for n in names_cam_pco:
channels = channels_nbs + channels_inten + channels_ks + channels_cam_pco + channels_cam_gige
# combine all channels:
channels = channels_nbs + channels_inten + channels_cam_pco + channels_cam_gige + channels_ks
......@@ -79,9 +92,12 @@ pvs = [
"SATES20-MANIP2:MOTOR_1.RBV",
"SATES20-MANIP2:MOTOR_2.RBV",
"SATES20-MANIP2:MOTOR_3.RBV",
"SATES21-VM-VT2020:PRESSURE",
"SATES21-VM-VT3010:PRESSURE",
"SATES21-VM-VT3030:PRESSURE",
"SATES21-VM-VT2020:PRESSURE.VAL",
"SATES21-VM-VT3010:PRESSURE.VAL",
"SATES21-VM-VT3030:PRESSURE.VAL",
"SATES21-VM-VT1010:PRESSURE.VAL",
"SATES21-VM-VT1020:PRESSURE.VAL",
"SATES21-VM-VT1030:PRESSURE.VAL",
"SATES21-XSHV166:V-0-S-CH0",
"SATES21-XSHV166:V-0-S-CH1",
"SATES21-XSHV166:V-0-S-CH2",
......@@ -99,10 +115,27 @@ pvs = [
"SATUN14-MBND100:I-READ",
"SF-CPCL-TIM:TIME",
"SLAAT01-LTIM-PDLY:DELAY",
"SLAAT21-LMOT-M701:MOT",
"SLAAT21-LMOT-M702:MOT",
"SLAAT21-LMOT-M703:MOT",
"SLAAT21-LMOT-M704:MOT",
"SLAAT21-LMOT-M707:MOT",
"SLAAT21-LMOT-M705:MOT",
"SLAAT21-LMOT-M706:MOT",
"SLAAT21-LMOT-M708:MOT",
"SWISSFEL-STATUS:Bunch-2-Appl-Freq-RB",
"SLAAT01-LCAM-C601:FIT-XPOS",
"SLAAT01-LCAM-C601:FIT-YPOS",
"SLAAT01-LCAM-C601:INTEGRAL_AVE",
"SLAAT21-LCAM-C701:FIT-XPOS",
"SLAAT21-LCAM-C701:FIT-YPOS",
"SLAAT21-LCAM-C701:INTEGRAL_AVE",
"SLAAT21-LCAM-C704:FIT-XPOS",
"SLAAT21-LCAM-C704:FIT-YPOS",
"SLAAT21-LCAM-C704:INTEGRAL_AVE",
"SLAAT21-LSPC-SPEC1:WAVELENGTHS",
"SLAAT21-LSPC-SPEC1:SPECTRUM",
"SATES20-CVME-EVR0:Pul14-Delay-SP",
"SLAAT21-LENG-LAKE1:GET_TEMP",
]
......
......@@ -24,22 +24,28 @@ from devices.undulator import Undulators, TwoColorChicane, Phases
from devices.magnet import Magnet
from channels import channels, pvs, detectors
from spreadsheet import overview
from spreadsheet import overview, print_overview, print_line_for_spreadsheet
import colors
dummy = DummyAdjustable(units="au")
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:Pul14-Delay-SP", "SATES20-CVME-EVR0:Pul14-Delay-RB", accuracy=1, name="Source Delay")
waveplate = Motor("SLAAT21-LMOT-M702:MOT", name="Laser Waveplate")
exp_delay = Motor("SLAAT21-LMOT-M704:MOT", name="PP delay chamber 3")
TT_delay = Motor("SLAAT21-LMOT-M704:MOT", name="TT_delay")
#laser_comp21 = Motor("SLAAT21-LMOT-M701:MOT", name="Laser Comp T2")
#laser_comp11 = Motor("SLAAT21-LMOT-M705:MOT", name="Laser Comp T1 1")
pump_probe_delay = Motor("SLAAT21-LMOT-M703:MOT", name="pump_probe_delay")
#laser_comp12 = Motor("SLAAT21-LMOT-M706:MOT", name="Laser Comp T1 2")
#laser_delay = DelayStage("SLAAT21-LMOT-M708:MOT", name="Laser Delay")
laser_delay = Motor("SLAAT21-LMOT-M708:MOT", name="Laser 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")
source_y = Motor("SATES20-MANIP1:MOTOR_1", name="Source manipulator y")
source_x = Motor("SATES20-MANIP1:MOTOR_2", name="Source manipulator x")
source_y = Motor("SATES20-MANIP1:MOTOR_1", name="Aerosol Injector x")
source_x = Motor("SATES20-MANIP1:MOTOR_2", name="Aerosol Injector y")
att = Attenuator("SATFE10-OATT064")
chic_delay = TwoColorChicane("zz Two Color Chicane")
......@@ -49,12 +55,13 @@ 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)")
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(390, 1000)
und1.set_limits(390, 1000)
und2.set_limits(390, 1000)
und.set_limits(390, 1100)
und1.set_limits(390, 1100)
und2.set_limits(390, 1100)
xota_z_trans = Motor("SATES21-XOTA166:W_Z", name="Table 1: Z coordinated")
xota_y_trans = Motor("SATES21-XOTA166:W_Y", name="Table 1: Y coordinated")
#xota_hori_z = Motor("SATES21-XOTA166:MOTOR_Z", name="Table 1: Z raw")
mot1_x = SmarActAxis("SATES21-XSMA166:MOT4", name="Table 1: sma X")
......@@ -88,8 +95,8 @@ def cycle_magnet():
# add some more devices to the overview
overview.standa = standa
overview.exp_delay = exp_delay
overview.laser_delay = laser_delay
overview.TT_delay = TT_delay
overview.pump_probe_delay = pump_probe_delay
overview.LXT = lxt
......@@ -106,10 +113,15 @@ instrument = "maloja"
#pgroup = "p19373" # laser
#pgroup = "p19483" # pilot 1 -- TRXPS
#pgroup = "p19488" # pilot 2 -- Non-Linear Spectroscopy
pgroup = "p19510" # pilot 2 -- Non-Linear Spectroscopy
daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=1)
#pgroup = "p19510" # pilot 2 -- Non-Linear Spectroscopy
#pgroup = "p19727" # Laser only timing tests
#pgroup = "p19509" # slic dev
#pgroup = "p19743" # Focus tests and timing tests
#pgroup = "p19582" # pilot 3 -- SPI
pgroup = "p19583" # permalloy 2.0
#pgroup = "p20073" # alvise
daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, default_detectors=detectors, rate_multiplicator=1, append_user_tag_to_data_dir=True)
#daq = FakeAcquisition(instrument, pgroup)
#daqPV = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB
......
......@@ -3,7 +3,7 @@ from time import sleep, time
import numpy as np
from epics import PV
from slic.utils import nice_arange
from slic.devices.general.motor import Motor
#def kescan3D():
......@@ -954,62 +954,198 @@ from slic.utils import nice_arange
def mourning():
currents = [
10.0,
31.99314930809352,
39.18320176115609,
43.80,
50.5,
62.0,
80.0,
100.0
]
end_time = datetime(2021, 11, 29, 7, 45)
for i in range(100):
now = datetime.now()
if now > end_time:
break
for I in currents:
chic_delay.set(I).wait()
#def mourning():
# currents = [
# 10.0,
# 31.99314930809352,
# 39.18320176115609,
# 43.80,
# 50.5,
# 62.0,
# 80.0,
# 100.0
# ]
#
# end_time = datetime(2021, 11, 29, 7, 45)
#
# for i in range(100):
# now = datetime.now()
# if now > end_time:
# break
#
# for I in currents:
# chic_delay.set(I).wait()
#
# for energy1 in (406,): # if done, switch to: 403
# und1.set(energy1).wait()
#
# for energy2 in range(530, 545+1):
# und2.set(energy2).wait()
#
# fname = f"afternoon17_N2O_{i:04}_{energy1}eV_{energy2}eV_{I}A"
# print(datetime.now(), fname)
#
# while check_intensity.wants_repeat():
# daq.acquire(fname, n_pulses=1000 * 2).wait()
#
# cycle_magnet().wait()
#
#
#
#def klappe_zu():
# shutter1 = PV("SATFE10-OPSH066:REQUEST")
# shutter2 = PV("SATOP21-OPSH138:REQUEST")
#
# end_time = datetime(2021, 11, 29, 8)
#
# while True:
# now = datetime.now()
# if now > end_time:
# break
# print(now)
# sleep(30)
#
# print("close shutters", datetime.now())
# shutter1.put(0)
# shutter2.put(0)
for energy1 in (406,): # if done, switch to: 403
und1.set(energy1).wait()
for energy2 in range(530, 545+1):
und2.set(energy2).wait()
fname = f"afternoon17_N2O_{i:04}_{energy1}eV_{energy2}eV_{I}A"
print(datetime.now(), fname)
while check_intensity.wants_repeat():
daq.acquire(fname, n_pulses=1000 * 2).wait()
def TTmeasurements(daq, numIterations, nBackground, nMeas):
#increment run number
print(daq.pgroup)
repratefactor = 10 #check reprate of machine
shutter266 = PV('SLAAT21-LDIO-LAS6291:SET_BO01')
exp_delay = Motor("SLAAT21-LMOT-M704:MOT", name="Laser Exp delay")
dsStart = exp_delay.get()
### take background Time tool:
for i in range(0,numIterations):
# #close shutter
# shutter266.put(1)
# ### Take data
# #timestamp = datetime.today().strftime("%d_%m_%H_%M")
# fname = f"TimeToolBackground_{i}"
# daq.acquire(fname, n_pulses=nBackground * repratefactor)
# #Open shutter
# shutter266.put(0)
### take spectrometer bacground Time tool:
#while shutters open
#move away from T0
exp_delay.set(dsStart-1)
sleep(3)
### Take data
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"SpectrometerBackground_{i}"
daq.acquire(fname, n_pulses=nBackground * repratefactor)
#move back to T0
exp_delay.set(dsStart)
sleep(3)
### measure:
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"Measurement_{i}"
daq.acquire(fname, n_pulses=nMeas * repratefactor)
# n_pulses=nMeas * repratefactor
# scan.scan1D(exp_delay, start, stop, step, n_pulses, fname, return_to_initial_values=True)
def TTmeasurementsScan(daq, scan, sStage, numIterations, nBackground, nMeas, start, stop, step):
#increment run number
print(daq.pgroup)
repratefactor = 10 #check reprate of machine
print(sStage.name)
print(sStage.get())
shutter266 = PV('SLAAT21-LDIO-LAS6291:SET_BO01')
# delayStage = PV('SLAAT21-LMOT-M704:MOT.VAL')
delay = Motor("SLAAT21-LMOT-M704:MOT", name="Laser Exp delay")
dsStart = delay.get()
### take background Time tool:
for i in range(0,numIterations):
# #close shutter
# shutter266.put(1)
# ### Take data
# #timestamp = datetime.today().strftime("%d_%m_%H_%M")
# fname = f"TimeToolBackground_{i}"
# daq.acquire(fname, n_pulses=nBackground * repratefactor)
# #Open shutter
# shutter266.put(0)
### take spectrometer bacground Time tool:
#while shutters open
#move away from T0
delay.set(dsStart-1)
sleep(3)
### Take data
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"SpectrometerBackground_{i}"
daq.acquire(fname, n_pulses=nBackground * repratefactor)
#move back to T0
delay.set(dsStart)
sleep(3)
### measure:
#timestamp = datetime.today().strftime("%d_%m_%H_%M")
fname = f"Measurement_{i}"
# daq.acquire(fname, n_pulses=nMeas * repratefactor)
n_pulses=nMeas * repratefactor
print(sStage.get())
scan.scan1D(sStage, start, stop, step, n_pulses, fname, return_to_initial_values=True, relative=True)
from tqdm import trange
def focus_test(daq):
daq.pgroup = "p19743"
# daq.pgroup = "p19509"
i = 1
while True:
i += 1
name = f"focus_test2_{i}"
daq.acquire(name, n_pulses=1000)
print("sleep")
for _ in trange(900):
sleep(1)
cycle_magnet().wait()
def klappe_zu():
shutter1 = PV("SATFE10-OPSH066:REQUEST")
shutter2 = PV("SATOP21-OPSH138:REQUEST")
end_time = datetime(2021, 11, 29, 8)
#def scan_with_bkg():
# start = 102.1
# stop = 102.4
# step = 0.015
while True:
now = datetime.now()
if now > end_time:
break
print(now)
sleep(30)
# n_pulses = 1 * 1000
print("close shutters", datetime.now())
shutter1.put(0)
shutter2.put(0)
# bkg = 0
# for i in range(1000):
# print(i, "sig")
# delay.set(start).wait()
# sleep(10)
# scan.scan1D(delay, start, stop, step, n_pulses, f"TT_overnight2_sig_{i:04}", return_to_initial_values=False)
# print(i, "bkg")
# delay.set(bkg).wait()
# daq.acquire(f"TT_overnight2_bkg_{i:04}", n_pulses=n_pulses)
# sleep(10)
......
......@@ -47,6 +47,13 @@ overview = SimpleDevice("Maloja Overview",
manip2needleESz = PVAdjustable("SATES20-MANIP2:MOTOR_3.VAL", internal=True),
# pol1 = PVEnumAdjustable("SATUN06-UIND030:POL-SET", internal=True),
# pol2 = PVEnumAdjustable("SATUN15-UIND030:POL-SET", internal=True),
Manip1_x = PVAdjustable("SATES20-MANIP1:MOTOR_1.RBV", internal = True),
Manip1_y = PVAdjustable("SATES20-MANIP1:MOTOR_2.RBV", internal = True),
Manip1_z = PVAdjustable("SATES20-MANIP1:MOTOR_3.RBV", internal = True),
Manip4_x = PVAdjustable("SATES20-MANIP4:MOTOR_1.RBV", internal = True),
Manip4_y = PVAdjustable("SATES20-MANIP4:MOTOR_3.RBV", internal = True),
pressChamb1 = PVAdjustable("SATES21-VM-VT1010:PRESSURE", internal=True),
pressJF = PVAdjustable("SATES21-VM-VT1020:PRESSURE", internal=True),
pressChamb2 = PVAdjustable("SATES21-VM-VT2020:PRESSURE", internal=True),
pressChamb3 = PVAdjustable("SATES21-VM-VT3010:PRESSURE", internal=True),
pressChamb3GasCell = PVAdjustable("SATES21-VM-VT3030:PRESSURE", internal=True),
......@@ -59,54 +66,77 @@ overview = SimpleDevice("Maloja Overview",
att64 = PVStringAdjustable("SATFE10-OATT064:MOT2TRANS.VALD", internal=True),
att65 = PVStringAdjustable("SATFE10-OATT065:MOT2TRANS.VALD", internal=True),
ToFMCPRupp = PVAdjustable("SATES21-XSHV166:V-2-S-CH3", internal=True),
ToFrepelerRupp = PVAdjustable("SATES21-XSHV166:V-3-S-CH3", internal=True),
trigger14Delay = PVAdjustable("SATES20-CVME-EVR0:Pul14-Delay-RB", internal=True),
pressSkimmer = PVAdjustable("SATES21-VM-VT1030:PRESSURE", internal=True),
photonEnergy = PVAdjustable("SATUN:FELPHOTENE", internal=True),
SourceTemp = PVAdjustable("SLAAT21-LENG-LAKE1:GET_TEMP", internal=True),
skimmerRuppUpstream = PVAdjustable("SATES22-XSMA168:MOT1:MOTRBV", internal=True),
skimmerRuppDownstream = PVAdjustable("SATES22-XSMA168:MOT2:MOTRBV", internal=True),
**undulator_info
)
spreadsheet_line = [
"timeStamp", "File name",
"Gas cell / TOF",
"standa","Sample",
"pressChamb3",
"pressChamb3GasCell", "Static/scan", "Scan parameter", "ScanStep", "shots", "Comments", "Two colors (Y/N)", "energy1",
"polarisation10", "energy2",
"polarisation19",
"pulse_energy",
"chicane_current_rb",
"FELrepRate",
"att64",
"att65", "Grating", "order", "Slit", "Detector position X", "Detector position Y", "Detector position (angle)","Ek", "Ep", "Slit", "Mode",
"pressChamb2", "Gas",
"manip2needleESx",
"manip2needleESy",
"manip2needleESz",
"ToFV1p",
"ToFV2p",
"ToFV3p",
"ToFV1m",
"ToFV2m",
"ToFV3m",
"PaddleChamber1x",
"PaddleChamber1y",
"PaddleChamber1z",
"energy6",
"energy7",
"energy8",
"energy9",
"energy10",
"energy11",
"energy12",
"energy13",
"energy14",
"energy15",
"energy16",
"energy17",
"energy18",
"energy19",
"energy20",
"energy21",
"energy22",
"timeStamp", "File name", "run name", "comments", "static/scan", "start", "stop", "step size", "shots", "steps", "GasMixture", "concentration", "backing pressure",
"SourceTemp",
"skimmerRuppUpstream",
"skimmerRuppDownstream",
# "Manip1_x",
# "Manip1_y",
# "Manip1_z",
# "Manip4_x",
# "Manip4_y", "type", "mobility density", "particle size", "flow rate", "n2", "co2", "voltage", "current", "upper skim","gap up", "lower skim", "gap low",
"trigger14Delay",
"ToFMCPRupp",
"ToFrepelerRupp",
"pressChamb1",
"pressJF",
"pressSkimmer",
# "Gas cell / TOF",
# "standa","Sample",
# "pressChamb3",
# "pressChamb3GasCell", "Static/scan", "Scan parameter", "ScanStep", "shots", "Comments", "Two colors (Y/N)", "energy1",
# "polarisation10", "energy2",
# "polarisation19",
"photonEnergy",
"pulse_energy",
"FELrepRate",
"att64",
"att65",
# "pressChamb2", "Gas",
# "manip2needleESx",
# "manip2needleESy",
# "manip2needleESz",
# "ToFV1p",
# "ToFV2p",
# "ToFV3p",
# "ToFV1m",
# "ToFV2m",
# "ToFV3m",
# "PaddleChamber1x",
# "PaddleChamber1y",
# "PaddleChamber1z",
"energy6",
"energy7",
"energy8",
"energy9",
"energy10",
"energy11",
"energy12",
"energy13",
"energy14",
"energy15",
"energy16",
"energy17",
"energy18",
"energy19",
"energy20",
"energy21",
"energy22",
]
......