large reorganization, part 1 done

This commit is contained in:
2024-05-27 16:09:46 +02:00
parent ffbfa2ba92
commit 90e12fc814
42 changed files with 1371 additions and 43856 deletions

View File

@ -1,890 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "e03fa003-fac5-44f7-b42f-2b718f6b966a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b]0;⊚slic\u0007"
]
}
],
"source": [
"from slic.core.adjustable import Adjustable, PVAdjustable, DummyAdjustable\n",
"from slic.core.scanner import Scanner\n",
"\n",
"from slic.core.acquisition import BSAcquisition, PVAcquisition, SFAcquisition\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "cbd7faac-ff24-4e99-bb00-3536d868663f",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2023-10-03 at 11:58:38 | INFO | Loading started.\n",
"**** The executable \"caRepeater\" couldn't be located\n",
"**** because of errno = \"No such file or directory\".\n",
"**** You may need to modify your PATH environment variable.\n",
"**** Unable to start \"CA Repeater\" process.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b]0;⊚slic\u0007"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2023-10-03 at 11:58:41 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Caught HTTPConnectionPool(host='saresc-vcons-02.psi.ch', port=9090): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa618d15640>: Failed to establish a new connection: [Errno 111] Connection refused')).\n",
"2023-10-03 at 11:58:41 | WARNING | No transmission value reported from {attenuator.ID}\n",
"2023-10-03 at 11:58:42 | INFO | Using undulator (Aramis) offset to PSSS energy of 0 eV.\n",
"2023-10-03 at 11:58:42 | INFO | Running at cristallina with pgroup p19150.\n",
"2023-10-03 at 11:58:42 | INFO | Loading finished.\n",
"CA client library is unable to contact CA repeater after 50 tries.\n",
"Silence this message by starting a CA repeater daemon\n",
"or by calling ca_pend_event() and or ca_poll() more often.\n"
]
}
],
"source": [
"# %run /sf/cristallina/applications/slic/cristallina/cristallina.py"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "1dae028f-116d-42ea-aead-298be9f01de3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dummy at: 0\n"
]
}
],
"source": [
"# setup dummy axis\n",
"dummy = DummyAdjustable()\n",
"print(f\"dummy at: {dummy.get_current_value()}\")\n",
"\n",
"# setup scanner\n",
"scanner = Scanner(data_base_dir=\"/tmp/scan_data\", scan_info_dir=\"/tmp/scan_info\")"
]
},
{
"cell_type": "markdown",
"id": "207bcb99-d34f-47c5-a417-4de42dfc253e",
"metadata": {},
"source": [
"# BS acquisition"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "7396532a-dd7b-4acf-8aa9-c12662405d00",
"metadata": {},
"outputs": [],
"source": [
"bs_example_channels = ['SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', \"SARFE10-PBIG050-EVR0:CALCI\", \"SARES30-CAMS156-XE:x_fit_amplitude\",] # \"SARES30-CAMS156-XE:FPICTURE\"]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "099cd6df-26d6-43e7-bf80-87eabc0a42b5",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Directory \"/tmp/scan_info\" does not exist, creating it...\n",
"Directory \"/tmp/scan_data/scan0000_test_bs\" does not exist, creating it...\n",
"\u001b[32mScan step 1 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 0.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n",
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0000.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 2 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 1.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0001.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 3 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 2.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0002.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 4 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 3.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0003.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 5 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 4.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0004.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 6 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 5.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0005.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 7 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 6.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0006.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 8 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 7.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0007.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 9 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 8.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0008.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 10 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 9.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0009.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 11 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 10.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n",
"[WARNING] bsread.data.helpers - 'type' channel field not found. Parse as 64-bit floating-point number float64 (default).\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data Header: {'htype': 'bsr_d-1.1', 'channels': [{'name': 'SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', 'encoding': '>'}, {'name': 'SARFE10-PBIG050-EVR0:CALCI', 'encoding': '>'}]}\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0000_test_bs/scan0000_test_bs_step0010.h5\n",
"Acquisition done\n",
"\u001b[32mAll scan steps done\n",
"\u001b[39m"
]
},
{
"data": {
"text/plain": [
"perform the following scan:\n",
"===========================\n",
"\n",
"A: DummyAdjustable \"Dummy\" at 10.0\n",
"\n",
" # A\n",
"-- ----\n",
" 0 0.0\n",
" 1 1.0\n",
" 2 2.0\n",
" 3 3.0\n",
" 4 4.0\n",
" 5 5.0\n",
" 6 6.0\n",
" 7 7.0\n",
" 8 8.0\n",
" 9 9.0\n",
"10 10.0\n",
"\n",
"record 10 pulses per step to \"scan0000_test_bs\" via:\n",
"----------------------------------------------------\n",
"- BSAcquisition: example_instrument/example_pgroup"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# setup acquisition \n",
"acq = BSAcquisition('example_instrument', 'example_pgroup', default_channels=bs_example_channels, default_data_base_dir='/tmp')\n",
"\n",
"scanner.scan1D(dummy, 0, 10, step_size=1, n_pulses=10, filename='test_bs', acquisitions=[acq], step_info=None, return_to_initial_values=False)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "8df87c3c-5870-4dc5-9990-3d57187b8f40",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from slic.core.scanner.scanbackend import is_only_sfdaq, is_sfdaq\n",
"is_sfdaq([acq])"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "34bc4109-0de2-4a4f-9bb3-0f8ea03973d9",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "13bc2a3c-e3c1-4b14-8cec-d0d4f334987a",
"metadata": {},
"source": [
"is_sfdaq([acq])"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "5a455e3a-ae7a-4d3c-9e14-b42c24de8f36",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit unresponsive\"\n",
" Context: \"SARES30-CPPM-MOBI2.psi.ch:5064\"\n",
" Source File: ../tcpiiu.cpp line 926\n",
" Current Time: Tue Oct 03 2023 17:51:00.456204338\n",
"..................................................................\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit unresponsive\"\n",
" Context: \"SARES30-CPPM-MOBI1.psi.ch:5064\"\n",
" Source File: ../tcpiiu.cpp line 926\n",
" Current Time: Tue Oct 03 2023 17:54:13.473023696\n",
"..................................................................\n",
"Unexpected problem with CA circuit to server \"SARES30-CPPM-MOBI1.psi.ch:5064\" was \"Connection reset by peer\" - disconnecting\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"SARES30-CPPM-MOBI1.psi.ch:5064\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Tue Oct 03 2023 17:54:42.135508142\n",
"..................................................................\n",
"Unexpected problem with CA circuit to server \"SARES30-CPPM-MOBI2.psi.ch:5064\" was \"No route to host\" - disconnecting\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"SARES30-CPPM-MOBI2.psi.ch:5064\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Tue Oct 03 2023 18:06:26.581725132\n",
"..................................................................\n"
]
}
],
"source": [
"is_sfdaq([acq])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "e2c866cd-4051-4a1c-b4c8-a4372e14a180",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Directory \"/tmp/scan_data/scan0008_test_pv\" does not exist, creating it...\n",
"\u001b[32mScan step 1 of 11\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 0.0\n",
"Moved adjustables, starting acquisition\n",
"No channels specified, using default channel list.\n",
"Stopping because of: TaskError: Exception in Task\n",
"caused by ConnectionError: connection to the following PVs timed out (1 sec): SARES30-MOBI1:MOT_1.RBV, SARES30-MOBI1:MOT_2.RBV, SARES30-MOBI1:MOT_3.RBV, SARES30-MOBI1:MOT_5.RBV, SARFE10-PBPS053:MOTOR_X2, SAROP31-OPPI151:MOTOR_X.RBV, SAROP31-OPPI151:MOTOR_Y.RBV\n",
"Stopping caused: TaskError: Exception in Task\n",
"caused by ConnectionError: connection to the following PVs timed out (1 sec): SARES30-MOBI1:MOT_1.RBV, SARES30-MOBI1:MOT_2.RBV, SARES30-MOBI1:MOT_3.RBV, SARES30-MOBI1:MOT_5.RBV, SARFE10-PBPS053:MOTOR_X2, SAROP31-OPPI151:MOTOR_X.RBV, SAROP31-OPPI151:MOTOR_Y.RBV\n",
"Stopped current DAQ tasks:\n",
"\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /tmp/scan_data/scan0008_test_pv/scan0008_test_pv_step0000.h5\n",
"\n"
]
},
{
"data": {
"text/plain": [
"perform the following scan:\n",
"===========================\n",
"\n",
"A: DummyAdjustable \"Dummy\" at 0.0\n",
"\n",
" # A\n",
"-- ----\n",
" 0 0.0\n",
" 1 1.0\n",
" 2 2.0\n",
" 3 3.0\n",
" 4 4.0\n",
" 5 5.0\n",
" 6 6.0\n",
" 7 7.0\n",
" 8 8.0\n",
" 9 9.0\n",
"10 10.0\n",
"\n",
"record 10 pulses per step to \"scan0008_test_pv\" via:\n",
"----------------------------------------------------\n",
"- PVAcquisition: cristallina/p19150"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scanner.scan1D(dummy, 0, 10, step_size=1, n_pulses=10, filename='test_pv', acquisitions=[acq], step_info=None, return_to_initial_values=False)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e35014f0-3e5d-49fb-bf7b-e8ffad4c92f2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"id": "d5816898-f66e-4504-90cb-8d0e54ba3c23",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'pvs' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[8], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m acq \u001b[38;5;241m=\u001b[39m PVAcquisition(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mexample_instrument\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mexample_pgroup\u001b[39m\u001b[38;5;124m'\u001b[39m, default_channels\u001b[38;5;241m=\u001b[39m\u001b[43mpvs\u001b[49m, default_data_base_dir\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m/tmp\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
"\u001b[0;31mNameError\u001b[0m: name 'pvs' is not defined"
]
}
],
"source": [
"acq = PVAcquisition('example_instrument', 'example_pgroup', default_channels=pvs, default_data_base_dir='/tmp')"
]
},
{
"cell_type": "markdown",
"id": "e16c139f-3422-41fc-8557-5cbe39115535",
"metadata": {},
"source": [
"# SFAcquisition example\n",
"\n",
"This requires an existing `pgroup`. The `default_data_base_dir` cannot be used to specify arbitrary directories as a target, instead the data is located in `/sf/<instrument>/data/<pgroup>/raw/run<XXXX>/data/acq<YYYY>.*.h5`."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3e374115-4807-47cf-8a3e-034462011493",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3d465878-2118-4dea-a24a-219ff4252d88",
"metadata": {},
"outputs": [],
"source": [
"# TODO: requires the stand client, need small howto how to start and configure or let it run all the time\n",
"from slic.core.acquisition.spreadsheet import Spreadsheet\n",
"\n",
"import os\n",
"os.chdir(\"/sf/cristallina/applications/slic/cristallina\")\n",
"# %run /sf/cristallina/applications/slic/cristallina/cristallina.py\n",
"from devices.diffractometer import diffractometer\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "c4f812f4-b6fa-463f-a367-121e139b972b",
"metadata": {},
"outputs": [],
"source": [
"spreadsheet = Spreadsheet({\"TD\": diffractometer.td},\n",
" placeholders=('comment', 'sample'),\n",
" host='saresc-vcons-02.psi.ch',\n",
" port=9090,)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "2c6852f5-9aa5-4d4b-8c1c-7558720f3e2e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Motor \"SARES30-CPCL-ECMC02:TD\" at 115.00409000000013 mm"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diffractometer.td"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "026350d2-a6bf-4b02-abcc-f560b22bbdfb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" a b c\n",
"0 2 3 4"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spreadsheet.client.add_row(a=2, b=3, c=4)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "2dddb44b-689f-4cdb-858f-103610bef3c6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Advanced run number to 192 for SF DAQ on http://sf-daq:10002 (status: idle, last run: 192).\n",
" a b c run filename n_pulses comment sample scanned_adjs v_min v_max n_steps TD\n",
"0 2.0 3.0 4.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN\n",
"1 NaN NaN NaN 192.0 test_bs 10.0 Dummy 0.0 2.0 3.0 115.004265\n",
"\u001b[32mScan step 1 of 3\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 0.0\n",
"Moved adjustables, starting acquisition\n",
"Continuing run number 192.\n",
"No detectors specified, using default detector list.\n",
"No PVs specified, using default PV list.\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 49.7 Hz]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"run number: 192\n",
"acq number: 1\n",
"total acq number: 687\n",
"\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0001.BSDATA.h5\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0001.CAMERAS.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 2 of 3\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 1.0\n",
"Moved adjustables, starting acquisition\n",
"Continuing run number 192.\n",
"No detectors specified, using default detector list.\n",
"No PVs specified, using default PV list.\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 49.7 Hz]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"run number: 192\n",
"acq number: 2\n",
"total acq number: 688\n",
"\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0002.BSDATA.h5\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0002.CAMERAS.h5\n",
"Acquisition done\n",
"\u001b[32mScan step 3 of 3\n",
"\u001b[39mDummyAdjustable \"Dummy\" at 2.0\n",
"Moved adjustables, starting acquisition\n",
"Continuing run number 192.\n",
"No detectors specified, using default detector list.\n",
"No PVs specified, using default PV list.\n",
"No channels specified, using default channel list.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 49.7 Hz]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"run number: 192\n",
"acq number: 3\n",
"total acq number: 689\n",
"\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0003.BSDATA.h5\n",
"- /sf/cristallina/data/p19150/raw/run0192/data/acq0003.CAMERAS.h5\n",
"Acquisition done\n",
"\u001b[32mAll scan steps done\n",
"\u001b[39m"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/plain": [
"perform the following scan:\n",
"===========================\n",
"\n",
"A: DummyAdjustable \"Dummy\" at 2.0\n",
"\n",
"# A\n",
"- ---\n",
"0 0.0\n",
"1 1.0\n",
"2 2.0\n",
"\n",
"record 10 pulses per step to \"test_bs\" via:\n",
"-------------------------------------------\n",
"- SF DAQ on http://sf-daq:10002 (status: idle, last run: 192)"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# setup acquisition \n",
"\n",
"bs_example_channels = ['SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG', \"SARFE10-PBIG050-EVR0:CALCI\", \"SARES30-CAMS156-XE:x_fit_amplitude\", \"SARES30-CAMS156-XE:FPICTURE\"]\n",
"\n",
"# this requires an existing pgroup\n",
"acq = SFAcquisition('example_instrument', 'p19150', default_channels=bs_example_channels, default_data_base_dir='/tmp', spreadsheet=spreadsheet)\n",
"scanner.scan1D(dummy, 0, 2, step_size=1, n_pulses=10, filename='test_bs', acquisitions=[acq], step_info=None, return_to_initial_values=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d5c65482-4b5e-4baa-943f-e35cf384b67c",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:conda-slic]",
"language": "python",
"name": "conda-env-conda-slic-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,71 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"id": "bc11382b-bbae-4541-b117-58cc4cafd737",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Playing WAVE '/tmp/ImperialMarch60.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono\n"
]
}
],
"source": [
"import subprocess\n",
"res = subprocess.run([\"aplay\", \"/tmp/ImperialMarch60.wav\"])\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "baf1c729-d9e3-484a-bf51-b9eaa5e6f3ff",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Playing WAVE '/tmp/ImperialMarch60.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono\n"
]
}
],
"source": [
"proc = subprocess.Popen([\"aplay /tmp/ImperialMarch60.wav\"], shell=True,\n",
" stdin=None, stdout=None, stderr=None, close_fds=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "436cfe45-c941-45fa-82af-ad1a8b819eb3",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:conda-slic]",
"language": "python",
"name": "conda-env-conda-slic-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -1,248 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "e0a0b5eb-b6bd-4fb7-abe9-8c61318260f7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b]0;⊚slic\u0007"
]
}
],
"source": [
"from slic.core.adjustable import Adjustable, PVAdjustable, DummyAdjustable\n",
"from slic.core.scanner import Scanner\n",
"from slic.core.acquisition import BSAcquisition, PVAcquisition, SFAcquisition\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8f30e2a0-c4d7-4bdd-a0b5-48662d807568",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2023-10-29 at 21:54:56 | INFO | Loading started.\n",
"2023-10-29 at 21:54:57 | INFO | Connected to stand server\n",
"2023-10-29 at 21:54:58 | INFO | Using undulator (Aramis) offset to PSSS energy of -62 eV.\n",
"2023-10-29 at 21:54:58 | INFO | Running at cristallina with pgroup p21563.\n",
"2023-10-29 at 21:54:58 | INFO | Loading finished.\n"
]
}
],
"source": [
"%run /sf/cristallina/applications/slic/cristallina/cristallina.py\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "85a7d2d3-794a-49e1-9dec-2c85ebad7730",
"metadata": {},
"outputs": [],
"source": [
"# Run the scan only when gas monitor value larger than 10uJ (and smaller than 2000uJ):\n",
"# required fraction defines ammount of data recorded to save the step and move on to the next one\n",
"check_intensity_gas_monitor = PVCondition(\n",
" \"SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-US\",\n",
" vmin=75,\n",
" vmax=2000,\n",
" wait_time=0.5,\n",
" required_fraction=0.8,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a627e0fb-ecf2-4e14-8c8e-e470c9558059",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_intensity_gas_monitor.check()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "a0e05c2f-2b76-4a8f-8394-b04bb4d6b2f5",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8285.310467258269"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"undulators.get()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "2175e207-6df8-434c-8d00-985f1149dc27",
"metadata": {},
"outputs": [],
"source": [
"from slic.utils import typename, nice_linspace, nice_arange"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "18767387-ae51-4d1f-a4a1-1e0015016324",
"metadata": {},
"outputs": [],
"source": [
"center = 11.779\n",
"delta = 0.1\n",
"\n",
"#scan.scan1D(\n",
"# diffractometer.theta,\n",
"# center-delta,\n",
"# center+delta,\n",
"# step_size=0.025,"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6d22b87f-2063-4cb7-bef0-55a4263d4890",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([11.679, 11.704, 11.729, 11.754, 11.779, 11.804, 11.829, 11.854,\n",
" 11.879, 11.904])"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"SAR-CPPM-EXPMX1.psi.ch:5064\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Wed Nov 01 2023 15:13:05.052862079\n",
"..................................................................\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit unresponsive\"\n",
" Context: \"SAR-CPPM-EXPMX1.psi.ch:5064\"\n",
" Source File: ../tcpiiu.cpp line 926\n",
" Current Time: Fri Nov 03 2023 09:09:46.672425316\n",
"..................................................................\n",
"Unexpected problem with CA circuit to server \"SAR-CPPM-EXPMX1.psi.ch:5064\" was \"No route to host\" - disconnecting\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"SAR-CPPM-EXPMX1.psi.ch:5064\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Fri Nov 03 2023 09:25:12.648406223\n",
"..................................................................\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"sf-saresc-cagw-01.psi.ch:5062\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Sun Nov 05 2023 12:20:46.598231213\n",
"..................................................................\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"sf-saresc-cagw-01.psi.ch:5062\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Sun Nov 05 2023 12:22:30.890766667\n",
"..................................................................\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit unresponsive\"\n",
" Context: \"SARES30-CPPM-MOBI1.psi.ch:5064\"\n",
" Source File: ../tcpiiu.cpp line 926\n",
" Current Time: Mon Nov 06 2023 11:43:52.744259068\n",
"..................................................................\n",
"Unexpected problem with CA circuit to server \"SARES30-CPPM-MOBI1.psi.ch:5064\" was \"Connection reset by peer\" - disconnecting\n",
"CA.Client.Exception...............................................\n",
" Warning: \"Virtual circuit disconnect\"\n",
" Context: \"SARES30-CPPM-MOBI1.psi.ch:5064\"\n",
" Source File: ../cac.cpp line 1237\n",
" Current Time: Mon Nov 06 2023 11:44:07.434289668\n",
"..................................................................\n"
]
}
],
"source": [
"positions = nice_arange(center-delta, center+delta+0.025, 0.025)\n",
"positions\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "d995a8be-f9e7-46c5-add4-7b8717f14c9b",
"metadata": {},
"outputs": [],
"source": [
"positions = [11.779, 11.679, 11.704, 11.729, 11.754, 11.804, 11.829, 11.854,\n",
" 11.879]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ccb7f011-65d2-41e9-9c83-0d1e8ab3a9d8",
"metadata": {},
"outputs": [],
"source": [
"scan.ascan_list("
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:conda-slic]",
"language": "python",
"name": "conda-env-conda-slic-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -1,128 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "d1bead0c-2489-4672-ab51-5e75974dd4ab",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'attenuator' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mattenuator\u001b[49m\u001b[38;5;241m.\u001b[39mfoils\n",
"\u001b[0;31mNameError\u001b[0m: name 'attenuator' is not defined"
]
}
],
"source": [
"attenuator.foils\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b2a73dd0-1136-44b7-b625-e5fdcd8ec8dc",
"metadata": {},
"outputs": [],
"source": [
"attenuator.foils.pv_names.get()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b1e94427-0f7d-4dd9-b61a-3d65135445ff",
"metadata": {},
"outputs": [],
"source": [
"attenuator.foils.pv_index.get()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "66d002ac-1625-4b0d-91c5-f7daa1bd941b",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'attenuator' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mattenuator\u001b[49m\u001b[38;5;241m.\u001b[39mfoils\u001b[38;5;241m.\u001b[39mpv_index\u001b[38;5;241m.\u001b[39mget()\n",
"\u001b[0;31mNameError\u001b[0m: name 'attenuator' is not defined"
]
}
],
"source": [
"attenuator.foils.pv_index.get()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b0f5509a-944a-4a2e-a6d1-56785beb359a",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'attenuator' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[3], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mattenuator\u001b[49m\u001b[38;5;241m.\u001b[39mfoils\u001b[38;5;241m.\u001b[39mpv_index\u001b[38;5;241m.\u001b[39mget()\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# 0 := None\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# 1 := 2\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;66;03m# 2 := 3\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# 3 := 4\u001b[39;00m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# 4 := 5\u001b[39;00m\n",
"\u001b[0;31mNameError\u001b[0m: name 'attenuator' is not defined"
]
}
],
"source": [
"attenuator.foils.pv_index.get()\n",
"\n",
"# 0 := None\n",
"# 1 := 2\n",
"# 2 := 3\n",
"# 3 := 4\n",
"# 4 := 5\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "aa5aee6a-5b3f-4693-8b52-7e142872449b",
"metadata": {},
"outputs": [],
"source": [
"attenuator.foils.pv_names"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:conda-analysis_edge] *",
"language": "python",
"name": "conda-env-conda-analysis_edge-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

58
beamline/components.py Normal file
View File

@ -0,0 +1,58 @@
from slic.devices.xoptics.aramis_attenuator import Attenuator
from slic.devices.xoptics.pulsepicker import PulsePicker
from slic.devices.xdiagnostics.intensitymonitor import IntensityMonitorPBPS
from .alignment_laser import AlignmentLaser
from slic.devices.xoptics.kb import KBHor, KBVer
from .pp_shutter import PP_Shutter
upstream_attenuator = Attenuator("SARFE10-OATT053", description="Aramis attenuator OATT053")
attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150")
# Shutter
shutter = PP_Shutter(
"SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter"
) # Shutter button when using the pulse picker
pulsepicker = PulsePicker(
"SAROP31-OPPI151",
"SARES30-LTIM01-EVR0:Pul3",
name="Cristallina X-ray pulse picker OPPI151",
)
front_end_attenuator = Attenuator(
"SARFE10-OATT053", description="Front end attenuator OATT053"
)
# Alignment laser
alignment_laser = AlignmentLaser(
"SAROP31-OLAS147:MOTOR_1", name="Cristallina alignment laser OLAS147"
)
pbps113 = IntensityMonitorPBPS(
"SAROP31-PBPS113",
# vme_crate="SAROP31-CVME-PBPS1", # please check this!
# link=9,
description="Intensity/position monitor in the optics hutch",
)
pbps149 = IntensityMonitorPBPS(
"SAROP31-PBPS149",
# vme_crate="SAROP31-CVME-PBPS2", # please check this!
# link=9,
description="Intensity/position monitor in the experimental hutch",
)
kbHor = KBHor("SAROP31-OKBH154", description="Cristallina horizontal KB mirror")
kbVer = KBVer("SAROP31-OKBV153", description="Cristallina vertical KB mirror")

View File

@ -3,7 +3,9 @@ from slic.utils import typename
class PP_Shutter:
"""Class for when pulse picker is used as a shutter. Opening and closing is done with turning on and off the event reciever universal output ON and OFF."""
"""Class for when pulse picker is used as a shutter.
Opening and closing is done with turning on and off the event receiver universal output ON and OFF.
"""
def __init__(self, ID, name="X-ray Pulse Picker Shutter"):
self.ID = ID

View File

@ -1,6 +1,7 @@
from epics import PV
# TODO: all these values have not been checked since the reorganization of the EVR outputs!
def pp_normal(opening = True):
""" Set pulse picker to fixed open or closed mode.
"""

View File

@ -9,8 +9,8 @@ from slic.core.acquisition.detcfg import DetectorConfig
# TODO: JF settings regarding raw conversion, compression, etc.
detectors = [
# "JF16T03V01",
"JF17T16V01",
"JF16T03V01",
# "JF17T16V01",
]
# ALLOWED_PARAMS = dict(
@ -32,17 +32,17 @@ detectors = DetectorConfig(detectors)
# detectors_with_config["JF16T03V01"]['remove_raw_files'] = True
# detectors_with_config["JF16T03V01"]['disabled_modules'] = [0, 1] # bottom module:0, middle module:1, top module:2
detectors["JF17T16V01"]['disabled_modules'] = [0, 1, 2, 3,
9, 10, 11,
12, 13, 14, 15] # bottom module:0, middle module:1, top module:2
#detectors["JF17T16V01"]['disabled_modules'] = [0, 1, 2, 3,
# 9, 10, 11,
# 12, 13, 14, 15] # bottom module:0, middle module:1, top module:2
detectors["JF17T16V01"]['remove_raw_files'] = True # We switched off quite a few modules, let's not keep all the raw data.
detectors["JF17T16V01"]['compression'] = True
detectors["JF17T16V01"]['adc_to_energy'] = True # We switched off quite a few modules, let's not keep all the raw data.
detectors["JF17T16V01"]['factor'] = 0.2 # Some useful compromise to save space.
detectors["JF17T16V01"]['save_dap_results'] = False
detectors["JF17T16V01"]['geometry'] = False
#detectors["JF17T16V01"]['remove_raw_files'] = True # We switched off quite a few modules, let's not keep all the raw data.
#detectors["JF17T16V01"]['compression'] = True
#detectors["JF17T16V01"]['adc_to_energy'] = True # We switched off quite a few modules, let's not keep all the raw data.
#detectors["JF17T16V01"]['factor'] = 0.2 # Some useful compromise to save space.
#detectors["JF17T16V01"]['save_dap_results'] = False
#detectors["JF17T16V01"]['geometry'] = False
detectors_MX = DetectorConfig()

View File

@ -1,259 +0,0 @@
# Channels at Cristallina endstation
##########################################################################################################
# BS channels
# TODO: JF settings regarding raw conversion, compression, etc.
detectors = [
# "JF16T03V01",
]
####################
channels_gas_monitor = [
"SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG",
"SARFE10-PBPG050:SLOW-X",
"SARFE10-PBPG050:SLOW-Y",
"SARFE10-PBIG050-EVR0:CALCI", # good for correlations with total beam intensity
"SARFE10-PBPG050:HAMP-INTENSITY-CAL",
]
######################
### PCO edge camera for the wavefront analysis
channels_PCO = [
"SARES30-CAMS156-PCO1:FPICTURE",
]
######################
### SwissMX OAV camera picture
channels_OAV = [] # "SARES30-CAMS156-SMX-OAV:FPICTURE",
######################
### PBPS053
channels_PBPS053 = [
"SARFE10-PBPS053:INTENSITY",
"SARFE10-PBPS053:XPOS",
"SARFE10-PBPS053:YPOS",
]
###################################
### Beam position monitor PBPS113
channels_PBPS113 = [
"SAROP31-PBPS113:INTENSITY",
"SAROP31-PBPS113:INTENSITY_UJ",
"SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD0",
"SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD1",
"SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD2",
"SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD3",
"SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD4",
"SAROP31-PBPS113:XPOS",
"SAROP31-PBPS113:YPOS",
]
####################
## PSS059
channels_pss059 = [
# "SARFE10-PSSS059:FPICTURE", # full pictures only when really needed
"SARFE10-PSSS059:SPECTRUM_X",
"SARFE10-PSSS059:SPECTRUM_Y",
"SARFE10-PSSS059:SPECTRUM_CENTER",
"SARFE10-PSSS059:SPECTRUM_COM",
"SARFE10-PSSS059:SPECTRUM_FWHM",
"SARFE10-PSSS059:SPECTRUM_STD",
"SARFE10-PSSS059:FIT_ERR",
"SARFE10-PSSS059:processing_parameters",
# SARFE10-PSSS059:SPECTRUM_AVG_CENTER
# SARFE10-PSSS059:SPECTRUM_AVG_FWHM
# SARFE10-PSSS059:SPECTRUM_AVG_Y
]
#######################
# from _proc process
channels_PPRM113 = [
"SAROP31-PPRM113:intensity",
"SAROP31-PPRM113:x_center_of_mass",
"SAROP31-PPRM113:x_fit_amplitude",
"SAROP31-PPRM113:x_fit_mean",
"SAROP31-PPRM113:x_fit_offset",
"SAROP31-PPRM113:x_fit_standard_deviation",
"SAROP31-PPRM113:x_fwhm",
"SAROP31-PPRM113:x_profile",
"SAROP31-PPRM113:x_rms",
"SAROP31-PPRM113:y_center_of_mass",
"SAROP31-PPRM113:y_fit_amplitude",
"SAROP31-PPRM113:y_fit_mean",
"SAROP31-PPRM113:y_fit_offset",
"SAROP31-PPRM113:y_fit_standard_deviation",
"SAROP31-PPRM113:y_fwhm",
"SAROP31-PPRM113:y_profile",
"SAROP31-PPRM113:y_rms",
# "SAROP31-PPRM113:FPICTURE", # full pictures for debugging purposes at the moment, from _ib process
]
#######################
# from _proc process
channels_PPRM150 = [
"SAROP31-PPRM150:intensity",
"SAROP31-PPRM150:x_center_of_mass",
"SAROP31-PPRM150:x_fit_amplitude",
"SAROP31-PPRM150:x_fit_mean",
"SAROP31-PPRM150:x_fit_offset",
"SAROP31-PPRM150:x_fit_standard_deviation",
"SAROP31-PPRM150:x_fwhm",
"SAROP31-PPRM150:x_profile",
"SAROP31-PPRM150:x_rms",
"SAROP31-PPRM150:y_center_of_mass",
"SAROP31-PPRM150:y_fit_amplitude",
"SAROP31-PPRM150:y_fit_mean",
"SAROP31-PPRM150:y_fit_offset",
"SAROP31-PPRM150:y_fit_standard_deviation",
"SAROP31-PPRM150:y_fwhm",
"SAROP31-PPRM150:y_profile",
"SAROP31-PPRM150:y_rms",
# "SAROP31-PPRM150:FPICTURE", # full pictures for debugging purposes at the moment, from _ib process
]
###########################
# Beam position monitor
channel_PBPS149 = [
"SAROP31-PBPS149:INTENSITY",
"SAROP31-PBPS149:INTENSITY_UJ",
"SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD0",
"SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD1",
"SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD2",
"SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD3",
"SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD4",
"SAROP31-PBPS149:XPOS",
"SAROP31-PBPS149:YPOS",
]
further_channels = [
####################
## Digitizer
# Integration limits
"SARES30-LTIM01-EVR0:DUMMY_PV1_NBS",
"SARES30-LTIM01-EVR0:DUMMY_PV2_NBS",
"SARES30-LTIM01-EVR0:DUMMY_PV3_NBS",
"SARES30-LTIM01-EVR0:DUMMY_PV4_NBS",
# Signal-Background
"SARES30-LSCP1-FNS:CH0:VAL_GET",
# Waveform signal
"SARES30-LSCP1-CRISTA1:CH0:1",
# Waveform trigger
"SARES30-LSCP1-CRISTA1:CH2:1",
# Calculated intensity
"SARES30-LTIM01-EVR0:CALCI",
]
channels = (
channels_gas_monitor
+ channels_PCO
+ channels_OAV
+ channels_PBPS053
+ channels_pss059
+ channels_PPRM113
+ channels_PPRM150
+ channel_PBPS149
+ channel_PBPS149
+ further_channels
)
##########################################################################################################
pv_channels = [
####################
## OAPU044
"SARFE10-OAPU044:MOTOR_X",
"SARFE10-OAPU044:MOTOR_Y",
"SARFE10-OAPU044:MOTOR_W",
"SARFE10-OAPU044:MOTOR_H",
####################
## OATT053
"SARFE10-OATT053:MOTOR_1",
"SARFE10-OATT053:MOTOR_1.RBV",
"SARFE10-OATT053:MOTOR_2",
"SARFE10-OATT053:MOTOR_2.RBV",
"SARFE10-OATT053:MOTOR_3",
"SARFE10-OATT053:MOTOR_3.RBV",
"SARFE10-OATT053:MOTOR_4",
"SARFE10-OATT053:MOTOR_4.RBV",
"SARFE10-OATT053:MOTOR_5",
"SARFE10-OATT053:MOTOR_5.RBV",
"SARFE10-OATT053:MOTOR_6",
"SARFE10-OATT053:MOTOR_6.RBV",
"SARFE10-OATT053:ENERGY",
"SARFE10-OATT053:TRANS_SP",
"SARFE10-OATT053:TRANS_RB",
####################
## OATA150
"SAROP31-OATA150:MOTOR_1",
"SAROP31-OATA150:MOTOR_2",
"SAROP31-OATA150:MOTOR_3",
"SAROP31-OATA150:MOTOR_4",
"SAROP31-OATA150:MOTOR_5",
"SAROP31-OATA150:MOTOR_6",
####################
## PSSS
"SARFE10-PSSS059:MOTOR_Y3.VAL",
"SARFE10-PSSS059:MOTOR_ROT_X3.VAL",
"SARFE10-PSSS059:MOTOR_X5.VAL",
"SARFE10-PSSS059:MOTOR_X3.VAL",
###########################
# KB mirrors
"SAROP31-OKBV153:W_X.RBV",
"SAROP31-OKBV153:W_Y.RBV",
"SAROP31-OKBV153:W_RX.RBV",
"SAROP31-OKBV153:W_RY.RBV",
"SAROP31-OKBV153:W_RZ.RBV",
"SAROP31-OKBV153:BU.RBV",
"SAROP31-OKBV153:BD.RBV",
"SAROP31-OKBV153:TY1.RBV",
"SAROP31-OKBV153:TY2.RBV",
"SAROP31-OKBV153:TY3.RBV",
"SAROP31-OKBV153:TX1.RBV",
"SAROP31-OKBV153:TX2.RBV",
"SAROP31-OKBH154:W_X.RBV",
"SAROP31-OKBH154:W_Y.RBV",
"SAROP31-OKBH154:W_RX.RBV",
"SAROP31-OKBH154:W_RY.RBV",
"SAROP31-OKBH154:W_RZ.RBV",
"SAROP31-OKBH154:BU.RBV",
"SAROP31-OKBH154:BD.RBV",
"SAROP31-OKBH154:TY1.RBV",
"SAROP31-OKBH154:TY2.RBV",
"SAROP31-OKBH154:TY3.RBV",
"SAROP31-OKBH154:TX2.RBV",
####################
## FEL Photon Energy
"SARUN:FELPHOTENE",
###################
## FEL Photon Pulse Energy
"SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG",
]
pvs_slits = [
# TODO: PVS slits can't be read by the DAQ module currently. Therefore disabled it.
# "SARFE10-OAPU044:MOTOR_X.VAL",
# "SARFE10-OAPU044:MOTOR_X.RBV"
]
pvs_apertures = [
"SAROP31-OAPU149:MOTOR_X.VAL", # the x pos of the aperture
"SAROP31-OAPU149:MOTOR_X.RBV", # the x pos of the aperture
]
###############################
smaract_channels = [
"SARES30-XSMA156:X:MOTRBV",
"SARES30-XSMA156:Y:MOTRBV",
"SARES30-XSMA156:Z:MOTRBV",
"SARES30-XSMA156:Ry:MOTRBV",
"SARES30-XSMA156:Rx:MOTRBV",
"SARES30-XSMA156:Rz:MOTRBV",
]
pvs = pvs_slits + pv_channels + smaract_channels

View File

@ -1,15 +0,0 @@
# Channels at Cristallina endstation
##########################################################################################################
# BS channels
# TODO: JF settings regarding raw conversion, compression, etc.
detectors_min = [
# "JF16T03V01",
]
channels_min = ["SARFE10-PSSS059:SPECTRUM_Y"]
pvs_min = ["SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG"] # pvs_slits + pv_channels + smaract_channels

View File

@ -50,21 +50,21 @@ setup_logging()
# TODO: this is later overwritten, probably not intended that way?
# from epics import PV
from devices.alignment_laser import AlignmentLaser
# from devices.alignment_laser import AlignmentLaser
from slic.gui import GUI
from slic.core.adjustable import Adjustable, PVAdjustable, DummyAdjustable
from slic.core.acquisition import SFAcquisition, PVAcquisition
from slic.core.condition import PVCondition
from slic.core.scanner import Scanner
from slic.devices.xdiagnostics.intensitymonitor import IntensityMonitorPBPS
from slic.devices.general.motor import Motor
from slic.devices.xoptics.pulsepicker import PulsePicker
from slic.utils import devices, Marker, as_shortcut
from slic.utils import Channels, Config, Elog, Screenshot, PV
from slic.core.acquisition.fakeacquisition import FakeAcquisition
from slic.devices.timing.events import CTASequencer
from channels.bs_channels import (
detectors,
@ -73,27 +73,34 @@ from channels.bs_channels import (
bs_channels,
camera_channels,
)
from channels.pv_channels import pvs
from spreadsheet import overview
# from channels_minimal import detectors_min, channels_min, pvs_min
from devices.pp_shutter import PP_Shutter
################# DEVICES #################
dummy = DummyAdjustable(units="au")
# Attenuators
from slic.devices.xoptics.aramis_attenuator import Attenuator
from devices.knife_edge import KnifeEdge
from devices.standa import standa
from devices.newport import newport
#from slic.devices.xoptics.aramis_attenuator import Attenuator
Newport_large = Motor("SARES30-MOBI1:MOT_5")
OWIS = Motor("SARES30-MOBI1:MOT_6") # small OWIS linear stage
#from devices.knife_edge import KnifeEdge
#from devices.standa import standa
#from devices.newport import newport
from beamline.components import upstream_attenuator, attenuator, shutter, pulsepicker, front_end_attenuator
# from beamline.components import kbHor, kbVer
from systems.components import cta
from gp_exp.components import Newport_large, OWIS
attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150")
upstream_attenuator = Attenuator("SARFE10-OATT053", description="Aramis attenuator OATT053")
def test_attenuator():
tfundamental = attenuator.get_transmission()
@ -105,26 +112,6 @@ def test_attenuator():
# test_attenuator()
front_end_attenuator = Attenuator(
"SARFE10-OATT053", description="Front end attenuator OATT053"
)
cta = CTASequencer("SAR-CCTA-ESC")
pbps113 = IntensityMonitorPBPS(
"SAROP31-PBPS113",
# vme_crate="SAROP31-CVME-PBPS1", # please check this!
# link=9,
description="Intensity/position monitor in the optics hutch",
)
pbps149 = IntensityMonitorPBPS(
"SAROP31-PBPS149",
# vme_crate="SAROP31-CVME-PBPS2", # please check this!
# link=9,
description="Intensity/position monitor in the experimental hutch",
)
# Undulators
from beamline import undulator
@ -134,35 +121,13 @@ logger.info(
)
# Shutter
shutter = PP_Shutter(
"SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter"
) # Shutter button when using the pulse picker
pulsepicker = PulsePicker(
"SAROP31-OPPI151",
"SARES30-LTIM01-EVR0:Pul3",
name="Cristallina X-ray pulse picker OPPI151",
)
# Alignment laser
alignment_laser = AlignmentLaser(
"SAROP31-OLAS147:MOTOR_1", name="Cristallina alignment laser OLAS147"
)
## Slits
from slic.devices.xoptics import slits
## Smaract & attocube stages
from devices.smaract_device_def import smaract_Juraj, smaract_mini_XYZ
from devices.attocube_device_def import attocube
from devices.jj_device_def import jjslits
# KBs
from slic.devices.xoptics.kb import KBHor, KBVer
kbHor = KBHor("SAROP31-OKBH154", description="Cristallina horizontal KB mirror")
kbVer = KBVer("SAROP31-OKBV153", description="Cristallina vertical KB mirror")
from gp_exp.smaract_device_def import smaract_Juraj, smaract_mini_XYZ
from gp_exp.attocube_device_def import attocube
from gp_exp.jj_device_def import jjslits
# Bernina monochromator
from beamline.bernina_mono import BerninaMono
@ -170,48 +135,48 @@ from beamline.bernina_mono import BerninaMono
BerninaDCM = BerninaMono("SAROP21-ODCM098")
# Diffractometer
from devices.diffractometer import Diffractometer
from crq_exp.diffractometer import Diffractometer
diffractometer = Diffractometer("diffractometer")
from devices.dilsc import Dilution
from crq_exp.dilsc import Dilution
dilution = Dilution()
################# Stand setup ##################
# TODO: requires the stand client, need small howto how to start and configure or let it run all the time
from slic.core.acquisition.spreadsheet import Spreadsheet
#from slic.core.acquisition.spreadsheet import Spreadsheet
# setup spreadsheet for transmission to stand
spreadsheet = Spreadsheet(
{
"Transmission" : attenuator.trans1st,
"Upstream Transmission": upstream_attenuator.trans1st,
"Energy_setpoint" : undulators,
"Energy_offset": undulator.energy_offset,
"TD": diffractometer.td,
"TRX": diffractometer.tr_x,
"TRY": diffractometer.tr_y,
"TRXBASE": diffractometer.trx_base,
"TRYBASE": diffractometer.try_base,
"THETA": diffractometer.theta,
"TWOTHETA": diffractometer.twotheta,
"Magnet_X": dilution.x,
"Magnet_Y": dilution.y,
"Magnet_Z": dilution.z,
"DilSc_T_plato": dilution.T_plato,
"DilSc_T_pucksensor": dilution.T_pucksensor,
},
placeholders=("comment", "sample", "run_usable"),
host="saresc-vcons-02.psi.ch",
port=9090,
)
#spreadsheet = Spreadsheet(
# {
# "Transmission" : attenuator.trans1st,
# "Upstream Transmission": upstream_attenuator.trans1st,
# "Energy_setpoint" : undulators,
# "Energy_offset": undulator.energy_offset,
# "TD": diffractometer.td,
# "TRX": diffractometer.tr_x,
# "TRY": diffractometer.tr_y,
# "TRXBASE": diffractometer.trx_base,
# "TRYBASE": diffractometer.try_base,
# "THETA": diffractometer.theta,
# "TWOTHETA": diffractometer.twotheta,
# "Magnet_X": dilution.x,
# "Magnet_Y": dilution.y,
# "Magnet_Z": dilution.z,
# "DilSc_T_plato": dilution.T_plato,
# "DilSc_T_pucksensor": dilution.T_pucksensor,
# },
#
# placeholders=("comment", "sample", "run_usable"),
# host="saresc-vcons-02.psi.ch",
# port=9090,
#)
try:
from stand_client import Client
from stand.stand_client import Client
stand_host = "saresc-vcons-02.psi.ch"
stand_client = Client(host=stand_host, port=9090)
@ -227,36 +192,8 @@ except Exception as error:
################# DAQ Setup #################
instrument = "cristallina"
# pgroup = "p19739" # commissioning March 2022 -- July 2022
# pgroup = "p20443" # commissioning Wavefront Sensor August 2022 (active)
from pgroups import pgroup, pgroup_scratch
# pgroup = "p20558" # SwissMX commissioning 3
# pgroup = "p20557" # CrQ PMS commisioning 1
# pgroup = "p20509" # CrQ commisioning DilSc1
# pgroup = "p20519" # beamline commissioning 2
# pgroup = "p20841" # CrQ PMS commisioning 2 (Jan 2023)
# pgroup = "p20993" # CrQ commisioning DilSc2 (March 2023)
# pgroup = "p21147" # SAXS
# pgroup = "p21238" # Cristallina photon diagnostics p-group with Chris
# pgroup = "p21224" # SwissMX commisioning 7
# pgroup = "p19150" # Scratch
# pgroup = "p19152" # Scratch
# pgroup = "p20840" # Cr beamline commisioning (Jan-Feb 2023)
# pgroup = "p21261" # CrQ PMS-3 July 2023
# pgroup = "p21528" # Cr-MX Colletier 2023-09-05
# pgroup = "p21516" # Beamline commissioning September 26-27, November 7 2023
# pgroup = "p21563" # Dil-Sc / diffractometer / tilted bunch / LiErF4 (/ TmVO4)
# pgroup = "p21569" # Dil-Sc / diffractometer / tilted bunch / LiErF4 (/ TmVO4), November 17-
# pgroup = "p21592" # HVE commissioning
# pgroup = "p21640" # Dil-Sc / diffractometer / LiErF4 : 4 March 2024
# pgroup = "p21920" # Beamline commissioning 2024
pgroup = "p21741" # CrQ - DilSc - SAXS LiHoF4
# setup pgroup specific logger
setup_logging_pgroup(pgroup)
@ -268,7 +205,7 @@ daq = SFAcquisition(
default_pvs=pvs,
default_detectors=detectors,
rate_multiplicator=1,
spreadsheet=spreadsheet,
spreadsheet=None,
)

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
from devices.attocube import AttocubeStage
from .attocube import AttocubeStage
attocube = AttocubeStage(
"SARES30-ATTOCUBE",

6
gp_exp/components.py Normal file
View File

@ -0,0 +1,6 @@
from slic.devices.general.motor import Motor
OWIS = Motor("SARES30-MOBI1:MOT_6") # small OWIS linear stage
Newport_large = Motor("SARES30-MOBI1:MOT_5")

View File

@ -1,5 +1,5 @@
# from slic.devices.general.smaract import SmarActStage
from devices.smaract import SmarActStage
from gp_exp.smaract import SmarActStage
from slic.core.device.simpledevice import SimpleDevice
from slic.devices.general.motor import Motor

View File

@ -1,417 +1,25 @@
2024-05-02 at 15:38:40 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-02 at 15:38:43 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-02 at 15:38:43 | WARNING | Cannot write log file to pgroup p21920.
2024-05-02 at 15:38:44 | INFO | Running at cristallina with pgroup p21920.
2024-05-02 at 15:38:44 | INFO | Loading finished.
2024-05-02 at 16:34:35 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-02 at 16:34:35 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-02 at 16:34:35 | WARNING | Cannot write log file to pgroup p21920.
2024-05-02 at 16:34:35 | INFO | Running at cristallina with pgroup p21920.
2024-05-02 at 16:34:35 | INFO | Loading finished.
2024-05-02 at 17:40:03 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-02 at 17:40:03 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-02 at 17:40:03 | INFO | Running at cristallina with pgroup p21741.
2024-05-02 at 17:40:03 | INFO | Loading finished.
2024-05-02 at 18:24:36 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-02 at 18:24:37 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-02 at 18:24:37 | INFO | Running at cristallina with pgroup p21741.
2024-05-02 at 18:24:37 | INFO | Loading finished.
2024-05-03 at 19:32:16 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-03 at 19:32:21 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-03 at 19:32:21 | INFO | Running at cristallina with pgroup p21741.
2024-05-03 at 19:32:21 | INFO | Loading finished.
2024-05-03 at 19:35:15 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-03 at 19:35:15 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-03 at 19:35:15 | WARNING | Cannot write log file to pgroup p19150.
2024-05-03 at 19:35:15 | INFO | Running at cristallina with pgroup p19150.
2024-05-03 at 19:35:15 | INFO | Loading finished.
2024-05-03 at 19:39:23 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-03 at 19:39:23 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-03 at 19:39:23 | WARNING | Cannot write log file to pgroup p19150.
2024-05-03 at 19:39:23 | INFO | Running at cristallina with pgroup p19150.
2024-05-03 at 19:39:23 | INFO | Loading finished.
2024-05-06 at 09:52:16 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 09:52:16 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-06 at 09:52:16 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 09:52:16 | INFO | Loading finished.
2024-05-06 at 10:37:46 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 10:37:46 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-06 at 10:37:46 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 10:37:46 | INFO | Loading finished.
2024-05-06 at 15:00:22 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 15:00:22 | INFO | Connected to stand server
2024-05-06 at 15:00:22 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 15:00:22 | INFO | Loading finished.
2024-05-06 at 16:03:54 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 16:03:54 | INFO | Connected to stand server
2024-05-06 at 16:03:54 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 16:03:54 | INFO | Loading finished.
2024-05-06 at 17:04:35 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 17:04:35 | INFO | Connected to stand server
2024-05-06 at 17:04:35 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 17:04:35 | INFO | Loading finished.
2024-05-06 at 17:27:39 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 17:27:39 | INFO | Connected to stand server
2024-05-06 at 17:27:39 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 17:27:39 | INFO | Loading finished.
2024-05-06 at 18:05:17 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 18:05:17 | INFO | Connected to stand server
2024-05-06 at 18:05:17 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 18:05:17 | INFO | Loading finished.
2024-05-06 at 18:26:25 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 18:26:25 | INFO | Connected to stand server
2024-05-06 at 18:26:25 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 18:26:25 | INFO | Loading finished.
2024-05-06 at 19:47:08 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 19:47:10 | INFO | Connected to stand server
2024-05-06 at 19:47:10 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 19:47:10 | INFO | Loading finished.
2024-05-06 at 19:48:00 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 19:48:00 | INFO | Connected to stand server
2024-05-06 at 19:48:00 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 19:48:00 | INFO | Loading finished.
2024-05-06 at 19:55:19 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 19:55:19 | INFO | Connected to stand server
2024-05-06 at 19:55:19 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 19:55:19 | INFO | Loading finished.
2024-05-06 at 19:57:05 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 19:57:05 | INFO | Connected to stand server
2024-05-06 at 19:57:05 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 19:57:05 | INFO | Loading finished.
2024-05-06 at 20:07:16 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:07:17 | INFO | Connected to stand server
2024-05-06 at 20:07:17 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:07:17 | INFO | Loading finished.
2024-05-06 at 20:18:32 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:18:32 | INFO | Connected to stand server
2024-05-06 at 20:18:32 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:18:32 | INFO | Loading finished.
2024-05-06 at 20:28:55 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:28:55 | INFO | Connected to stand server
2024-05-06 at 20:28:55 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:28:55 | INFO | Loading finished.
2024-05-06 at 20:35:29 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:35:29 | INFO | Connected to stand server
2024-05-06 at 20:35:29 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:35:29 | INFO | Loading finished.
2024-05-06 at 20:37:14 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:37:14 | INFO | Connected to stand server
2024-05-06 at 20:37:14 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:37:14 | INFO | Loading finished.
2024-05-06 at 20:38:00 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:38:00 | INFO | Connected to stand server
2024-05-06 at 20:38:00 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:38:00 | INFO | Loading finished.
2024-05-06 at 20:39:29 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:39:29 | INFO | Connected to stand server
2024-05-06 at 20:39:29 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:39:29 | INFO | Loading finished.
2024-05-06 at 20:39:37 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:39:38 | INFO | Connected to stand server
2024-05-06 at 20:39:38 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:39:38 | INFO | Loading finished.
2024-05-06 at 20:39:56 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:39:56 | INFO | Connected to stand server
2024-05-06 at 20:39:56 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:39:56 | INFO | Loading finished.
2024-05-06 at 20:41:21 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 20:41:21 | INFO | Connected to stand server
2024-05-06 at 20:41:21 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 20:41:21 | INFO | Loading finished.
2024-05-06 at 21:37:38 | INFO | Using undulator (Aramis) offset to PSSS energy of -59 eV.
2024-05-06 at 21:37:38 | INFO | Connected to stand server
2024-05-06 at 21:37:38 | INFO | Running at cristallina with pgroup p21741.
2024-05-06 at 21:37:38 | INFO | Loading finished.
2024-05-07 at 11:59:51 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-07 at 11:59:51 | INFO | Connected to stand server
2024-05-07 at 11:59:51 | INFO | Running at cristallina with pgroup p21741.
2024-05-07 at 11:59:51 | INFO | Loading finished.
2024-05-07 at 12:01:02 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-07 at 12:01:03 | INFO | Connected to stand server
2024-05-07 at 12:01:03 | INFO | Running at cristallina with pgroup p21741.
2024-05-07 at 12:01:03 | INFO | Loading finished.
2024-05-07 at 12:03:00 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-07 at 12:03:00 | INFO | Connected to stand server
2024-05-07 at 12:03:00 | INFO | Running at cristallina with pgroup p21741.
2024-05-07 at 12:03:00 | INFO | Loading finished.
2024-05-07 at 12:04:36 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-07 at 12:04:36 | INFO | Connected to stand server
2024-05-07 at 12:04:36 | INFO | Running at cristallina with pgroup p21741.
2024-05-07 at 12:04:36 | INFO | Loading finished.
2024-05-07 at 12:07:37 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-07 at 12:07:37 | INFO | Connected to stand server
2024-05-07 at 12:07:37 | INFO | Running at cristallina with pgroup p21741.
2024-05-07 at 12:07:37 | INFO | Loading finished.
2024-05-07 at 16:01:57 | INFO | BU/BD sent to start
2024-05-07 at 16:02:03 | INFO | BU to start: 0.800
2024-05-07 at 16:02:03 | INFO | BD to start: 1.000
2024-05-07 at 16:02:03 | INFO |
2024-05-07 at 16:02:13 | INFO | BU / BD positions = 1.100 / 1.300
2024-05-07 at 16:02:14 | INFO | Aperture position = -0.300; Beam position = 24.755
2024-05-07 at 16:02:17 | INFO | Aperture position = 0.000; Beam position = 57.076
2024-05-07 at 16:02:20 | INFO | Aperture position = 0.300; Beam position = 90.790
2024-05-07 at 16:02:26 | INFO | BU / BD positions = 1.100 / 1.400
2024-05-07 at 16:02:27 | INFO | Aperture position = -0.300; Beam position = 34.631
2024-05-07 at 16:02:30 | INFO | Aperture position = 0.000; Beam position = 53.326
2024-05-07 at 16:02:33 | INFO | Aperture position = 0.300; Beam position = 74.874
2024-05-07 at 16:02:39 | INFO | BU / BD positions = 1.100 / 1.500
2024-05-07 at 16:02:40 | INFO | Aperture position = -0.300; Beam position = 42.768
2024-05-07 at 16:02:43 | INFO | Aperture position = 0.000; Beam position = 48.769
2024-05-07 at 16:02:46 | INFO | Aperture position = 0.300; Beam position = 59.833
2024-05-07 at 16:03:01 | INFO |
2024-05-07 at 16:03:01 | INFO | BD to start: 1.000
2024-05-07 at 16:03:02 | INFO |
2024-05-07 at 16:03:12 | INFO | BU / BD positions = 1.200 / 1.300
2024-05-07 at 16:03:13 | INFO | Aperture position = -0.300; Beam position = 42.247
2024-05-07 at 16:03:16 | INFO | Aperture position = 0.000; Beam position = 66.438
2024-05-07 at 16:03:19 | INFO | Aperture position = 0.300; Beam position = 90.120
2024-05-07 at 16:03:24 | INFO | BU / BD positions = 1.200 / 1.400
2024-05-07 at 16:03:26 | INFO | Aperture position = -0.300; Beam position = 51.722
2024-05-07 at 16:03:29 | INFO | Aperture position = 0.000; Beam position = 62.747
2024-05-07 at 16:03:32 | INFO | Aperture position = 0.300; Beam position = 75.325
2024-05-07 at 16:03:38 | INFO | BU / BD positions = 1.200 / 1.500
2024-05-07 at 16:03:39 | INFO | Aperture position = -0.300; Beam position = 61.095
2024-05-07 at 16:03:42 | INFO | Aperture position = 0.000; Beam position = 58.253
2024-05-07 at 16:03:45 | INFO | Aperture position = 0.300; Beam position = 59.436
2024-05-07 at 16:04:00 | INFO |
2024-05-07 at 16:04:00 | INFO | BD to start: 1.000
2024-05-07 at 16:04:01 | INFO |
2024-05-07 at 16:04:11 | INFO | BU / BD positions = 1.300 / 1.300
2024-05-07 at 16:04:12 | INFO | Aperture position = -0.300; Beam position = 61.065
2024-05-07 at 16:04:15 | INFO | Aperture position = 0.000; Beam position = 76.489
2024-05-07 at 16:04:18 | INFO | Aperture position = 0.300; Beam position = 88.647
2024-05-07 at 16:04:24 | INFO | BU / BD positions = 1.300 / 1.400
2024-05-07 at 16:04:25 | INFO | Aperture position = -0.300; Beam position = 68.412
2024-05-07 at 16:04:28 | INFO | Aperture position = 0.000; Beam position = 71.782
2024-05-07 at 16:04:31 | INFO | Aperture position = 0.300; Beam position = 74.033
2024-05-07 at 16:04:36 | INFO | BU / BD positions = 1.300 / 1.500
2024-05-07 at 16:04:38 | INFO | Aperture position = -0.300; Beam position = 78.083
2024-05-07 at 16:04:41 | INFO | Aperture position = 0.000; Beam position = 68.389
2024-05-07 at 16:04:44 | INFO | Aperture position = 0.300; Beam position = 59.105
2024-05-07 at 16:04:58 | INFO |
2024-05-07 at 16:04:58 | INFO | BD to start: 1.000
2024-05-07 at 16:04:59 | INFO | BU to start: 0.800
2024-05-07 at 16:04:59 | INFO | Data saved to: /sf/cristallina/applications/beamline/snapshots/KBs/2024-05-07/C_2024-05-07T16:02_vertical.dat
2024-05-07 at 16:04:59 | INFO | Done
2024-05-07 at 16:09:15 | INFO | BU/BD sent to start
2024-05-07 at 16:09:20 | INFO | BU to start: 0.900
2024-05-07 at 16:09:20 | INFO | BD to start: 1.000
2024-05-07 at 16:09:20 | INFO |
2024-05-07 at 16:09:31 | INFO | BU / BD positions = 1.200 / 1.350
2024-05-07 at 16:09:33 | INFO | Aperture position = -0.300; Beam position = 47.580
2024-05-07 at 16:09:36 | INFO | Aperture position = 0.000; Beam position = 65.476
2024-05-07 at 16:09:39 | INFO | Aperture position = 0.300; Beam position = 82.416
2024-05-07 at 16:09:43 | INFO | BU / BD positions = 1.200 / 1.400
2024-05-07 at 16:09:44 | INFO | Aperture position = -0.300; Beam position = 51.582
2024-05-07 at 16:09:48 | INFO | Aperture position = 0.000; Beam position = 63.525
2024-05-07 at 16:09:51 | INFO | Aperture position = 0.300; Beam position = 75.205
2024-05-07 at 16:09:55 | INFO | BU / BD positions = 1.200 / 1.450
2024-05-07 at 16:09:56 | INFO | Aperture position = -0.300; Beam position = 57.421
2024-05-07 at 16:09:59 | INFO | Aperture position = 0.000; Beam position = 61.241
2024-05-07 at 16:10:03 | INFO | Aperture position = 0.300; Beam position = 67.840
2024-05-07 at 16:10:16 | INFO |
2024-05-07 at 16:10:16 | INFO | BD to start: 1.000
2024-05-07 at 16:10:17 | INFO |
2024-05-07 at 16:10:28 | INFO | BU / BD positions = 1.300 / 1.350
2024-05-07 at 16:10:29 | INFO | Aperture position = -0.300; Beam position = 64.448
2024-05-07 at 16:10:32 | INFO | Aperture position = 0.000; Beam position = 75.042
2024-05-07 at 16:10:35 | INFO | Aperture position = 0.300; Beam position = 80.794
2024-05-07 at 16:10:40 | INFO | BU / BD positions = 1.300 / 1.400
2024-05-07 at 16:10:41 | INFO | Aperture position = -0.300; Beam position = 68.796
2024-05-07 at 16:10:44 | INFO | Aperture position = 0.000; Beam position = 72.963
2024-05-07 at 16:10:47 | INFO | Aperture position = 0.300; Beam position = 74.316
2024-05-07 at 16:10:51 | INFO | BU / BD positions = 1.300 / 1.450
2024-05-07 at 16:10:53 | INFO | Aperture position = -0.300; Beam position = 73.820
2024-05-07 at 16:10:56 | INFO | Aperture position = 0.000; Beam position = 70.604
2024-05-07 at 16:10:59 | INFO | Aperture position = 0.300; Beam position = 67.209
2024-05-07 at 16:11:12 | INFO |
2024-05-07 at 16:11:12 | INFO | BD to start: 1.000
2024-05-07 at 16:11:13 | INFO |
2024-05-07 at 16:11:25 | INFO | BU / BD positions = 1.350 / 1.350
2024-05-07 at 16:11:26 | INFO | Aperture position = -0.300; Beam position = 73.698
2024-05-07 at 16:11:29 | INFO | Aperture position = 0.000; Beam position = 79.772
2024-05-07 at 16:11:32 | INFO | Aperture position = 0.300; Beam position = 81.751
2024-05-07 at 16:11:36 | INFO | BU / BD positions = 1.350 / 1.400
2024-05-07 at 16:11:38 | INFO | Aperture position = -0.300; Beam position = 77.832
2024-05-07 at 16:11:41 | INFO | Aperture position = 0.000; Beam position = 77.625
2024-05-07 at 16:11:44 | INFO | Aperture position = 0.300; Beam position = 74.996
2024-05-07 at 16:11:48 | INFO | BU / BD positions = 1.350 / 1.450
2024-05-07 at 16:11:50 | INFO | Aperture position = -0.300; Beam position = 83.212
2024-05-07 at 16:11:53 | INFO | Aperture position = 0.000; Beam position = 75.825
2024-05-07 at 16:11:56 | INFO | Aperture position = 0.300; Beam position = 66.918
2024-05-07 at 16:12:09 | INFO |
2024-05-07 at 16:12:09 | INFO | BD to start: 1.000
2024-05-07 at 16:12:10 | INFO | BU to start: 0.900
2024-05-07 at 16:12:10 | INFO | Data saved to: /sf/cristallina/applications/beamline/snapshots/KBs/2024-05-07/C_2024-05-07T16:09_vertical.dat
2024-05-07 at 16:12:10 | INFO | Done
2024-05-07 at 16:17:55 | INFO | BU/BD sent to start
2024-05-07 at 16:18:01 | INFO | BU to start: 1.000
2024-05-07 at 16:18:01 | INFO | BD to start: 1.100
2024-05-07 at 16:18:01 | INFO |
2024-05-07 at 16:18:13 | INFO | BU / BD positions = 1.350 / 1.450
2024-05-07 at 16:18:14 | INFO | Aperture position = 0.180; Beam position = -12.142
2024-05-07 at 16:18:17 | INFO | Aperture position = 0.480; Beam position = 7.272
2024-05-07 at 16:18:20 | INFO | Aperture position = 0.780; Beam position = 28.321
2024-05-07 at 16:18:24 | INFO | BU / BD positions = 1.350 / 1.500
2024-05-07 at 16:18:26 | INFO | Aperture position = 0.180; Beam position = -3.213
2024-05-07 at 16:18:29 | INFO | Aperture position = 0.480; Beam position = 9.839
2024-05-07 at 16:18:32 | INFO | Aperture position = 0.780; Beam position = 21.146
2024-05-07 at 16:18:36 | INFO | BU / BD positions = 1.350 / 1.550
2024-05-07 at 16:18:38 | INFO | Aperture position = 0.180; Beam position = 11.236
2024-05-07 at 16:18:41 | INFO | Aperture position = 0.480; Beam position = 14.672
2024-05-07 at 16:18:44 | INFO | Aperture position = 0.780; Beam position = 15.408
2024-05-07 at 16:18:57 | INFO |
2024-05-07 at 16:18:57 | INFO | BD to start: 1.100
2024-05-07 at 16:18:58 | INFO |
2024-05-07 at 16:19:09 | INFO | BU / BD positions = 1.400 / 1.450
2024-05-07 at 16:19:11 | INFO | Aperture position = 0.180; Beam position = -12.300
2024-05-07 at 16:19:14 | INFO | Aperture position = 0.480; Beam position = 1.863
2024-05-07 at 16:19:17 | INFO | Aperture position = 0.780; Beam position = 17.279
2024-05-07 at 16:19:21 | INFO | BU / BD positions = 1.400 / 1.500
2024-05-07 at 16:19:23 | INFO | Aperture position = 0.180; Beam position = -2.583
2024-05-07 at 16:19:26 | INFO | Aperture position = 0.480; Beam position = 3.214
2024-05-07 at 16:19:29 | INFO | Aperture position = 0.780; Beam position = 8.903
2024-05-07 at 16:19:33 | INFO | BU / BD positions = 1.400 / 1.550
2024-05-07 at 16:19:35 | INFO | Aperture position = 0.180; Beam position = -31.010
2024-05-07 at 16:19:38 | INFO | Aperture position = 0.480; Beam position = 6.860
2024-05-07 at 16:19:41 | INFO | Aperture position = 0.780; Beam position = 3.544
2024-05-07 at 16:19:54 | INFO |
2024-05-07 at 16:19:54 | INFO | BD to start: 1.100
2024-05-07 at 16:19:55 | INFO |
2024-05-07 at 16:20:06 | INFO | BU / BD positions = 1.450 / 1.450
2024-05-07 at 16:20:08 | INFO | Aperture position = 0.180; Beam position = -37.841
2024-05-07 at 16:20:11 | INFO | Aperture position = 0.480; Beam position = -2.605
2024-05-07 at 16:20:14 | INFO | Aperture position = 0.780; Beam position = 6.421
2024-05-07 at 16:20:18 | INFO | BU / BD positions = 1.450 / 1.500
2024-05-07 at 16:20:20 | INFO | Aperture position = 0.180; Beam position = -0.410
2024-05-07 at 16:20:23 | INFO | Aperture position = 0.480; Beam position = -0.346
2024-05-07 at 16:20:26 | INFO | Aperture position = 0.780; Beam position = -0.448
2024-05-07 at 16:20:30 | INFO | BU / BD positions = 1.450 / 1.550
2024-05-07 at 16:20:31 | INFO | Aperture position = 0.180; Beam position = 14.402
2024-05-07 at 16:20:35 | INFO | Aperture position = 0.480; Beam position = 3.162
2024-05-07 at 16:20:38 | INFO | Aperture position = 0.780; Beam position = -6.991
2024-05-07 at 16:20:51 | INFO |
2024-05-07 at 16:20:51 | INFO | BD to start: 1.100
2024-05-07 at 16:20:52 | INFO | BU to start: 1.000
2024-05-07 at 16:20:52 | INFO | Data saved to: /sf/cristallina/applications/beamline/snapshots/KBs/2024-05-07/C_2024-05-07T16:18_horizontal.dat
2024-05-07 at 16:20:52 | INFO | Done
2024-05-07 at 16:23:34 | INFO | BU/BD sent to start
2024-05-07 at 16:23:36 | INFO | BU to start: 1.000
2024-05-07 at 16:23:36 | INFO | BD to start: 1.100
2024-05-07 at 16:23:36 | INFO |
2024-05-07 at 16:23:48 | INFO | BU / BD positions = 1.350 / 1.450
2024-05-07 at 16:23:49 | INFO | Aperture position = 0.180; Beam position = -12.837
2024-05-07 at 16:23:52 | INFO | Aperture position = 0.480; Beam position = 7.270
2024-05-07 at 16:23:55 | INFO | Aperture position = 0.780; Beam position = 29.652
2024-05-07 at 16:23:59 | INFO | BU / BD positions = 1.350 / 1.500
2024-05-07 at 16:24:01 | INFO | Aperture position = 0.180; Beam position = -2.902
2024-05-07 at 16:24:04 | INFO | Aperture position = 0.480; Beam position = 9.535
2024-05-07 at 16:24:07 | INFO | Aperture position = 0.780; Beam position = 21.724
2024-05-07 at 16:24:11 | INFO | BU / BD positions = 1.350 / 1.550
2024-05-07 at 16:24:12 | INFO | Aperture position = 0.180; Beam position = 10.947
2024-05-07 at 16:24:16 | INFO | Aperture position = 0.480; Beam position = 15.799
2024-05-07 at 16:24:19 | INFO | Aperture position = 0.780; Beam position = 16.453
2024-05-07 at 16:24:32 | INFO |
2024-05-07 at 16:24:32 | INFO | BD to start: 1.100
2024-05-07 at 16:24:33 | INFO |
2024-05-07 at 16:24:44 | INFO | BU / BD positions = 1.400 / 1.450
2024-05-07 at 16:24:46 | INFO | Aperture position = 0.180; Beam position = -12.184
2024-05-07 at 16:24:49 | INFO | Aperture position = 0.480; Beam position = 2.035
2024-05-07 at 16:24:52 | INFO | Aperture position = 0.780; Beam position = 16.610
2024-05-07 at 16:24:56 | INFO | BU / BD positions = 1.400 / 1.500
2024-05-07 at 16:24:57 | INFO | Aperture position = 0.180; Beam position = -2.612
2024-05-07 at 16:25:00 | INFO | Aperture position = 0.480; Beam position = 3.149
2024-05-07 at 16:25:04 | INFO | Aperture position = 0.780; Beam position = 9.635
2024-05-07 at 16:25:08 | INFO | BU / BD positions = 1.400 / 1.550
2024-05-07 at 16:25:09 | INFO | Aperture position = 0.180; Beam position = 11.863
2024-05-07 at 16:25:12 | INFO | Aperture position = 0.480; Beam position = 7.665
2024-05-07 at 16:25:15 | INFO | Aperture position = 0.780; Beam position = 3.838
2024-05-07 at 16:25:29 | INFO |
2024-05-07 at 16:25:29 | INFO | BD to start: 1.100
2024-05-07 at 16:25:30 | INFO |
2024-05-07 at 16:25:41 | INFO | BU / BD positions = 1.450 / 1.450
2024-05-07 at 16:25:42 | INFO | Aperture position = 0.180; Beam position = -9.769
2024-05-07 at 16:25:45 | INFO | Aperture position = 0.480; Beam position = -2.155
2024-05-07 at 16:25:48 | INFO | Aperture position = 0.780; Beam position = 7.621
2024-05-07 at 16:25:53 | INFO | BU / BD positions = 1.450 / 1.500
2024-05-07 at 16:25:54 | INFO | Aperture position = 0.180; Beam position = -0.429
2024-05-07 at 16:25:57 | INFO | Aperture position = 0.480; Beam position = -0.896
2024-05-07 at 16:26:00 | INFO | Aperture position = 0.780; Beam position = -0.625
2024-05-07 at 16:26:05 | INFO | BU / BD positions = 1.450 / 1.550
2024-05-07 at 16:26:06 | INFO | Aperture position = 0.180; Beam position = 15.109
2024-05-07 at 16:26:09 | INFO | Aperture position = 0.480; Beam position = 2.735
2024-05-07 at 16:26:12 | INFO | Aperture position = 0.780; Beam position = -5.679
2024-05-07 at 16:26:25 | INFO |
2024-05-07 at 16:26:25 | INFO | BD to start: 1.100
2024-05-07 at 16:26:26 | INFO | BU to start: 1.000
2024-05-07 at 16:26:26 | INFO | Data saved to: /sf/cristallina/applications/beamline/snapshots/KBs/2024-05-07/C_2024-05-07T16:23_horizontal.dat
2024-05-07 at 16:26:26 | INFO | Done
2024-05-08 at 00:43:30 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 00:44:42 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 00:50:01 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 00:51:15 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 00:51:16 | INFO | Connected to stand server
2024-05-08 at 00:51:16 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 00:51:16 | INFO | Loading finished.
2024-05-08 at 01:01:07 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 01:01:08 | INFO | Connected to stand server
2024-05-08 at 01:01:08 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 01:01:08 | INFO | Loading finished.
2024-05-08 at 06:50:50 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 06:50:51 | INFO | Connected to stand server
2024-05-08 at 06:50:51 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 06:50:51 | INFO | Loading finished.
2024-05-08 at 07:52:15 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 07:52:16 | INFO | Connected to stand server
2024-05-08 at 07:52:16 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 07:52:16 | INFO | Loading finished.
2024-05-08 at 21:05:55 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 21:05:55 | INFO | Connected to stand server
2024-05-08 at 21:05:56 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 21:05:56 | INFO | Loading finished.
2024-05-08 at 21:06:55 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 21:06:56 | INFO | Connected to stand server
2024-05-08 at 21:06:56 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 21:06:56 | INFO | Loading finished.
2024-05-08 at 21:09:34 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-08 at 21:09:35 | INFO | Connected to stand server
2024-05-08 at 21:09:35 | INFO | Running at cristallina with pgroup p21741.
2024-05-08 at 21:09:35 | INFO | Loading finished.
2024-05-09 at 00:46:48 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-09 at 00:46:49 | INFO | Connected to stand server
2024-05-09 at 00:46:49 | INFO | Running at cristallina with pgroup p21741.
2024-05-09 at 00:46:49 | INFO | Loading finished.
2024-05-11 at 19:33:13 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-11 at 19:33:16 | INFO | Connected to stand server
2024-05-11 at 19:33:16 | INFO | Running at cristallina with pgroup p21741.
2024-05-11 at 19:33:16 | INFO | Loading finished.
2024-05-12 at 19:44:43 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-12 at 19:44:44 | INFO | Connected to stand server
2024-05-12 at 19:44:44 | INFO | Running at cristallina with pgroup p21741.
2024-05-12 at 19:44:44 | INFO | Loading finished.
2024-05-12 at 19:56:15 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-12 at 19:56:15 | INFO | Connected to stand server
2024-05-12 at 19:56:15 | INFO | Running at cristallina with pgroup p21741.
2024-05-12 at 19:56:15 | INFO | Loading finished.
2024-05-12 at 21:59:02 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-12 at 21:59:02 | INFO | Connected to stand server
2024-05-12 at 21:59:02 | INFO | Running at cristallina with pgroup p21741.
2024-05-12 at 21:59:02 | INFO | Loading finished.
2024-05-13 at 00:30:02 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-13 at 00:30:03 | INFO | Connected to stand server
2024-05-13 at 00:30:03 | INFO | Running at cristallina with pgroup p21741.
2024-05-13 at 00:30:03 | INFO | Loading finished.
2024-05-13 at 03:05:59 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-13 at 03:05:59 | INFO | Connected to stand server
2024-05-13 at 03:05:59 | INFO | Running at cristallina with pgroup p21741.
2024-05-13 at 03:05:59 | INFO | Loading finished.
2024-05-13 at 03:52:31 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-13 at 03:52:32 | INFO | Connected to stand server
2024-05-13 at 03:52:32 | INFO | Running at cristallina with pgroup p21741.
2024-05-13 at 03:52:32 | INFO | Loading finished.
2024-05-13 at 11:28:54 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-13 at 11:28:55 | INFO | Connected to stand server
2024-05-15 at 13:23:57 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-15 at 13:24:01 | INFO | Connected to stand server
2024-05-15 at 13:24:01 | INFO | Running at cristallina with pgroup p21741.
2024-05-15 at 13:24:01 | INFO | Loading finished.
2024-05-23 at 17:37:01 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-23 at 17:37:02 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-23 at 17:37:02 | WARNING | Cannot write log file to pgroup p19150.
2024-05-23 at 17:37:02 | INFO | Running at cristallina with pgroup p19150.
2024-05-23 at 17:37:02 | INFO | Loading finished.
2024-05-23 at 17:37:32 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-23 at 17:37:32 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-23 at 17:37:32 | WARNING | Cannot write log file to pgroup p19150.
2024-05-23 at 17:37:32 | INFO | Running at cristallina with pgroup p19150.
2024-05-23 at 17:37:32 | INFO | Loading finished.
2024-05-27 at 15:58:04 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-27 at 15:58:04 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-27 at 15:58:04 | WARNING | Cannot write log file to pgroup p19150.
2024-05-27 at 15:58:04 | INFO | Running at cristallina with pgroup p19150.
2024-05-27 at 15:58:04 | INFO | Loading finished.
2024-05-27 at 16:05:00 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-27 at 16:05:01 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-27 at 16:05:01 | WARNING | Cannot write log file to pgroup p19150.
2024-05-27 at 16:05:01 | INFO | Running at cristallina with pgroup p19150.
2024-05-27 at 16:05:01 | INFO | Loading finished.
2024-05-27 at 16:07:15 | INFO | Using undulator (Aramis) offset to PSSS energy of -104 eV.
2024-05-27 at 16:07:16 | WARNING | Cannot connect to stand server on saresc-vcons-02.psi.ch. Disabling spreadsheet.
2024-05-27 at 16:07:16 | WARNING | Cannot write log file to pgroup p19150.
2024-05-27 at 16:07:16 | INFO | Running at cristallina with pgroup p19150.
2024-05-27 at 16:07:16 | INFO | Loading finished.

File diff suppressed because it is too large Load Diff

34
pgroups.py Normal file
View File

@ -0,0 +1,34 @@
pgroup_scratch = "p19150" # Scratch
pgroup = "p19150" # Scratch
# pgroup = "p19152" # Scratch
# pgroup = "p19739" # commissioning March 2022 -- July 2022
# pgroup = "p20443" # commissioning Wavefront Sensor August 2022 (active)
# pgroup = "p20558" # SwissMX commissioning 3
# pgroup = "p20557" # CrQ PMS commisioning 1
# pgroup = "p20509" # CrQ commisioning DilSc1
# pgroup = "p20519" # beamline commissioning 2
# pgroup = "p20841" # CrQ PMS commisioning 2 (Jan 2023)
# pgroup = "p20993" # CrQ commisioning DilSc2 (March 2023)
# pgroup = "p21147" # SAXS
# pgroup = "p21238" # Cristallina photon diagnostics p-group with Chris
# pgroup = "p21224" # SwissMX commisioning 7
# pgroup = "p20840" # Cr beamline commisioning (Jan-Feb 2023)
# pgroup = "p21261" # CrQ PMS-3 July 2023
# pgroup = "p21528" # Cr-MX Colletier 2023-09-05
# pgroup = "p21516" # Beamline commissioning September 26-27, November 7 2023
# pgroup = "p21563" # Dil-Sc / diffractometer / tilted bunch / LiErF4 (/ TmVO4)
# pgroup = "p21569" # Dil-Sc / diffractometer / tilted bunch / LiErF4 (/ TmVO4), November 17-
# pgroup = "p21592" # HVE commissioning
# pgroup = "p21640" # Dil-Sc / diffractometer / LiErF4 : 4 March 2024
# pgroup = "p21920" # Beamline commissioning 2024
# pgroup = "p21741" # CrQ - DilSc - SAXS LiHoF4

View File

@ -1,464 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "8960fc34-a3b8-4f3a-85a4-22ea697ee38a",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1a5fa748-9641-4c93-b0bf-9a2a3ac58745",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2023-05-22 at 08:16:27 | INFO | Loading started.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b]0;⊚slic\u0007could not set up DBusNotify: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2023-05-22 at 08:16:32 | INFO | Connected to stand server\n",
"2023-05-22 at 08:16:33 | INFO | Using undulator (Aramis) offset to PSSS energy of 13 eV.\n",
"2023-05-22 at 08:16:33 | INFO | Running at cristallina with pgroup p21147.\n",
"2023-05-22 at 08:16:33 | INFO | Loading finished.\n"
]
}
],
"source": [
"%run cristallina.py"
]
},
{
"cell_type": "markdown",
"id": "69ae9d05-4a12-40b0-b0a7-d5436eaf23ea",
"metadata": {},
"source": [
"We recorded at 1 Hz with the CTA and 6000 repetions."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "09065809-9077-46b1-8fea-a13c0a92e2a2",
"metadata": {},
"outputs": [],
"source": [
"shots = 6000 # repetitions from CTA"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1713739a-6399-43fa-ad60-1ef2a0903d1a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
"<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">array</span><span style=\"font-weight: bold\">([</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">120000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">180000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">240000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">300000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">360000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">420000</span>., <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">480000</span>.,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">540000</span>.<span style=\"font-weight: bold\">])</span>\n",
"</pre>\n"
],
"text/plain": [
"\n",
"\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m120000\u001b[0m., \u001b[1;36m180000\u001b[0m., \u001b[1;36m240000\u001b[0m., \u001b[1;36m300000\u001b[0m., \u001b[1;36m360000\u001b[0m., \u001b[1;36m420000\u001b[0m., \u001b[1;36m480000\u001b[0m.,\n",
" \u001b[1;36m540000\u001b[0m.\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pids = shots*100\n",
"\n",
"missing = np.arange(2,10)*pids/10\n",
"missing\n"
]
},
{
"cell_type": "markdown",
"id": "a15fc525-b909-43a1-a105-bf13272a3257",
"metadata": {},
"source": [
"Missing are the images from pids 12000 to 18000, 18000 to 24000 and so on. Already recorded are the first 60000.\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "0b0d72f1-9528-4077-89f1-1476b4b74411",
"metadata": {},
"outputs": [],
"source": [
"# with scratch pgroup:\n",
"\n",
"daq_test = SFAcquisition(\n",
" instrument,\n",
" \"p19150\",\n",
" default_channels=bs_channels,\n",
" default_pvs=pvs,\n",
" default_detectors=detectors,\n",
" rate_multiplicator=100,\n",
")\n",
"\n",
"slow_daq_test = SFAcquisition(\n",
" instrument,\n",
" \"p19150\",\n",
" default_channels=bs_channels,\n",
" default_pvs=pvs,\n",
" default_detectors=detectors,\n",
" rate_multiplicator=100,\n",
")\n",
"\n",
"slow_daq = SFAcquisition(\n",
" instrument,\n",
" pgroup,\n",
" default_channels=bs_channels,\n",
" default_pvs=pvs,\n",
" default_detectors=detectors,\n",
" rate_multiplicator=100,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d1db9525-bb0e-4c32-8aa5-752091928bbd",
"metadata": {},
"outputs": [],
"source": [
"pgroup = \"p21147\" # SAXS\n",
"\n",
"if False:\n",
" res = daq.retrieve(\n",
" \"CTA_pulses\",\n",
" np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + n_pulses * 10),\n",
" run_number=run_number,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "77d93f9d-2a11-4059-966f-4640f1ea86b0",
"metadata": {},
"outputs": [
{
"ename": "BrokerError",
"evalue": "An error happened on the server:\nUnknown error",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mBrokerError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[11], line 5\u001b[0m\n\u001b[1;32m 1\u001b[0m CTA_sequence_start_PID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m18111678900\u001b[39m\n\u001b[1;32m 3\u001b[0m length \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m200\u001b[39m\n\u001b[0;32m----> 5\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mslow_daq_test\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mretrieve\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCTA_pulses\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marange\u001b[49m\u001b[43m(\u001b[49m\u001b[43mCTA_sequence_start_PID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mCTA_sequence_start_PID\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mlength\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_number\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/sfacquisition.py:125\u001b[0m, in \u001b[0;36mSFAcquisition.retrieve\u001b[0;34m(self, filename, pulseids, run_number)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_continuous(pulseids):\n\u001b[1;32m 123\u001b[0m params[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mselected_pulse_ids\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m pulseids\n\u001b[0;32m--> 125\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mretrieve\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maddress\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 127\u001b[0m res_run_number \u001b[38;5;241m=\u001b[39m res[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m res_run_number \u001b[38;5;241m==\u001b[39m run_number, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mreceived \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mres_run_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and expected \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mrun_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m run numbers not identical\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:251\u001b[0m, in \u001b[0;36mretrieve\u001b[0;34m(address, *args, **kwargs)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mretrieve\u001b[39m(address, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 250\u001b[0m requrl \u001b[38;5;241m=\u001b[39m address\u001b[38;5;241m.\u001b[39mrstrip(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/retrieve_from_buffers\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 251\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mpost_request\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequrl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 252\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mdict\u001b[39m(\n\u001b[1;32m 253\u001b[0m run_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 254\u001b[0m acq_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124macquisition_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 255\u001b[0m total_acq_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124munique_acquisition_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 256\u001b[0m filenames \u001b[38;5;241m=\u001b[39m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfiles\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 257\u001b[0m )\n\u001b[1;32m 258\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:275\u001b[0m, in \u001b[0;36mpost_request\u001b[0;34m(requrl, params, timeout)\u001b[0m\n\u001b[1;32m 273\u001b[0m params \u001b[38;5;241m=\u001b[39m json_validate(params)\n\u001b[1;32m 274\u001b[0m response \u001b[38;5;241m=\u001b[39m requests\u001b[38;5;241m.\u001b[39mpost(requrl, json\u001b[38;5;241m=\u001b[39mparams, timeout\u001b[38;5;241m=\u001b[39mtimeout)\u001b[38;5;241m.\u001b[39mjson()\n\u001b[0;32m--> 275\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mvalidate_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:289\u001b[0m, in \u001b[0;36mvalidate_response\u001b[0;34m(resp)\u001b[0m\n\u001b[1;32m 287\u001b[0m message \u001b[38;5;241m=\u001b[39m resp\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmessage\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnknown error\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 288\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAn error happened on the server:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(message)\n\u001b[0;32m--> 289\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m BrokerError(msg)\n",
"\u001b[0;31mBrokerError\u001b[0m: An error happened on the server:\nUnknown error"
]
}
],
"source": [
"CTA_sequence_start_PID = 18111678900\n",
"\n",
"length = 200\n",
"\n",
"res = slow_daq_test.retrieve(\n",
" \"CTA_pulses\",\n",
" np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length),\n",
" run_number=None,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0733b5e8-b7f0-4693-b772-670ee62d6e35",
"metadata": {},
"outputs": [
{
"ename": "BrokerError",
"evalue": "An error happened on the server:\nUnknown error",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mBrokerError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[11], line 6\u001b[0m\n\u001b[1;32m 2\u001b[0m CTA_sequence_start_PID \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m18111618800\u001b[39m\n\u001b[1;32m 4\u001b[0m length \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1000\u001b[39m\n\u001b[0;32m----> 6\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mslow_daq\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mretrieve\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCTA_pulses\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marange\u001b[49m\u001b[43m(\u001b[49m\u001b[43mCTA_sequence_start_PID\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mCTA_sequence_start_PID\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mlength\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_number\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1120\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/sfacquisition.py:125\u001b[0m, in \u001b[0;36mSFAcquisition.retrieve\u001b[0;34m(self, filename, pulseids, run_number)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_continuous(pulseids):\n\u001b[1;32m 123\u001b[0m params[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mselected_pulse_ids\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m pulseids\n\u001b[0;32m--> 125\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mretrieve\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maddress\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 127\u001b[0m res_run_number \u001b[38;5;241m=\u001b[39m res[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 128\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m res_run_number \u001b[38;5;241m==\u001b[39m run_number, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mreceived \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mres_run_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and expected \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mrun_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m run numbers not identical\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:251\u001b[0m, in \u001b[0;36mretrieve\u001b[0;34m(address, *args, **kwargs)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mretrieve\u001b[39m(address, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 250\u001b[0m requrl \u001b[38;5;241m=\u001b[39m address\u001b[38;5;241m.\u001b[39mrstrip(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/retrieve_from_buffers\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 251\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mpost_request\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequrl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 252\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mdict\u001b[39m(\n\u001b[1;32m 253\u001b[0m run_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 254\u001b[0m acq_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124macquisition_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 255\u001b[0m total_acq_number \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124munique_acquisition_number\u001b[39m\u001b[38;5;124m\"\u001b[39m]),\n\u001b[1;32m 256\u001b[0m filenames \u001b[38;5;241m=\u001b[39m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfiles\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 257\u001b[0m )\n\u001b[1;32m 258\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:275\u001b[0m, in \u001b[0;36mpost_request\u001b[0;34m(requrl, params, timeout)\u001b[0m\n\u001b[1;32m 273\u001b[0m params \u001b[38;5;241m=\u001b[39m json_validate(params)\n\u001b[1;32m 274\u001b[0m response \u001b[38;5;241m=\u001b[39m requests\u001b[38;5;241m.\u001b[39mpost(requrl, json\u001b[38;5;241m=\u001b[39mparams, timeout\u001b[38;5;241m=\u001b[39mtimeout)\u001b[38;5;241m.\u001b[39mjson()\n\u001b[0;32m--> 275\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mvalidate_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m/gfa/.mounts/sf_cristallina/applications/slic/slic-package/slic/core/acquisition/broker_client.py:289\u001b[0m, in \u001b[0;36mvalidate_response\u001b[0;34m(resp)\u001b[0m\n\u001b[1;32m 287\u001b[0m message \u001b[38;5;241m=\u001b[39m resp\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmessage\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnknown error\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 288\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAn error happened on the server:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(message)\n\u001b[0;32m--> 289\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m BrokerError(msg)\n",
"\u001b[0;31mBrokerError\u001b[0m: An error happened on the server:\nUnknown error"
]
}
],
"source": [
"CTA_sequence_start_PID = 18111678900\n",
"CTA_sequence_start_PID = 18111618800\n",
"\n",
"length = 1000\n",
"\n",
"res = slow_daq.retrieve(\n",
" \"CTA_pulses\",\n",
" np.arange(CTA_sequence_start_PID, CTA_sequence_start_PID + length),\n",
" run_number=1120,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "a0b1dece-021b-4bf5-9031-3db06c56b8fb",
"metadata": {},
"outputs": [],
"source": [
"#CTA_sequence_start_PID = 18111678900\n",
"CTA_sequence_start_PID = 18111618800\n",
"CTA_sequence_start_PID = 18116377800\n",
"\n",
"CTA_sequence_start_PID = 18114660400 # works\n",
"CTA_sequence_start_PID = 18113444000 # fails \n",
"CTA_sequence_start_PID = 18114052200 # fails\n",
"\n",
"\n",
"CTA_sequence_start_PID = 18114660400 # works\n",
"\n",
"length = 60000\n",
"\n",
"\n",
"for start_pid in [18114720400, 18114780500, 18114840600, 18114900700, 18114960800,\n",
" 18115020900, 18115081000, 18115141100, 18115201200, 18115261300]:\n",
"\n",
" res = slow_daq.retrieve(\n",
" \"CTA_pulses\",\n",
" np.arange(start_pid, start_pid + length),\n",
" run_number=1129,\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "684e664b-fe6d-404d-86b9-7a223fa990c3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Advanced run number to 1129.\n",
"No detectors specified, using default detector list.\n",
"No PVs specified, using default PV list.\n",
"No channels specified, using default channel list.\n",
"\u001b[31m\u001b[1mOffline Channels:\n",
"-----------------\n",
"- SAR-CVME-TIFALL6:EvtSet\n",
"- SARFE10-PSSS059:FIT_ERR\n",
"- SARFE10-PSSS059:SPECTRUM_AVG_CENTER\n",
"- SARFE10-PSSS059:SPECTRUM_AVG_FWHM\n",
"- SARFE10-PSSS059:SPECTRUM_AVG_Y\n",
"\u001b[39m\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 1%|██ | 2/200 [00:03<05:02, 1.5s/@]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"run number: 1129\n",
"acq number: 1\n",
"total acq number: 1970\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- <span style=\"color: #800080; text-decoration-color: #800080\">/sf/cristallina/data/p21147/raw/run1129/data/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">acq0001.PVDATA.h5</span>\n",
"- <span style=\"color: #800080; text-decoration-color: #800080\">/sf/cristallina/data/p21147/raw/run1129/data/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">acq0001.BSDATA.h5</span>\n",
"- <span style=\"color: #800080; text-decoration-color: #800080\">/sf/cristallina/data/p21147/raw/run1129/data/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">acq0001.JF16T03V01.h5</span>\n",
"</pre>\n"
],
"text/plain": [
"\n",
"DAQTask: done\n",
"\n",
"Output files:\n",
"-------------\n",
"- \u001b[35m/sf/cristallina/data/p21147/raw/run1129/data/\u001b[0m\u001b[95macq0001.PVDATA.h5\u001b[0m\n",
"- \u001b[35m/sf/cristallina/data/p21147/raw/run1129/data/\u001b[0m\u001b[95macq0001.BSDATA.h5\u001b[0m\n",
"- \u001b[35m/sf/cristallina/data/p21147/raw/run1129/data/\u001b[0m\u001b[95macq0001.JF16T03V01.h5\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"slow_daq.acquire('something', n_pulses=2)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "3852ea6f-b014-402b-ba9c-fb5778a76e00",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
"<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">array</span><span style=\"font-weight: bold\">([</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114720400</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114780500</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114840600</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114900700</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114960800</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115020900</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115081000</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115141100</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115201200</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115261300</span><span style=\"font-weight: bold\">])</span>\n",
"</pre>\n"
],
"text/plain": [
"\n",
"\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m18114720400\u001b[0m, \u001b[1;36m18114780500\u001b[0m, \u001b[1;36m18114840600\u001b[0m, \u001b[1;36m18114900700\u001b[0m, \u001b[1;36m18114960800\u001b[0m,\n",
" \u001b[1;36m18115020900\u001b[0m, \u001b[1;36m18115081000\u001b[0m, \u001b[1;36m18115141100\u001b[0m, \u001b[1;36m18115201200\u001b[0m, \u001b[1;36m18115261300\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"np.array([[18114720400],\n",
" [18114780500],\n",
" [18114840600],\n",
" [18114900700],\n",
" [18114960800],\n",
" [18115020900],\n",
" [18115081000],\n",
" [18115141100],\n",
" [18115201200],\n",
" [18115261300]]).flatten()\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "c4de9b27-2721-449b-a3e6-6658d3e611c8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
"<span style=\"font-weight: bold\">[</span>\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114720400</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114780500</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114840600</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114900700</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18114960800</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115020900</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115081000</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115141100</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115201200</span>,\n",
" <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18115261300</span>\n",
"<span style=\"font-weight: bold\">]</span>\n",
"</pre>\n"
],
"text/plain": [
"\n",
"\u001b[1m[\u001b[0m\n",
" \u001b[1;36m18114720400\u001b[0m,\n",
" \u001b[1;36m18114780500\u001b[0m,\n",
" \u001b[1;36m18114840600\u001b[0m,\n",
" \u001b[1;36m18114900700\u001b[0m,\n",
" \u001b[1;36m18114960800\u001b[0m,\n",
" \u001b[1;36m18115020900\u001b[0m,\n",
" \u001b[1;36m18115081000\u001b[0m,\n",
" \u001b[1;36m18115141100\u001b[0m,\n",
" \u001b[1;36m18115201200\u001b[0m,\n",
" \u001b[1;36m18115261300\u001b[0m\n",
"\u001b[1m]\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"[18114720400, 18114780500, 18114840600, 18114900700, 18114960800,\n",
" 18115020900, 18115081000, 18115141100, 18115201200, 18115261300]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a8be60a2-d85b-4cbc-8e8b-ffd749b09d15",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.16"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -1,36 +0,0 @@
import requests
import json
class Client:
def __init__(self, host="127.0.0.1", port=9090):
self.host = host
self.port = port
self.session = requests.Session()
def add_row(self, **kwargs):
addr = self._make_addr()
resp = self.session.patch(addr, json=kwargs)
return ResponseWrapper(resp)
def get(self):
addr = self._make_addr()
resp = self.session.get(addr)
return ResponseWrapper(resp)
def clear(self):
addr = self._make_addr()
resp = self.session.delete(addr)
return ResponseWrapper(resp)
def _make_addr(self):
return f"http://{self.host}:{self.port}/"
class ResponseWrapper:
def __init__(self, resp):
resp.raise_for_status()
self.resp = resp
def __repr__(self):
return self.resp.text

1
systems/README.md Normal file
View File

@ -0,0 +1 @@
Timing and camera related modules

3
systems/components.py Normal file
View File

@ -0,0 +1,3 @@
from slic.devices.timing.events import CTASequencer
cta = CTASequencer("SAR-CCTA-ESC")