Files
alvra/alvra.py
2020-05-03 18:06:39 +00:00

87 lines
2.2 KiB
Python
Executable File

#!/usr/bin/env python
from slic.controls import PV
from slic.acquisition import BSAcquisition, DBAcquisition, DIAAcquisition, PVAcquisition
from slic.scanner import Scanner
from slic.utils import Channels, Config, Elog, Screenshot
from slic.condition import PVCondition
from slic.utils import devices
from devices import *
from adhoc import *
#fn_cfg = "/sf/alvra/config/exp/current_experiment.json"
fn_cfg = "./slickits/alvra/config/config.json"
cfg = Config(fn_cfg)
elog = Elog(cfg.elog_url, cfg.screenshot_directory, user=cfg.user, password="supercorrect") #TODO: remove fake password
screenshot = Screenshot(cfg.screenshot_directory)
#fn_channels = "/sf/alvra/config/com/channel_lists/default_channel_list"
fn_channels = "./slickits/alvra/config/channel_list"
channels = Channels(fn_channels)
check_intensity = PVCondition("SARFE10-PBPG050:HAMP-INTENSITY-CAL", vmin=-100, vmax=300, wait_time=3, required_fraction=0.8)
bsdaqJF = DIAAcquisition(cfg.instrument, cfg.pgroup, default_channels=channels)
scansJF = Scanner(
data_base_dir="scan_data",
# scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup),
scan_info_dir="./",
default_acquisitions=[bsdaqJF],
condition=check_intensity,
)
bsdaq = BSAcquisition(cfg.instrument, cfg.pgroup, default_channels=channels)
scansBSreadLocal = Scanner(
# data_base_dir="/sf/alvra/data/{}/res/scan_data".format(cfg.pgroup),
# scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup),
data_base_dir="./",
scan_info_dir="./",
default_acquisitions=[bsdaq],
)
bsdaqDB = DBAcquisition(cfg.instrument, cfg.pgroup, default_channels=channels)
bsdaqPV = PVAcquisition(cfg.instrument, cfg.pgroup, default_channels=channels)
#TODO: just some generic examples:
from slic.devices.device import Device
shut_und = Device(
"SARFE10-OPSH044",
description="Photon shutter after Undulator"
)
pbps_und = Device(
"SARFE10-PBPS053",
z_undulator=44,
description="Intensity position monitor after Undulator (PBPS)"
)
print(shut_und)
print(pbps_und)
for k, v in sorted(dict(globals()).items()):
if k.startswith("__"):
continue
print("=" * 50)
print(k + ":")
print("-" * (len(k) + 1))
print(v)