X10sa production 20260902t094010 #27
No files matched your search
@@ -0,0 +1,605 @@
|
||||
[BECDockArea]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=false
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 23 1142 746)
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(0 0)
|
||||
mode=creator
|
||||
mouseTracking=false
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=BEC - DailySetup
|
||||
workspace_is_locked=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Info.dockWidgetScrollArea.qt_scrollarea_viewport.Info]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 408 667)
|
||||
html_text="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\nhr { height: 1px; border-width: 0; }\nli.unchecked::marker { content: \"\\2610\"; }\nli.checked::marker { content: \"\\2612\"; }\n</style></head><body style=\" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
plain_text=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Progress.dockWidgetScrollArea.qt_scrollarea_viewport.Progress]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 201 667)
|
||||
html_text="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\nhr { height: 1px; border-width: 0; }\nli.unchecked::marker { content: \"\\2610\"; }\nli.checked::marker { content: \"\\2612\"; }\n</style></head><body style=\" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
plain_text=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_1.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_1]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 242 194)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_2.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_2]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 243 194)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_3.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_3]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 242 193)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_4.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_4]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 243 193)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_5.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_5]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 242 194)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_6.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_6]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 243 194)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(0 0)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.dockSettingsAction]
|
||||
autoRepeat=true
|
||||
checkable=false
|
||||
checked=false
|
||||
enabled=true
|
||||
iconText=Dock settings
|
||||
iconVisibleInMenu=true
|
||||
menuRole=@Variant(\0\0\0\x7f\0\0\0\x12QAction::MenuRole\0\0\0\0\x1)
|
||||
priority=@Variant(\0\0\0\x7f\0\0\0\x12QAction::Priority\0\0\0\0\x80)
|
||||
shortcut=
|
||||
shortcutContext=@Variant(\0\0\0\x7f\0\0\0\x14Qt::ShortcutContext\0\0\0\0\x1)
|
||||
shortcutVisibleInContextMenu=true
|
||||
statusTip=
|
||||
text=Dock settings
|
||||
toolTip=Dock settings
|
||||
whatsThis=
|
||||
|
||||
[Perspectives]
|
||||
1\Name=BEC - DailySetup
|
||||
1\State="@ByteArray(\0\0\x3\xd3x\xda\xa5\x93_K\xc3\x30\x14\xc5\xdf\xfd\x14\x97\xbc\xcf\xaei6'\xb4\x1d\xa3\x32\xf0\xc5?l\xd3G\xa9\xed\xb5\x4\xdb\x44\x92l\xa8\xf8\xe1M\xdaQDS\xa1\xec)\xc9\xb9'\xbf{r!\xf1\xf2\xbd\xa9\xe1\x80Js)\x12\x12\x9eO\t\xa0(d\xc9\x45\x95\x90\xddv=Y\x90\x65\x1a\xdf\x9bUy\xc8\x45\x81\xe5\x95,^mm\xf3\xa1\r6\xf0\xd0_$\xb0\xd3\xa8\xfa\xb3\xc5\x64R\x98\x9c\v\xab\xb8r\x1a\xf7gX\xd7\x32\x37m\x83\xa9\xd5\x37o57\xc6\xca\xb7\x8a\xa3\xb5\x98\x16\xf0\xe5\0{a\x12\xc2\xacg\xa5\x30\x87m\xfe\xdc\xa2 \xdb+\x85\xaet\xa7\x64\xa5Pk\xebx\xe4\x65\x85\x6n\xf2\x6\x7f\xe8\x90\xd5Rc\xe9\x1a\x5i\x1c\x38\xcc \xecZ\xbc\xc8\xdf\xa0V\xf3\x42\xfc\xa9'}\xea\xe8\x9f\xd4\xb5\x34O\xe1\x9f\xcc\x9d:&q{%\xf2\x82\xa2\xf1\xa0\x99\x17\x34\x1bx>\xff\x44\x9dRz\t\x94.\xc0\xadq\xd0iv=\x8e\xe6\xf4!Qo$:\xfem\xcc\vb\xe3\x41s/h~\xd2\x90:\xd7\xf4\x2X\xc8\x80\x32\xeb\x64~g\xd0\x7f!\xbb\x1f\xf8\x92\xe9\xd9\x37,-7\xa6)"
|
||||
size=1
|
||||
|
||||
[mainWindow]
|
||||
DockingState="@ByteArray(\0\0\x3\xd3x\xda\xa5\x93_K\xc3\x30\x14\xc5\xdf\xfd\x14\x97\xbc\xcf\xaei6'\xb4\x1d\xa3\x32\xf0\xc5?l\xd3G\xa9\xed\xb5\x4\xdb\x44\x92l\xa8\xf8\xe1M\xdaQDS\xa1\xec)\xc9\xb9'\xbf{r!\xf1\xf2\xbd\xa9\xe1\x80Js)\x12\x12\x9eO\t\xa0(d\xc9\x45\x95\x90\xddv=Y\x90\x65\x1a\xdf\x9bUy\xc8\x45\x81\xe5\x95,^mm\xf3\xa1\r6\xf0\xd0_$\xb0\xd3\xa8\xfa\xb3\xc5\x64R\x98\x9c\v\xab\xb8r\x1a\xf7gX\xd7\x32\x37m\x83\xa9\xd5\x37o57\xc6\xca\xb7\x8a\xa3\xb5\x98\x16\xf0\xe5\0{a\x12\xc2\xacg\xa5\x30\x87m\xfe\xdc\xa2 \xdb+\x85\xaet\xa7\x64\xa5Pk\xebx\xe4\x65\x85\x6n\xf2\x6\x7f\xe8\x90\xd5Rc\xe9\x1a\x5i\x1c\x38\xcc \xecZ\xbc\xc8\xdf\xa0V\xf3\x42\xfc\xa9'}\xea\xe8\x9f\xd4\xb5\x34O\xe1\x9f\xcc\x9d:&q{%\xf2\x82\xa2\xf1\xa0\x99\x17\x34\x1bx>\xff\x44\x9dRz\t\x94.\xc0\xadq\xd0iv=\x8e\xe6\xf4!Qo$:\xfem\xcc\vb\xe3\x41s/h~\xd2\x90:\xd7\xf4\x2X\xc8\x80\x32\xeb\x64~g\xd0\x7f!\xbb\x1f\xf8\x92\xe9\xd9\x37,-7\xa6)"
|
||||
Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x17\0\0\x4u\0\0\x3\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xf\0\0\0\0\0\0\0\0\x17\0\0\x4u\0\0\x3\0)
|
||||
State=@Variant(\0\0\0\x7f\0\0\0\x18PySide::PyObjectWrapper\0\0\0\0\xf\x80\x4\x95\x4\0\0\0\0\0\0\0\x43\0\x94.)
|
||||
|
||||
[manifest]
|
||||
widgets\1\closable=true
|
||||
widgets\1\floatable=true
|
||||
widgets\1\floating=false
|
||||
widgets\1\floating_abs_h=0
|
||||
widgets\1\floating_abs_w=0
|
||||
widgets\1\floating_abs_x=0
|
||||
widgets\1\floating_abs_y=0
|
||||
widgets\1\floating_rel_h=0
|
||||
widgets\1\floating_rel_w=0
|
||||
widgets\1\floating_rel_x=0
|
||||
widgets\1\floating_rel_y=0
|
||||
widgets\1\floating_screen=
|
||||
widgets\1\movable=true
|
||||
widgets\1\object_name=Info
|
||||
widgets\1\widget_class=TextBox
|
||||
widgets\2\closable=true
|
||||
widgets\2\floatable=true
|
||||
widgets\2\floating=false
|
||||
widgets\2\floating_abs_h=0
|
||||
widgets\2\floating_abs_w=0
|
||||
widgets\2\floating_abs_x=0
|
||||
widgets\2\floating_abs_y=0
|
||||
widgets\2\floating_rel_h=0
|
||||
widgets\2\floating_rel_w=0
|
||||
widgets\2\floating_rel_x=0
|
||||
widgets\2\floating_rel_y=0
|
||||
widgets\2\floating_screen=
|
||||
widgets\2\movable=true
|
||||
widgets\2\object_name=Plot_1
|
||||
widgets\2\widget_class=Waveform
|
||||
widgets\3\closable=true
|
||||
widgets\3\floatable=true
|
||||
widgets\3\floating=false
|
||||
widgets\3\floating_abs_h=0
|
||||
widgets\3\floating_abs_w=0
|
||||
widgets\3\floating_abs_x=0
|
||||
widgets\3\floating_abs_y=0
|
||||
widgets\3\floating_rel_h=0
|
||||
widgets\3\floating_rel_w=0
|
||||
widgets\3\floating_rel_x=0
|
||||
widgets\3\floating_rel_y=0
|
||||
widgets\3\floating_screen=
|
||||
widgets\3\movable=true
|
||||
widgets\3\object_name=Plot_2
|
||||
widgets\3\widget_class=Waveform
|
||||
widgets\4\closable=true
|
||||
widgets\4\floatable=true
|
||||
widgets\4\floating=false
|
||||
widgets\4\floating_abs_h=0
|
||||
widgets\4\floating_abs_w=0
|
||||
widgets\4\floating_abs_x=0
|
||||
widgets\4\floating_abs_y=0
|
||||
widgets\4\floating_rel_h=0
|
||||
widgets\4\floating_rel_w=0
|
||||
widgets\4\floating_rel_x=0
|
||||
widgets\4\floating_rel_y=0
|
||||
widgets\4\floating_screen=
|
||||
widgets\4\movable=true
|
||||
widgets\4\object_name=Plot_3
|
||||
widgets\4\widget_class=Waveform
|
||||
widgets\5\closable=true
|
||||
widgets\5\floatable=true
|
||||
widgets\5\floating=false
|
||||
widgets\5\floating_abs_h=0
|
||||
widgets\5\floating_abs_w=0
|
||||
widgets\5\floating_abs_x=0
|
||||
widgets\5\floating_abs_y=0
|
||||
widgets\5\floating_rel_h=0
|
||||
widgets\5\floating_rel_w=0
|
||||
widgets\5\floating_rel_x=0
|
||||
widgets\5\floating_rel_y=0
|
||||
widgets\5\floating_screen=
|
||||
widgets\5\movable=true
|
||||
widgets\5\object_name=Plot_4
|
||||
widgets\5\widget_class=Waveform
|
||||
widgets\6\closable=true
|
||||
widgets\6\floatable=true
|
||||
widgets\6\floating=false
|
||||
widgets\6\floating_abs_h=0
|
||||
widgets\6\floating_abs_w=0
|
||||
widgets\6\floating_abs_x=0
|
||||
widgets\6\floating_abs_y=0
|
||||
widgets\6\floating_rel_h=0
|
||||
widgets\6\floating_rel_w=0
|
||||
widgets\6\floating_rel_x=0
|
||||
widgets\6\floating_rel_y=0
|
||||
widgets\6\floating_screen=
|
||||
widgets\6\movable=true
|
||||
widgets\6\object_name=Plot_5
|
||||
widgets\6\widget_class=Waveform
|
||||
widgets\7\closable=true
|
||||
widgets\7\floatable=true
|
||||
widgets\7\floating=false
|
||||
widgets\7\floating_abs_h=0
|
||||
widgets\7\floating_abs_w=0
|
||||
widgets\7\floating_abs_x=0
|
||||
widgets\7\floating_abs_y=0
|
||||
widgets\7\floating_rel_h=0
|
||||
widgets\7\floating_rel_w=0
|
||||
widgets\7\floating_rel_x=0
|
||||
widgets\7\floating_rel_y=0
|
||||
widgets\7\floating_screen=
|
||||
widgets\7\movable=true
|
||||
widgets\7\object_name=Plot_6
|
||||
widgets\7\widget_class=Waveform
|
||||
widgets\8\closable=true
|
||||
widgets\8\floatable=true
|
||||
widgets\8\floating=false
|
||||
widgets\8\floating_abs_h=0
|
||||
widgets\8\floating_abs_w=0
|
||||
widgets\8\floating_abs_x=0
|
||||
widgets\8\floating_abs_y=0
|
||||
widgets\8\floating_rel_h=0
|
||||
widgets\8\floating_rel_w=0
|
||||
widgets\8\floating_rel_x=0
|
||||
widgets\8\floating_rel_y=0
|
||||
widgets\8\floating_screen=
|
||||
widgets\8\movable=true
|
||||
widgets\8\object_name=Progress
|
||||
widgets\8\widget_class=TextBox
|
||||
widgets\size=8
|
||||
|
||||
[profile]
|
||||
created_at=2026-10-10T16:30:18Z
|
||||
quick_select=true
|
||||
screenshot="@ByteArray(\x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x4v\0\0\x2\xea\b\x6\0\0\0PE\xd3\x82\0\0\0\tpHYs\0\0\xe\xc4\0\0\xe\xc4\x1\x95+\xe\x1b\0\0 \0IDATx\x9c\xec\xddwT\x14W\x1b\xc0\xe1\xdfR\xa5\vbA\xb0\xb7\xa8\xd8\xc1\xde{\x8b\x5\x5{Kl\xb1\x63\x8b\xbd\xf7\xde{\x8d\r{\x8f\xc6h\xa2\x31\x89\x1a\x89\xbd\x97\xd8\xc5^@@`\xd9\xfd\xfe\xe0\x63#\xa1,e\x97\x65\xe1}\xce\xf1\x1c\x99\x99\x9d{\xe1\xce;\xe5\xdd{\xef(BB#\xd4\b!\x84\x10\x42\b!\x84\x10\x42\b\xa3\x63\x62\xe8\n\b!\x84\x10\x42\b!\x84\x10\x42\x88\xe4\x91\xc4\x8e\x10\x42\b!\x84\x10\x42\b!\x84\x91\x92\xc4\x8e\x10\x42\b!\x84\x10\x42\b!\x84\x91\x92\xc4N\x1a\xf2\xe4\xf9k\x9e<\x7fm\xe8j\b\x91hr\xcc\x1a'i\xb7\x8cK\xda^\x88\xb8Il\b!\xd2\"97\x89\xc4\x92\xc4\x8e\x10\x42\b!\x84\x10\x42\b!\x84\x91\x92\xc4\x8e\x10\x42\b!\x84\x10\x42\b!\x84\x91\x32\x33t\x5\x84\x10\x42\b!\x84\x30\x16\xc1\xc1\x9f\t\xfc\x14\x8c\x32Re\xe8\xaa\b\x91,\x16\x16\xe6\x64\xb2\xb4\xc0\xc1\xce\xda\xd0U\x11\x42\xe8\x88$v\x84\x10\x42\b!\x84H\x84\x80W\xef\xb0\xb2\x30'\xb7[V\xccL\xa5\xe3\xbb\x30Naa\x11|\f\f\xe5\xe9\xf3\x37\xb8\xe5t6tu\x84H\x91'\xcf_\x93+gVCW\xc3\xe0$\xb1#\x84\x10\x42\b!\x84\x16\xc1\xc1\x9f\xc9\x64i\x8eKvGCWE\x88\x14\xb1\xb4\x34'[VsL\xcd 8$\f\x1bkKCWI\b\x91\x42\xf2U\x83\x10\x42\b!\x84\x10Z\x4~\n&\x9b\xb3\x83\xa1\xab!2\x80;\xff\x4\xa4J9\xe\xf6\x36|\f\fN\x95\xb2\x84\x10\xfa%\x89\x1d!\x84\x10\x42\b!\xb4PF\xaa\x64\xf8\x95HW\xccLM\x89TE\x1a\xba\x1a\x42\b\x1d\x90\xab\x93\x10\x42\b!\x84\x10\x42\b\x91\xce\xa8\xd5j\xd4ju\xaa}N\x18\x8e\xcc\xb1#\x84\x10\x42\b!\x84\x10\"N~\xdbwq\xde\xff\x42\xa2\xb7\xafT\xd1\x93\xd6\xadZ\xea\xb1\x46\"1\xd4j5s\xe7-B\xadV3t\xc8@T*\x15\xc3G\x8c\xc5\xbbuK*V\xf0\x8c\xb1\xed\xd9s\xe7\xd9\xb9k/3\xa6M\xc2\xcc\xcc\x94\x99\xb3\xe6\x11\x16\x1e\xc6\xb8\x31#Q(\x14:\xad\xd3\xc2\xc5\xcby\xf2\xe4i\x8c\xe5\xb9r\xb9\x31\xb0\xffw:-+\xa3\x91\xc4\x8e\x10\x42\b!\x84\x10\x42\x88\x38\x9d\xf7\xbf\xc0\xa1\xc3G(T\xb0\x80\xd6m?}\xfa\xc4\xae\xdd{\t\r\xf9L\xa7N\xed\xf4R\x9f;\xb7\xefr\xe2\xe4)\xbe\xeb\xd5]/\xfb\xd7\xe6\xd1\xa3'l\xdf\xb1\x8b\x97\xaf^S\xbcXQ\xda\xb7\xf3&S\xa6L\x6\xa9Kb,Y\xb6\x12\xb5Z\x8d\xef\xa0\xfe\xec\xda\xbd\x17O\x8f\xb2\xb1\x12;\xf\x1f>b\xd7\xee\xbdL\x9d<\x8ey\xf3\x17\xb1|\xe5\x1a\xfa~\xd7S\xe7uY\xb4\x64\x5\xf3\x17,\xa6X\xd1\xaf\x30\x35\x35\x5@\xa5R\xb1k\xf7\xde\xa8:\xe\xec\xab\xf3\x32S\x9bR\x19\x89J\x15\x89\x85\x85\x45\xaa\x96+\x89\x1d!\x84\x10\x42\b!\x84\x10\xf1*T\xb0\0\a\xf6\xed\xe0\xed\xdb\xb7\xf1ncoo\x8f\xa9\xa9\x19\x43\x86\x8e`\xcc\xf8I\0:O\xee\xdc\xb9}\x97\x36\x1d\xba\xe2\x9c\x35\v]:u\xc0\xda\xdaJ\xa7\xfb\xd7\xe6\xda\xf5\x1b\xb4\xf2\xee@&KK\xdc\xdc\\\xd9\xb7\xff\0\xbb\xf7\xec\x63\xef\x1e?,\xcc\xcdS\xb5.\xda(\x14\n\x86\f\x1e\0\xc0\xe2\xa5+\x88P*\xb5~f\xce\xdc\x85\xac^\xbb\x81~}z1t\xc8\xc0\x14\xf5\xa0\xd9\xb5{/k\xd6m\xd4\xfc\xacV\xc3\xad[\xb7\x19\xd0\xaf\x37\x43\x6\xf\x8c\xb1\xed\xbc\xf9\x8bX\xb0p\tG~:\x86\xc9\x17\x65v\xeb\xda\x99\x36\xde^\xc9\xae\x43j\x89\x88P\xb2r\xf5Zv\xed\xda\xcb\xc3G\x8fY\xbbj\x19u\xea\xd4L\xd5:\x18l\x8e\x9d\xc7\x8f\x1f\x93'\x7fQ\x1e?~\x9c\xac\xf5\t9p\xf0 \r\x1a\x36Ni\x15\xc5\xffU\xaeR\x83\xa3G\x8f&{\xbd\xd0\x8f\x62\xee\x65\xf8\xe5\x97_\f]\x8d\x34\xc9\xd0\xc7\xac\x9c\x83\x92N\xae\tB\b!D\xda\xf6\xf6\xed[<*T\x8f\xf7\xdf\x8fG~\xc2\xcc\xcc\x94\xb9sf\xd0\xa2YS\xc6\x8c\x9f\xc4\xae\xdd{uV\xfe\xed[w\xf0i\xdf\x5\xe7\xacY\xf0\xdb\xbc>\xd5\x93:\0\xb3\xe7.$\xa7K\xe~?\xf5\x33\x87\xf\xee\x66\xcb\xa6\xf5\\\xbb~\x83\xbd\xfb\xe\xa6z]\x12\x43\xa9\x8c\xa4_\xdf^\xf4\xec\xde\x8dU\xab\xd7i\xdd~\xf5\xda\r\xf4\xec\xde\x8d\xfe\xfdz\xa3T\xa6lb\xedw\xef\xdes\xfb\xf6]J\x95p\xa7T\twJ\x97t\xc7wP\x7f\x6\xfb\xe\x88\xb5\xad\xef\xa0\xfe\xf8\xe\xeaO\x99\x92%4\xdb\xdf\xbe}7\xc1\x44\x62Z\xf1\xe8\xd1\x13Zx\xb5\x61\xdf\xbe\x3\x14(\x90\x9f\n\xe5=R=\xa9\x3:\xee\xb1\x13\x12\x12\x42Q\xf7rX\x98\x9bq\xed\x8a?\x96\x96\x96\xba\xdc\xbd\xc6\xaaU\xab\x99:c\x1e\0\x36\xd6\x99\xa8X\xbe\x1cm\xdaxS\xaf^=LLd>\xe8\xc4\xe8\xdb\xb7?\x87\x8e\x1c\xe7\xa7\x1f\xf7\xf2\xd5W_\xe9\xa5\x8cs\xe7\xce\xe1\xd3\xae\xab\xe6\xe7\x12\xc5\x8bP\xa6tI\xbc\xbcZR\xa6L\x99\x14\xef\xff\xc8\xd1\xa3l\xdb\xb6\x9d\x35\xabW\xea\xb4\xab[dd$G\x8f\xfe\xc4o\xbf\xfd\xc6\xd9s\xe7\xb1\xb3\xb3\xa3|y\xf:\xb4oG\x81\x2\xda\xbb\xa0\n\xfdH\x8d\x63v\xf1\xe2%\xdc\xbd{\x8f\x45\x8b\x16\xc4X~\xfa\xf4\xeft\xec\xd2\x83\a\xf7\xae\xc7y\x8e\t\xfd\xfc\x99o\xbe\xe9N\x8f\xee\xdfP\xbbvm\xbd\xd4\xcd\x18\xa5\xd7k\xc2\xf4\xe9\x33\xc8\x94)\x13\xbe\xbe\x83t\xbeo!\x84\xf1\xf2\x1d<\x8c-~\xfb\0\x30\x35\x35\xa1\xa2giJ\x97*\x81\x8fOk\x8a\x16M\xfcuk\xc5\x8aU\\\xb9v\x9d\xa5\x8b\x17\xa0P(\xa8\xdf\xe0k\xda\xf8x\xf1\xed\xb7\xdd\xb4~622\x92\x13'~e\xc7\xce\xdd\xf8\xff}\x99,N\x99)W\xae\x34\xadZ\xb5\xa4\x42yO\xad\x9fW\xa9T\x4\x6\x6\x62mm\x9d\xea\xc3\btI\xa9\x8c\xa4g\xaf>\xd4\xa8^\x95.]:\x19\xba:\x19Ntr\xe7\xf2\x95\xab\x9c\x39{^'\xf3\xed\xdc\xbau\x9b\xb6\x1d\xba\xf1\xfe\xfd{\x9a\x34i\xc0\xa6\xcd\xdb\x62m\x93={v\xdc\xdd\x8b\xe1^\xbc\x98\xde\xe6j\xb9{\xe7\x1eM\x1a\x37\xc0\xce\xde\xe\x80\x8a\x15<\xc9\x91=;\xf7\xee\xde\xd3Ky)5b\xd4\xb8$'\xd7V\xadY\xcf\xaa\x35\xebi\xdd\xaa%sgOKQ\xf9\x66\x66\x66\xcc\x9c\x31\x45\xebv\n\x85\x82\x41\x3\xfa\xc4X\xb6'\x8d&\xcb\xbe\x14\x11\xa1\xa4O\xbf\x41\xe4\xca\xe5Line truncated
|
||||
screenshot_at=2026-10-10T20:20:15Z
|
||||
@@ -0,0 +1,457 @@
|
||||
[BECDockArea]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=false
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 23 1670 1505)
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(0 0)
|
||||
mode=creator
|
||||
mouseTracking=false
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=BEC - TestLayout4
|
||||
workspace_is_locked=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Info.dockWidgetScrollArea.qt_scrollarea_viewport.Info]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 816 1426)
|
||||
html_text="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\nhr { height: 1px; border-width: 0; }\nli.unchecked::marker { content: \"\\2610\"; }\nli.checked::marker { content: \"\\2612\"; }\n</style></head><body style=\" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Starting daily beamline setup</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Machine current OK (401.8 mA)</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Beamline is not offline, (operation mode is attended)</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ FE shutter is open</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Hutch shutter is open</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ SS Xray eye is OUT</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Cryostream temperature: 99.96 K</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Detector height: 62.0 mm</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Beamstop blocking beam: I2 = 8.76e-09</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Beamline energy set to 12400 eV</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Beam aligned</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Displacement: Beam X: -0.1 microns, Beam Y: -0.3 microns</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Flux measured</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Intensity at current transmission: 8.62e+11 ph/s</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Intensity at 100% transmission: 8.53e+12 ph/s</p>\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Total duration: 39.7 s</p></body></html>"
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(640 310)
|
||||
mouseTracking=false
|
||||
plain_text="Starting daily beamline setup\n\n✓ Machine current OK (401.8 mA)\n✓ Beamline is not offline, (operation mode is attended)\n✓ FE shutter is open\n✓ Hutch shutter is open\n\n✓ SS Xray eye is OUT\n✓ Cryostream temperature: 99.96 K\n✓ Detector height: 62.0 mm\n✓ Beamstop blocking beam: I2 = 8.76e-09\n\n✓ Beamline energy set to 12400 eV\n\n✓ Beam aligned\nDisplacement: Beam X: -0.1 microns, Beam Y: -0.3 microns\n\n✓ Flux measured\nIntensity at current transmission: 8.62e+11 ph/s\nIntensity at 100% transmission: 8.53e+12 ph/s\n\nTotal duration: 39.7 s"
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_1.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_1]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=false
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 575 341)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(384 200)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=dcm_pitch
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=Scan: Current
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=dcm_pitch
|
||||
x_limits=@Variant(\0\0\0\x1a\xc0\x1a\xb0\xb0)(\x17v\xc0\x15\xa0\xc4\x15n&N)
|
||||
x_log=false
|
||||
x_mode=dcm_pitch
|
||||
y_grid=false
|
||||
y_label=lu_bpmsum
|
||||
y_limits=@Variant(\0\0\0\x1a\xc0g\xe2\xe0\x3|_\x2@\x9d\xf0\x41\x91k\xed@)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_2.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_2]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 575 304)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(384 200)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_3.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_3]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 575 358)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(384 200)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Plot_4.dockWidgetScrollArea.qt_scrollarea_viewport.Plot_4]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
auto_range_x=true
|
||||
auto_range_y=true
|
||||
baseSize=@Size(0 0)
|
||||
color_palette=plasma
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
curve_json=[]
|
||||
enable_fps_monitor=false
|
||||
enable_popups=true
|
||||
enable_side_panel=false
|
||||
enable_toolbar=true
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 575 294)
|
||||
inner_axes=true
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
invert_x=false
|
||||
invert_y=false
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
legend_label_size=9
|
||||
lock_aspect_ratio=false
|
||||
max_dataset_size_mb=10
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimal_crosshair_precision=3
|
||||
minimumSize=@Size(384 200)
|
||||
mouseTracking=false
|
||||
outer_axes=false
|
||||
signal_x=
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
skip_large_dataset_check=false
|
||||
skip_large_dataset_warning=false
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
title=
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
x_grid=false
|
||||
x_label=
|
||||
x_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
x_log=false
|
||||
x_mode=auto
|
||||
y_grid=false
|
||||
y_label=
|
||||
y_limits=@Variant(\0\0\0\x1a\0\0\0\0\0\0\0\0?\xf0\0\0\0\0\0\0)
|
||||
y_log=false
|
||||
|
||||
[BECDockArea.ads%3A%3ACDockManager.ads%3A%3ACDockSplitter.ads%3A%3ACDockSplitter.ads%3A%3ACDockAreaWidget.Progress.dockWidgetScrollArea.qt_scrollarea_viewport.Progress]
|
||||
acceptDrops=false
|
||||
accessibleDescription=
|
||||
accessibleIdentifier=
|
||||
accessibleName=
|
||||
autoFillBackground=true
|
||||
baseSize=@Size(0 0)
|
||||
contextMenuPolicy=@Variant(\0\0\0\x7f\0\0\0\x16Qt::ContextMenuPolicy\0\0\0\0\x1)
|
||||
cursor=@Variant(\0\0\0J\0\0)
|
||||
enabled=true
|
||||
focusPolicy=@Variant(\0\0\0\x7f\0\0\0\x10Qt::FocusPolicy\0\0\0\0\0)
|
||||
geometry=@Rect(0 0 256 1416)
|
||||
html_text="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><meta charset=\"utf-8\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\nhr { height: 1px; border-width: 0; }\nli.unchecked::marker { content: \"\\2610\"; }\nli.checked::marker { content: \"\\2612\"; }\n</style></head><body style=\" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Pre checks</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Set energy</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Move beam</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">– Align beamstop</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">– Align collimator</p>\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">✓ Measure flux</p></body></html>"
|
||||
inputMethodHints=@Variant(\0\0\0\x7f\0\0\0\x14Qt::InputMethodHint\0\0\0\0\0)
|
||||
layoutDirection=@Variant(\0\0\0\x7f\0\0\0\x14Qt::LayoutDirection\0\0\0\0\0)
|
||||
maximumSize=@Size(16777215 16777215)
|
||||
minimumSize=@Size(256 310)
|
||||
mouseTracking=false
|
||||
plain_text=✓ Pre checks\n✓ Set energy\n✓ Move beam\n– Align beamstop\n– Align collimator\n✓ Measure flux
|
||||
sizeIncrement=@Size(0 0)
|
||||
sizePolicy=@Variant(\0\0\0K\0\0\0U)
|
||||
statusTip=
|
||||
tabletTracking=false
|
||||
toolTip=
|
||||
toolTipDuration=-1
|
||||
whatsThis=
|
||||
windowFilePath=
|
||||
windowModality=@Variant(\0\0\0\x7f\0\0\0\x13Qt::WindowModality\0\0\0\0\0)
|
||||
windowModified=false
|
||||
windowOpacity=1
|
||||
windowTitle=
|
||||
|
||||
[BECDockArea.dockSettingsAction]
|
||||
autoRepeat=true
|
||||
checkable=false
|
||||
checked=false
|
||||
enabled=true
|
||||
iconText=Dock settings
|
||||
iconVisibleInMenu=true
|
||||
menuRole=@Variant(\0\0\0\x7f\0\0\0\x12QAction::MenuRole\0\0\0\0\x1)
|
||||
priority=@Variant(\0\0\0\x7f\0\0\0\x12QAction::Priority\0\0\0\0\x80)
|
||||
shortcut=
|
||||
shortcutContext=@Variant(\0\0\0\x7f\0\0\0\x14Qt::ShortcutContext\0\0\0\0\x1)
|
||||
shortcutVisibleInContextMenu=true
|
||||
statusTip=
|
||||
text=Dock settings
|
||||
toolTip=Dock settings
|
||||
whatsThis=
|
||||
|
||||
[Perspectives]
|
||||
1\Name=BEC - TestLayout4
|
||||
1\State="@ByteArray(\0\0\x3:x\xda\x95\x92\xdfO\x83\x30\x10\xc7\xdf\xfd+.}\x9f@\xcb\x94%\xc0\xb2`\x96\xf8\xe2\x8f\xb0\xe9\xa3\x41\x38I#\xb4\xa6\xed\x16\x35\xfe\xf1\x16\xb6\x10\xa3\x65\x91\x87\xa6\xbd\xef]?\xed\xf7r\xf1\xf2\xbdm`\x8fJs)\x12\x12\x9c\xfb\x4P\x94\xb2\xe2\xa2N\xc8v\xb3\x9e\x45\x64\x99\xc6\xf7\x66U\xed\vQbu%\xcbW\x9b\xcb?\xb4\xc1\x16\x1e\x86\x8b\x4\xb6\x1a\xd5\x10[L&\x85)\xb8\xb0J\x97N\xe3!\x86u#\v\xd3?\xe0[=\x7fk\xb8\x31V\xbeU\x1cm\x89\xe9\x1_\x1d`'LB\xe8?kV\n\v\xd8\x14\xcf\xfds\x90\xed\x94\xc2.u\xa7\x64\xadPk[\xf1\xc8\xab\x1a\r\xdc\x14-\xfe\xd0!k\xa4\xc6\xaa\xfb\x8c\x97\xc6^\x87\x19\x85]\x8b\x17\xf9\x1b\xd4kNH\xce?Q\xa7t\x1e@D)\xc4\xde!\xb6\xfb\xd1\xcd\x98\xaf\xd9\xe0+<\xe1\xab\x91\xe6)\xf8\xe3\xea\xa0N\xf1\xd4_\xa1N\x10\x9d\xe\x62N\x10\x9b\xe\n\x9d\xa0\xf0T\xa7\xd9\xe5\x5\x30\xb6\0\xb6`\xc0\xe8\xc2\xdd\xf1^\t\xfc(\x80\xb9]\xae\x12o\x98T{\x1e\x99\xfc\xf4\xec\x1b\xd0\xbb\tD)"
|
||||
size=1
|
||||
|
||||
[mainWindow]
|
||||
DockingState="@ByteArray(\0\0\x3:x\xda\x95\x92\xdfO\x83\x30\x10\xc7\xdf\xfd+.}\x9f@\xcb\x94%\xc0\xb2`\x96\xf8\xe2\x8f\xb0\xe9\xa3\x41\x38I#\xb4\xa6\xed\x16\x35\xfe\xf1\x16\xb6\x10\xa3\x65\x91\x87\xa6\xbd\xef]?\xed\xf7r\xf1\xf2\xbdm`\x8fJs)\x12\x12\x9c\xfb\x4P\x94\xb2\xe2\xa2N\xc8v\xb3\x9e\x45\x64\x99\xc6\xf7\x66U\xed\vQbu%\xcbW\x9b\xcb?\xb4\xc1\x16\x1e\x86\x8b\x4\xb6\x1a\xd5\x10[L&\x85)\xb8\xb0J\x97N\xe3!\x86u#\v\xd3?\xe0[=\x7fk\xb8\x31V\xbeU\x1cm\x89\xe9\x1_\x1d`'LB\xe8?kV\n\v\xd8\x14\xcf\xfds\x90\xed\x94\xc2.u\xa7\x64\xadPk[\xf1\xc8\xab\x1a\r\xdc\x14-\xfe\xd0!k\xa4\xc6\xaa\xfb\x8c\x97\xc6^\x87\x19\x85]\x8b\x17\xf9\x1b\xd4kNH\xce?Q\xa7t\x1e@D)\xc4\xde!\xb6\xfb\xd1\xcd\x98\xaf\xd9\xe0+<\xe1\xab\x91\xe6)\xf8\xe3\xea\xa0N\xf1\xd4_\xa1N\x10\x9d\xe\x62N\x10\x9b\xe\n\x9d\xa0\xf0T\xa7\xd9\xe5\x5\x30\xb6\0\xb6`\xc0\xe8\xc2\xdd\xf1^\t\xfc(\x80\xb9]\xae\x12o\x98T{\x1e\x99\xfc\xf4\xec\x1b\xd0\xbb\tD)"
|
||||
Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x17\0\0\x6\x85\0\0\x5\xf7\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xf\0\0\0\0\0\0\0\0\x17\0\0\x6\x85\0\0\x5\xf7)
|
||||
State=@Variant(\0\0\0\x7f\0\0\0\tPyObject\0\0\0\0\xf\x80\x4\x95\x4\0\0\0\0\0\0\0\x43\0\x94.)
|
||||
|
||||
[manifest]
|
||||
widgets\1\closable=true
|
||||
widgets\1\floatable=true
|
||||
widgets\1\floating=false
|
||||
widgets\1\floating_abs_h=0
|
||||
widgets\1\floating_abs_w=0
|
||||
widgets\1\floating_abs_x=0
|
||||
widgets\1\floating_abs_y=0
|
||||
widgets\1\floating_rel_h=0
|
||||
widgets\1\floating_rel_w=0
|
||||
widgets\1\floating_rel_x=0
|
||||
widgets\1\floating_rel_y=0
|
||||
widgets\1\floating_screen=
|
||||
widgets\1\movable=true
|
||||
widgets\1\object_name=Info
|
||||
widgets\1\widget_class=TextBox
|
||||
widgets\2\closable=true
|
||||
widgets\2\floatable=true
|
||||
widgets\2\floating=false
|
||||
widgets\2\floating_abs_h=0
|
||||
widgets\2\floating_abs_w=0
|
||||
widgets\2\floating_abs_x=0
|
||||
widgets\2\floating_abs_y=0
|
||||
widgets\2\floating_rel_h=0
|
||||
widgets\2\floating_rel_w=0
|
||||
widgets\2\floating_rel_x=0
|
||||
widgets\2\floating_rel_y=0
|
||||
widgets\2\floating_screen=
|
||||
widgets\2\movable=true
|
||||
widgets\2\object_name=Plot_1
|
||||
widgets\2\widget_class=Waveform
|
||||
widgets\3\closable=true
|
||||
widgets\3\floatable=true
|
||||
widgets\3\floating=false
|
||||
widgets\3\floating_abs_h=0
|
||||
widgets\3\floating_abs_w=0
|
||||
widgets\3\floating_abs_x=0
|
||||
widgets\3\floating_abs_y=0
|
||||
widgets\3\floating_rel_h=0
|
||||
widgets\3\floating_rel_w=0
|
||||
widgets\3\floating_rel_x=0
|
||||
widgets\3\floating_rel_y=0
|
||||
widgets\3\floating_screen=
|
||||
widgets\3\movable=true
|
||||
widgets\3\object_name=Plot_2
|
||||
widgets\3\widget_class=Waveform
|
||||
widgets\4\closable=true
|
||||
widgets\4\floatable=true
|
||||
widgets\4\floating=false
|
||||
widgets\4\floating_abs_h=0
|
||||
widgets\4\floating_abs_w=0
|
||||
widgets\4\floating_abs_x=0
|
||||
widgets\4\floating_abs_y=0
|
||||
widgets\4\floating_rel_h=0
|
||||
widgets\4\floating_rel_w=0
|
||||
widgets\4\floating_rel_x=0
|
||||
widgets\4\floating_rel_y=0
|
||||
widgets\4\floating_screen=
|
||||
widgets\4\movable=true
|
||||
widgets\4\object_name=Plot_3
|
||||
widgets\4\widget_class=Waveform
|
||||
widgets\5\closable=true
|
||||
widgets\5\floatable=true
|
||||
widgets\5\floating=false
|
||||
widgets\5\floating_abs_h=0
|
||||
widgets\5\floating_abs_w=0
|
||||
widgets\5\floating_abs_x=0
|
||||
widgets\5\floating_abs_y=0
|
||||
widgets\5\floating_rel_h=0
|
||||
widgets\5\floating_rel_w=0
|
||||
widgets\5\floating_rel_x=0
|
||||
widgets\5\floating_rel_y=0
|
||||
widgets\5\floating_screen=
|
||||
widgets\5\movable=true
|
||||
widgets\5\object_name=Plot_4
|
||||
widgets\5\widget_class=Waveform
|
||||
widgets\6\closable=true
|
||||
widgets\6\floatable=true
|
||||
widgets\6\floating=false
|
||||
widgets\6\floating_abs_h=0
|
||||
widgets\6\floating_abs_w=0
|
||||
widgets\6\floating_abs_x=0
|
||||
widgets\6\floating_abs_y=0
|
||||
widgets\6\floating_rel_h=0
|
||||
widgets\6\floating_rel_w=0
|
||||
widgets\6\floating_rel_x=0
|
||||
widgets\6\floating_rel_y=0
|
||||
widgets\6\floating_screen=
|
||||
widgets\6\movable=true
|
||||
widgets\6\object_name=Progress
|
||||
widgets\6\widget_class=TextBox
|
||||
widgets\size=6
|
||||
|
||||
[profile]
|
||||
created_at=2026-09-27T09:27:43Z
|
||||
quick_select=true
|
||||
screenshot="@ByteArray(\x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x6\x86\0\0\x5\xe1\b\x6\0\0\0\xb7\x5(\x97\0\0\0\tpHYs\0\0\xe\xc4\0\0\xe\xc4\x1\x95+\xe\x1b\0\0 \0IDATx\x9c\xec\xddut\x14\xd7\xfb\xc7\xf1w\x1c\x12\x92\xe0n\xc5\xdd\x83\xb6Xp\xb7\xe0RZ\xac\xb8\x43)R\\\x8a\xbbK\xb1\xe0.-\x85\x1f-\x14)\x14)\xe\xa5XB\bNB\x2\x44v\x7f\x7f\xe4\xcb\x96\x94\x18\xc9\xc6\xe0\xf3:'\xe7$3w\xef}\xb2wv\xf6\xce<3w,\xfc_\x5\x1a\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x91\x8f\x9e\x65|\a \"\"\"\"\"\"\"\"\"\"\"\"qC\x89!\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x91O\x84\x12\x43\"\"\"\"\"\"\"\"\"\"\"\"\x9f\b%\x86\x12\x90{\xf7\x1fq\xef\xfe\xa3\xf8\xe\x43$\xca\xb4\xcd&N\xea\xb7O\x97\xfa^DD\xe4\xc3\xe8\xbbSDDD\x12\x13\x8d]$\xaa\x94\x18\x12\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\xf9\x44(1$\"\"\"\"\"\"\"\"\"\"\"\xf2\x89\xb0\x8e\xef\0\x44\x44\x44\x44\x44\x44\x44\x12;?\xbf\xd7\xf8\xbc\xf4#(\xd8\x10\xdf\xa1\x88\x88\x88\x98\x95\xad\xad\rI\xeclqv\xb4\x8f\xefPD\xc4L\x94\x18\x12\x11\x11\x11\x11\x11\x11\x89\x1\xaf\x87OIjkC\xd6\xcci\xb0\xb6\xd2\xc4\x1c\"\"\xf2qy\xf3&\x90\x17>\xaf\xf0\xb8\xff\x98\xcc\x19S\xc7w8\"1r\xef\xfe#\xb2\x64L\x13\xdf\x61\xc4;%\x86\x44\x44\x44\x44\x44\x44\x44\xa2\xc9\xcf\xef\x35I\xecl\xc8\x90.E|\x87\"\"\"\x12+\xec\xeclH\x9b\xc6\x6+k\xf0\xf3\x7f\x83\x83\xbd]|\x87$\"1\xa4K\x99\x44\x44\x44\x44\x44\x44\x44\xa2\xc9\xe7\xa5\x1fiS;\xc7w\x18\"\"\xf2\t\xbb\xfe\x8fW\x9c\xb4\xe3\xec\xe4\xc0\v\x1f\xbf\x38iKDb\x97\x12\x43\"\"\"\"\"\"\"\xd1\x14\x14l\xd0\xf4q\"\"\xf2I\xb0\xb6\xb2\"\xd8\x10\x1c\xdf\x61\x88\x88\x19h\xf4*\"\"\"\"\"\"\"\"\"\"\xf2\x89\x33\x1a\x8d\x18\x8d\xc6\x38{\x9d\xc4\x1f=cHDDDDDDDDDD\xcc\xc2}\xc3\x66N\x9d>\x13\xe5\xf2\xe5\xca\xba\xd0\xaci\xe3X\x8cH\xa2\xc2h42m\xfal\x8c\x46#\x3\a\xf4\xc1`00x\xe8\b\xdc\x9a\x35\xa6l\x19\x97PeO\x9c<\xc5\xa6\xcd\xdb\x98\x34\x61\f\xd6\xd6VL\x9e\x32\x9d\x37\x1o\x18\x39\xfc[,,,\xcc\x1a\xd3\xac\x39\v\xb8w\xcf#\xd4\xf2,Y2\xd3\xa7\xd7\x37\x66m\xebS\xa3\xc4\x90\x88\x88\x88\x88\x88\x88\x88\x88\x88\x88\x98\xc5\xa9\xd3g\xd8\xbdg\x1f\xb9s\xe5\x8c\xb4\xec\xcb\x97/\xd9\xbc\x65\x1b\xaf\xfc_\xd3\xae]\xabX\x89\xe7\xfa\xb5\x1b\x1c<\xfc+\xdft\xed\x14+\xf5G\xe6\xce\x9d{l\xd8\xb8\x19\xef\x87\x8f(X ?\xad[\xb9\x91$I\x92x\x89%*\xe6\xce_\x84\xd1h\xa4_\xdf^l\xde\xb2\r\x97R%\xdeK\f\xdd\xbe}\x87\xcd[\xb6\x31~\xecH\xa6\xcf\x98\xcd\x82\x45K\xe9\xf1M\x17\xb3\xc7\x32{\xee\x42\x66\xcc\x9c\x43\x81\xfc\xf9\xb0\xb2\xb2\x2\xc0`0\xb0y\xcb\xb6\x90\x18\xfb\xf4\x30{\x9bq-((\x18\x83!\x18[[\xdb\x38mW\x89!\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x31\x9b\xdc\xb9r\xb2s\xfb\x46\x9e<y\x12n\x19'''\xac\xac\xac\x19\x30p(\xc3G\x8d\x1\x30{r\xe8\xfa\xb5\x1b\xb4h\xf3%\xa9\xd3\xa4\xa2\x43\xbb\x36\xd8\xdb'5k\xfd\x91\xb9x\xe9\x32M\xdd\xda\x90\xc4\xce\x8e\xcc\x99\x33\xb1}\xc7N\xb6l\xdd\xce\xb6\xad\xee\xd8\xda\xd8\xc4i,\x91\xb1\xb0\xb0`@\xff\xde\0\xcc\x99\xb7\x90\xc0\xa0\xa0H_3u\xda,\x96,[I\xcf\xee]\x19\x38\xa0O\x8c\xee\xe0\xd9\xbc\x65\x1bK\x97\xaf\x32\xfdm4\xc2\xd5\xab\xd7\xe8\xdd\xb3\x1b\x3\xfa\xf7\tUv\xfa\x8c\xd9\xcc\x9c\x35\x97}?\xfd\x8c\xe5;mv\xfc\xb2=-\xdc\x9a\x44;\x86\xb8\x12\x18\x18\xc4\xa2%\xcb\xd8\xbcy\x1b\xb7\xef\xdc\x65\xd9\xe2\xf9\xb8\xbaV\x8e\xd3\x18\xe2\xed\x19\x43w\xef\xde%[\x8e\xfc\xdc\xbd{7Z\xeb#\xb2s\xd7.j\xd6\xaa\x13\xd3\x10\xe5\x7f\xcaW\xa8\xc4\xfe\xfd\xfb\xa3\xbd^bG\x81\x42\xc5\x39t\xe8P|\x87\x91 \xc5\xf7\x36\xab}\xd0\x87\xd3w\x82\x88\x88\x88\x88\x88\x88\xc8\xc7\xe5\xc9\x93'\x94*S1\xdc\x9f\xbd\xfb~\xc2\xda\xda\x8aiS'\xd1\xa8\x41=\x86\x8f\x1a\xc3\xe6-\xdb\xcc\xd6\xfe\xb5\xab\xd7i\xde\xba\x3\xa9\xd3\xa4\xc2}\xcd\x8a\x38O\n\x1\xfc\x30m\x16\x19\x33\xa4\xe7\xe8\xaf\a\xd8\xb3k\vkW\xaf\xe0\xe2\xa5\xcbl\xdb\xbe+\xce\x63\x89\x8a\xa0\xa0`z\xf6\xe8J\x97N\x1dY\xbc\x64y\xa4\xe5\x97,[I\x97N\x1d\xe9\xd5\xb3\x1b\x41\x41\xc1\x31j\xfb\xe9\xd3g\\\xbbv\x83\xa2\x85\vQ\xb4p!\x8a\x15)D\xbf\xbe\xbd\xe8\xdf\xaf\xf7{e\xfb\xf5\xed\x45\xbf\xbe\xbd(^\xa4\xb0\xa9\xfc\xb5k7\"LD&\x14w\xee\xdc\xa3Q\x93\x16l\xdf\xbe\x93\x9c\x39sP\xa6t\xa9\x38O\n\x81\x99\x13\x43\xfe\xfe\xfe\x64\xcb\x91\x9f\xdcy\v\xf3\xe6\xcd\x1bsV\x1d\xca\xe2\xc5K\xc8\x96#?\xd9r\xe4\xa7@\xa1\xe2|\xf5U'~\xfa\xe9'\f\x6\x43\xac\xb5\xf9\xb1\xe9\xd1\xa3\x17\xd9r\xe4\xe7\xea\xd5\xab\xb1\xd6\xc6\xc9\x93'M\xfd\x94-G~\xea\xd5o\xc4\x88\x11#9{\xf6\xacY\xea\xdf\xb7\x7f?\xed;t$ \xc0,\xf5\xbd\x15\x1c\x1c\xcc\x9e={\x19\x32\x64(\x95*\xbbR\xaf~#\xc6\x8c\x1d\xc7\xcd\x9b\x37\xcd\xda\x8e|\x98\xb8\xd8\x66\xe7\xcc\x99K\xef\xde}\xdf[~\xe4\xc8Q\xb2\xe5\xc8\x1f\xee>\xe6\xd5\xeb\xd7\xb4j\xddV\x89\xba\xff\xf8X\xbf\x13&N\x9c\xc4\x8c\x19\x33\x63\xa5n\x11\x11\x11\xf9\xf8\x5\x4\x4\x90\x36\x63n\xf6\xff\xf4s\xa4\x65\x83\x82\x82\xf9\xea\xeb\xae\xacZ\xb5\x1a\0ooo\xd2\x66\xcc\xcd\xe9\xd3\x7f\xc6v\x98\x11\x32\x18\f<\x7f\xfe\xdc\xec\xc7\x62\xaf_\xbf\x61\xed\xda\xf5|\xdd\xa9\x1b\xc5J\x94\xa7S\xe7o\xf8\xe3\x8fSfm\xe3\x43\xfc\xf7\xfd\x17\x11\x91\xd8\xf1\x36\x39\xf4Y\xf6l\x1c?a\x9e\xfd\xfe\xd5\xab\xd7h\xd1\xe6K\x9e={Fi\x97\x92\xac^\xb3\x9e\x99\xb3\xe6\x86\xfaY\xef\xbe\x89\v\x17/a4\x1a\xcd\xd2\x66Xn\\\xff\x9bj\xaeUptr\x4\xa0l\x19\x17\xd2\xa7K\xc7\xdf\x37\xfe\x8e\xb5\x36\x63\x62\xe8\xb0\x91\xe4-P\x9c\xc5KWD\xf9\x35\x8b\x97\xae o\x81\Line truncated
|
||||
screenshot_at=2026-09-27T09:27:43Z
|
||||
@@ -0,0 +1 @@
|
||||
,e18747,x10sa-cons-02.psi.ch,28.09.2026 21:41,file:///home/e18747/.config/libreoffice/4;
|
||||
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 918 KiB |
|
After Width: | Height: | Size: 424 KiB |
|
After Width: | Height: | Size: 915 KiB |
|
After Width: | Height: | Size: 849 KiB |
|
After Width: | Height: | Size: 920 KiB |
|
After Width: | Height: | Size: 828 KiB |
|
After Width: | Height: | Size: 829 KiB |
|
After Width: | Height: | Size: 825 KiB |
@@ -0,0 +1,75 @@
|
||||
timestamp,energy_eV,flux_ph_s,beam_start_x_px,beam_start_y_px,vfm_ydr_start_mm,hfm_xd_start_mm,vfm_ydr_final_mm,hfm_xd_final_mm,beam_final_x_um,beam_final_y_um,vfm_y_mm,vfm_ydr_mm,vfm_pitch_mrad,hfm_x_mm,hfm_xd_mm,hfm_pitch_mrad
|
||||
2026-09-20T21:16:24,12400,8.60e+12,993,966,-0.84534,1.91200,-0.84534,1.91202,-0.2,0.3,-1.55385,-0.84534,2.98943,1.41177,1.91202,3.00093
|
||||
2026-09-20T21:24:44,12400,8.57e+12,993,969,-0.84534,1.91201,-0.84534,1.91200,-0.2,-0.1,-1.55385,-0.84534,2.98943,1.41178,1.91200,3.00090
|
||||
2026-09-20T21:28:14,12400,8.48e+12,992,967,-0.84535,1.91200,-0.84534,1.91200,0.1,0.3,-1.55385,-0.84534,2.98945,1.41178,1.91200,3.00093
|
||||
2026-09-21T08:55:37,12400,8.46e+12,993,970,-0.84534,1.91199,-0.84533,1.91199,-0.1,-0.3,-1.55384,-0.84533,2.98941,1.41177,1.91199,3.00092
|
||||
2026-09-21T14:34:03,13000,5.55e+12,1000,968,-0.84513,1.91200,-0.84512,1.91240,-0.1,-0.0,-1.55380,-0.84512,2.98985,1.41197,1.91240,3.00173
|
||||
2026-09-23T08:53:50,19500,4.06e+11,653,973,-0.84449,1.92951,-0.84448,1.91255,0.1,0.1,-1.55363,-0.84448,2.99111,1.41202,1.91255,3.00201
|
||||
2026-09-23T08:54:51,20000,1.36e+12,994,967,-0.84449,1.91255,-0.84448,1.91254,-0.1,0.2,-1.55363,-0.84448,2.99111,1.41203,1.91254,3.00207
|
||||
2026-09-23T13:13:02,20000,7.04e+12,1007,975,-0.84448,1.91250,-0.84449,1.91309,-0.3,-0.9,-1.55365,-0.84449,2.99113,1.41230,1.91309,3.00313
|
||||
2026-09-24T00:42:05,12400,7.96e+12,994,923,-0.84443,1.91307,-0.84566,1.91306,-0.0,-0.2,-1.55391,-0.84566,2.98872,1.41228,1.91306,3.00309
|
||||
2026-09-24T00:44:08,12400,8.00e+12,994,968,-0.84567,1.91304,-0.84567,1.91307,0.1,0.2,-1.55391,-0.84567,2.98870,1.41229,1.91307,3.00310
|
||||
2026-09-24T00:45:03,12402,7.81e+12,993,968,-0.84566,1.91304,-0.84567,1.91305,0.2,-0.0,-1.55390,-0.84566,2.98870,1.41229,1.91308,3.00311
|
||||
2026-09-24T00:46:04,12400,7.94e+12,990,968,-0.84565,1.91305,-0.84566,1.91306,0.2,0.2,-1.55390,-0.84565,2.98868,1.41230,1.91307,3.00313
|
||||
2026-09-24T12:08:20,12400,8.42e+12,989,970,-0.84568,1.91305,-0.84570,1.91307,0.9,-0.2,-1.55392,-0.84570,2.98867,1.41230,1.91307,3.00308
|
||||
2026-09-27T15:10:30,15000,-0.042,6.07e+11,987,963,-0.84510,1.91436,-0.84510,1.91436,0.8,0.8,-1.55386,-0.84510,2.99004,1.41296,1.91436,3.00560
|
||||
2026-09-27T15:12:34,12400,-0.044,8.30e+12,992,965,-0.84512,1.91435,-0.84511,1.91435,-0.0,0.7,-1.55386,-0.84511,2.99006,1.41295,1.91435,3.00558
|
||||
2026-09-28T18:13:02,12400,-0.044,8.25e+12,974,965,-0.84509,1.91433,-0.84506,1.91343,0.6,0.6,-1.55386,-0.84506,2.99014,1.41248,1.91343,3.00375
|
||||
2026-09-28T18:15:15,12400,-0.044,8.23e+12,992,965,-0.84505,1.91343,-0.84505,1.91344,0.1,0.8,-1.55385,-0.84505,2.99016,1.41250,1.91344,3.00375
|
||||
2026-09-28T18:17:05,12400,-0.044,8.25e+12,992,964,-0.84507,1.91345,-0.84507,1.91343,0.4,0.8,-1.55387,-0.84507,2.99013,1.41248,1.91343,3.00381
|
||||
2026-09-28T18:26:15,12400,-0.045,9.23e+12,990,965,-0.84507,1.91344,-0.84506,1.91342,0.5,0.5,-1.55386,-0.84506,2.99016,1.41248,1.91342,3.00378
|
||||
2026-09-28T18:29:25,12400,-0.045,9.25e+12,988,965,-0.84509,1.91343,-0.84506,1.91344,0.4,0.8,-1.55387,-0.84506,2.99014,1.41249,1.91344,3.00377
|
||||
2026-09-28T18:31:23,12400,-0.045,8.24e+12,992,965,-0.84508,1.91345,-0.84508,1.91342,0.2,0.5,-1.55387,-0.84508,2.99013,1.41248,1.91342,3.00377
|
||||
2026-09-28T21:37:21,12400,-0.045,8.16e+12,1006,972,-0.84504,1.91341,-0.84505,1.91414,0.2,-0.5,1.17,0.29,-1.55385,-0.84505,2.99013,1.41284,1.91414,3.00520
|
||||
2026-09-30T20:05:09,12400,-0.043,7.76e+12,1042,902,-0.83715,1.91288,-0.83893,1.91549,0.1,-0.3,10.45,1.36,-1.55113,-0.83893,2.99303,1.41354,1.91549,3.00780
|
||||
2026-09-30T20:20:59,12400,-0.043,8.27e+12,985,963,-0.83894,1.91541,-0.83893,1.91489,-0.4,0.8,13.04,1.33,-1.55112,-0.83894,2.99308,1.41324,1.91488,3.00663
|
||||
2026-10-01T08:38:35,12400,-0.043,9.06e+12,979,909,-0.83889,1.91485,-0.84048,1.91407,-0.1,-0.3,9.77,1.35,-1.55147,-0.84046,2.98990,1.41280,1.91409,3.00509
|
||||
2026-10-01T08:40:31,15000,-0.042,6.32e+11,995,981,-0.84048,1.91408,-0.83981,1.91408,-0.4,0.2,15.46,2.83,-1.55130,-0.83981,2.99123,1.41280,1.91408,3.00513
|
||||
2026-10-01T08:47:42,15000,-0.042,4.22e+12,991,940,-0.83982,1.91410,-0.84060,1.91407,0.3,-0.2,13.88,1.43,-1.55151,-0.84061,2.98968,1.41281,1.91409,3.00509
|
||||
2026-10-01T09:24:49,16000,-0.043,3.04e+12,994,969,-0.84058,1.91407,-0.84058,1.91409,0.3,0.1,20.87,1.84,-1.55150,-0.84059,2.98967,1.41281,1.91409,3.00515
|
||||
2026-10-02T10:16:22,12400,-0.044,9.91e+12,,,,,,,,,,,-1.55143,-0.84055,2.98973,1.41274,1.91402,3.00507
|
||||
2026-10-02T10:21:56,12400,-0.044,8.22e+12,1001,952,-0.84053,1.91404,-0.84102,1.91453,0.5,-0.5,11.20,1.19,-1.55155,-0.84100,2.98875,1.41302,1.91456,3.00614
|
||||
2026-10-02T11:46:02,12400,-0.046,7.47e+12,984,963,-0.84101,1.91456,-0.84101,1.91396,-0.5,0.7,10.91,1.12,-1.55155,-0.84101,2.98877,1.41272,1.91395,3.00500
|
||||
2026-10-02T14:27:48,12400,-0.046,7.51e+12,953,969,-0.84102,1.91394,-0.84101,1.91180,-0.2,0.3,13.01,1.65,-1.55155,-0.84102,2.98880,1.41165,1.91182,3.00066
|
||||
2026-10-04T17:23:05,12400,-0.047,8.06e+12,1035,1081,-0.84162,1.91194,-0.83864,1.91375,-0.5,0.0,18.41,0.86,-1.55117,-0.83864,2.99429,1.41264,1.91375,3.00441
|
||||
2026-10-04T17:30:34,12400,-0.047,9.24e+12,994,967,-0.83864,1.91375,-0.83864,1.91371,-0.1,0.3,16.19,0.80,-1.55118,-0.83863,2.99434,1.41263,1.91373,3.00435
|
||||
2026-10-05T13:58:52,20000,-0.045,1.28e+12,933,891,-0.83851,1.91371,-0.84056,1.91048,-1.1,0.1,26.14,-0.07,-1.55180,-0.84059,2.99023,1.41099,1.91048,2.99785
|
||||
2026-10-05T14:00:11,20000,-0.045,1.28e+12,1000,971,-0.84057,1.91048,-0.84056,1.91093,0.5,-0.3,27.35,-0.22,-1.55179,-0.84058,2.99021,1.41123,1.91093,2.99878
|
||||
2026-10-05T14:04:31,20000,-0.046,1.31e+12,997,969,-0.84057,1.91085,-0.84055,1.91086,-0.6,-0.1,24.26,-0.19,-1.55178,-0.84056,2.99024,1.41121,1.91086,2.99865
|
||||
2026-10-05T14:50:12,12400,-0.049,7.69e+12,1001,967,-0.84055,1.91084,-0.84056,1.91122,0.1,0.1,17.17,-0.34,-1.55176,-0.84054,2.99021,1.41137,1.91120,2.99932
|
||||
2026-10-05T14:52:28,12400,-0.050,7.64e+12,992,969,-0.84054,1.91118,-0.84055,1.91122,0.1,-0.0,17.85,-0.35,-1.55176,-0.84055,2.99023,1.41136,1.91119,2.99931
|
||||
2026-10-07T09:46:42,12400,-0.119,7.26e+12,,,,,,,,,,,-1.55153,-0.84025,2.99058,1.41125,1.91103,2.99908
|
||||
2026-10-07T09:50:26,12400,-0.119,7.24e+12,,,,,,,,,,,-1.55153,-0.84025,2.99055,1.41126,1.91104,2.99909
|
||||
2026-10-07T09:54:58,12400,-0.119,7.25e+12,,,,,,,,,,,-1.55159,-0.84048,2.99009,1.41034,1.90919,2.99541
|
||||
2026-10-07T22:12:48,12400,-0.120,8.57e+12,,,,,,,,,,,-1.55164,-0.84046,2.99019,1.41031,1.90915,2.99535
|
||||
2026-10-07T22:21:21,12400,-0.120,8.55e+12,1003,969,-0.84045,1.90916,-0.84045,1.90993,-6.0,0.0,31.82,-3.14,-1.55163,-0.84047,2.99011,1.41070,1.90993,2.99691
|
||||
2026-10-07T22:25:08,12400,-0.120,3.01e+12,886,960,-0.84046,1.90986,-0.84068,1.90511,0.8,0.1,259.20,-3.45,-1.55168,-0.84069,2.98967,1.40829,1.90511,2.98729
|
||||
2026-10-08T09:38:54,12400,-0.119,8.58e+12,1094,966,-0.84067,1.90501,-0.84067,1.91027,0.9,0.2,31.67,-2.49,-1.55168,-0.84066,2.98976,1.41088,1.91027,2.99759
|
||||
2026-10-08T11:18:52,,,8.65e+09,,,,,,,,,,,-1.55167,-0.84067,2.98977,1.41085,1.91025,2.99755
|
||||
2026-10-08T11:23:02,15999,-0.118,3.18e+12,988,945,-0.84066,1.91025,-0.84130,1.91026,0.6,0.1,40.53,-1.92,-1.55183,-0.84130,2.98850,1.41086,1.91026,2.99760
|
||||
2026-10-08T11:46:45,15999,-0.118,3.29e+12,990,966,-0.84128,1.91027,-0.84128,1.91024,0.5,0.4,38.28,-1.28,-1.55182,-0.84128,2.98846,1.41085,1.91027,2.99762
|
||||
2026-10-08T12:23:01,20000,-0.118,1.18e+12,981,951,-0.84128,1.91026,-0.84177,1.90955,-0.6,-0.1,37.40,-1.39,-1.55193,-0.84179,2.98751,1.41052,1.90955,2.99617
|
||||
2026-10-08T12:36:12,12398,-0.122,7.54e+12,1014,1011,-0.84177,1.90955,-0.84063,1.91046,-0.0,0.3,27.70,-2.63,-1.55164,-0.84064,2.98980,1.41097,1.91046,2.99798
|
||||
2026-10-08T14:05:15,12400,-0.125,7.53e+12,1010,997,-0.84063,1.91038,-0.83988,1.91091,-0.6,-0.2,22.53,-2.62,-1.55143,-0.83988,2.99126,1.41118,1.91089,2.99881
|
||||
2026-10-09T08:39:08,12400,-0.123,7.52e+12,1021,1015,-0.83960,1.91196,-0.83836,1.91302,-0.7,-0.0,25.21,-2.48,-1.55103,-0.83836,2.99472,1.41226,1.91302,3.00306
|
||||
2026-10-09T09:09:02,12400,-0.123,7.84e+12,975,956,-0.83837,1.91304,-0.83871,1.91193,-0.4,-0.1,26.17,-2.47,-1.55112,-0.83871,2.99398,1.41169,1.91192,3.00089
|
||||
2026-10-11T13:43:17,12400,-0.003,9.40e+12,1046,974,-0.84349,1.90884,-0.84328,1.91123,-0.5,0.3,-11.57,0.25,-1.55229,-0.84327,2.98450,1.41135,1.91124,2.99953
|
||||
2026-10-11T13:44:35,12400,-0.003,8.89e+12,959,963,-0.84328,1.91121,-0.84349,1.90923,-1.0,-0.5,4.12,-0.10,-1.55233,-0.84350,2.98406,1.41036,1.90923,2.99553
|
||||
2026-10-11T13:46:10,15000,0.000,3.88e+12,997,974,-0.84348,1.90922,-0.84349,1.90922,-0.5,-0.7,7.75,-0.22,-1.55235,-0.84348,2.98409,1.41036,1.90924,2.99551
|
||||
2026-10-11T13:57:05,15000,-0.000,3.88e+12,999,972,-0.84348,1.90924,-0.84346,1.90924,-0.8,-0.5,7.18,-0.03,-1.55236,-0.84348,2.98415,1.41037,1.90926,2.99557
|
||||
2026-10-11T14:06:33,15000,0.000,3.89e+12,1000,972,-0.84349,1.90922,-0.84349,1.90923,-0.9,-0.5,5.01,-0.04,-1.55235,-0.84347,2.98411,1.41035,1.90923,2.99548
|
||||
2026-10-11T14:14:45,12400,-0.002,8.88e+12,997,971,-0.84349,1.90924,-0.84350,1.90923,-0.8,-0.3,4.65,-0.12,-1.55235,-0.84350,2.98404,1.41035,1.90923,2.99552
|
||||
2026-10-11T14:30:55,12400,-0.002,8.87e+12,998,974,-0.84348,1.90922,-0.84349,1.90924,-1.0,-0.9,4.66,-0.26,-1.55235,-0.84350,2.98410,1.41035,1.90922,2.99549
|
||||
2026-10-11T14:46:28,12400,-0.002,8.73e+12,988,976,-0.84348,1.90922,-0.84349,1.90925,0.7,-1.1,9.50,-0.33,-1.55234,-0.84349,2.98406,1.41034,1.90921,2.99547
|
||||
2026-10-11T14:51:26,12400,-0.002,8.75e+12,995,975,-0.84349,1.90923,-0.84348,1.90921,-0.5,-0.9,7.19,-0.16,-1.55234,-0.84347,2.98412,1.41038,1.90924,2.99546
|
||||
2026-10-11T15:00:54,12400,-0.002,8.77e+12,995,977,-0.84350,1.90924,-0.84325,1.90923,-0.5,0.3,6.43,0.09,-1.55229,-0.84326,2.98451,1.41035,1.90923,2.99550
|
||||
2026-10-11T15:14:21,12400,-0.002,8.83e+12,993,971,-0.84326,1.90925,-0.84327,1.90924,-0.0,-0.2,6.62,-0.12,-1.55229,-0.84326,2.98454,1.41036,1.90923,2.99549
|
||||
2026-10-11T15:17:41,12400,-0.002,8.86e+12,995,968,-0.84327,1.90923,-0.84326,1.90921,-0.2,0.2,6.43,0.13,-1.55230,-0.84328,2.98450,1.41035,1.90922,2.99549
|
||||
2026-10-12T09:45:04,12400,0.000,8.91e+12,983,951,-0.84303,1.90992,-0.84353,1.90914,-0.7,-0.3,4.88,0.31,-1.55229,-0.84354,2.98386,1.41029,1.90909,2.99524
|
||||
2026-10-14T08:55:40,12400,0.000,8.77e+12,1033,1005,-0.84345,1.90907,-0.84247,1.91088,-0.5,0.3,10.83,0.85,-1.55198,-0.84249,2.98585,1.41119,1.91089,2.99878
|
||||
2026-10-15T09:34:37,12400,-0.000,8.83e+12,959,923,-0.84246,1.91085,-0.84368,1.90935,0.7,-0.0,8.69,0.17,-1.55226,-0.84369,2.98353,1.41042,1.90936,2.99573
|
||||
2026-10-16T08:40:24,12400,-0.000,8.80e+12,1004,979,-0.84368,1.90932,-0.84343,1.90991,0.2,0.1,13.56,0.51,-1.55222,-0.84343,2.98403,1.41066,1.90985,2.99675
|
||||
2026-10-16T15:14:36,12400,-0.000,8.78e+12,982,956,-0.84344,1.90983,-0.84379,1.90948,0.6,-0.1,12.88,0.34,-1.55234,-0.84380,2.98332,1.41047,1.90947,2.99601
|
||||
2026-10-17T12:28:51,12400,-0.038,9.12e+12,1017,1181,-0.84379,1.90942,-0.83817,1.91044,-0.2,-0.6,6.60,-5.16,-1.55092,-0.83817,2.99459,1.41097,1.91047,2.99800
|
||||
2026-10-17T21:52:03,12400,-0.042,9.16e+12,993,968,-0.83965,1.91067,-0.83966,1.91068,-0.2,0.1,6.30,-3.83,-1.55129,-0.83964,2.99155,1.41106,1.91066,2.99839
|
||||
2026-10-19T09:06:34,12400,-0.044,9.12e+12,987,952,-0.83966,1.91067,-0.84014,1.91068,0.8,-0.2,5.30,-4.09,-1.55137,-0.84013,2.99058,1.41107,1.91067,2.99843
|
||||
|
@@ -0,0 +1,21 @@
|
||||
"timestamp","energy_eV","id_gap_mm","pitch_offset_mrad","fe_x","fe_y","bsf_x","bsf_y","ss_x","ss_y","lu_Xnorm","lu_Ynorm","ss_Xnorm","ss_Ynorm","bcu_Xnorm","bcu_Ynorm","bcu_beam_x","bcu_beam_y"
|
||||
"2026-09-24T21:42:20",12400,5.307,-0.0426,0.14,0.872,0.099,0.153,0.215,-0.644,,,,,,,,
|
||||
"2026-09-28T19:57:16",12400,5.307,-0.0445,0.14,0.872,0.105,0.148,0.221,-0.64,,,,,,,,
|
||||
"2026-09-28T20:08:25",12400,5.307,-0.0444,0.14,0.872,0.104,0.148,0.224,-0.64,-0.0016,-0.0111,-0.014,,0.1135,-0.1181,,
|
||||
"2026-09-30T08:58:15",12400,5.307,-0.0445,0.14,0.886,0.104,0.17,0.196,-0.22,0.0816,0.4118,0.0335,,-0.1125,-0.8165,,
|
||||
"2026-09-30T09:08:53",12400,5.307,-0.0425,0.14,0.865,0.104,0.144,0.244,-1.018,-0.064,-0.2892,-0.0794,,0.0347,0.9834,,
|
||||
"2026-09-30T10:49:14",12400,5.307,-0.042,0.14,0.874,0.103,0.152,0.219,-0.635,0.0121,-0.0176,0.0116,,-0.0384,-0.0568,,
|
||||
"2026-09-30T11:04:59",12400,5.307,-0.0417,0.14,0.874,0.103,0.152,0.22,-0.641,0.0119,-0.0123,0.0135,-0.0026,-0.0427,-0.0612,,
|
||||
"2026-09-30T11:39:23",12400,5.307,-0.042,0.14,0.874,0.102,0.152,0.22,-0.641,0.0135,-0.0108,0.0095,0.0004,-0.0371,-0.0659,5.64,-1.65
|
||||
"2026-09-30T11:45:21",12400,5.307,-0.0417,0.14,0.874,0.102,0.152,0.224,-0.639,0.014,-0.0129,0.0118,-0.0001,-0.0399,-0.0652,6.1,-1.63
|
||||
2026-09-30T12:07:53,12400,5.307,-0.042,0.14,0.874,0.101,0.152,0.219,-0.639,0.0145,-0.0108,0.0138,0.000447,-0.0467,-0.066,7.24,-1.65
|
||||
2026-09-30T12:15:59,12400,5.307,-0.0418,0.14,0.874,0.101,0.152,0.221,-0.639,0.0144,-0.0105,0.012,-0.00118,-0.0414,-0.0618,6.36,-1.54
|
||||
2026-10-07T09:34:08,12400,5.307,-0.1193,0.130,0.881,0.088,0.163,0.184,-0.589,0.0961,0.0611,-0.0289,-0.1239,-0.1618,-0.0831,26.4,-2.1
|
||||
2026-10-11T14:05:28,12400,5.310,-0.0036,0.130,0.873,0.092,0.156,0.180,-0.637,0.0954,0.0073,-0.0118,0.0191,-0.0440,-0.0014,3.8,-0.1,0.25
|
||||
2026-10-11T14:14:13,12400,5.310,-0.0033,,,0.093,0.156,0.182,-0.636,0.0977,0.0072,-0.0168,0.0181,-0.0418,-0.0021,3.5,-0.1,0.25
|
||||
2026-10-11T14:23:25,12400,5.310,-0.0019,,,0.093,0.156,0.181,-0.637,0.1022,0.0046,-0.0068,0.0224,-0.0518,-0.0005,5.1,-0.1,0.25
|
||||
2026-10-11T14:30:23,12400,5.310,-0.0013,,,0.093,0.156,0.185,-0.635,0.0970,0.0061,-0.0078,0.0209,-0.0287,-0.0040,1.3,-0.2,0.25
|
||||
2026-10-11T14:45:55,12400,5.310,-0.0021,,,,,,,,,,,,,,,0.25
|
||||
2026-10-11T15:00:21,12400,5.310,-0.0023,0.130,0.873,0.093,0.174,0.177,-0.636,0.1009,0.0066,-0.0069,0.0183,-0.0608,-0.0088,6.6,-0.3,0.25
|
||||
2026-10-14T08:55:03,12400,5.310,0.0001,0.130,0.873,0.085,0.157,0.172,-0.638,0.1177,0.0063,-0.0048,0.0302,-0.0618,-0.0162,6.8,-0.5,0.25
|
||||
2026-10-17T12:28:09,12400,5.309,-0.0382,0.125,0.881,0.077,0.167,0.171,-0.529,0.1176,0.0800,-0.0212,-0.2063,-0.0501,-0.4810,4.8,-7.0,0.25
|
||||
|
@@ -0,0 +1,10 @@
|
||||
timestamp,energy_eV,id_gap_mm,pitch_offset_mrad,fe_x,fe_y,bsf_x,bsf_y,ss_x,ss_y,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_Xnorm,bcu_Ynorm,bcu_beam_x,bcu_beam_y
|
||||
2026-09-24T21:42:20,12400.0338140146,5.307,-0.042640079687493,0.140288499999999,0.872397500000001,0.097923887634334,0.153298136901654,0.21542,-0.64411,,,,,,,,
|
||||
2026-09-28T19:57:16,12399.9628462791,5.307,-0.044554079687435,0.140375499999999,0.872320000000001,0.105040205383357,0.148134944152631,0.22142,-0.6395,,,,,,,,
|
||||
2026-09-28T20:08:25,12399.9609373482,5.307,-0.044496079687582,0.1403535,0.872312500000001,0.104503286743221,0.148356196594037,0.22431,-0.64021,-0.001605502500174,-0.011175883290173,-0.01409593110007,,0.11351579437023,-0.118069917719052,,
|
||||
2026-09-30T08:58:15,12399.7329928229,5.307,-0.044525079687622,0.139911,0.88608,0.10406555023199,0.17099928588847,0.19652,-0.2202,0.081590727629084,0.411812820368516,0.033582789254866,,-0.112479632399972,-0.816516017074602,,
|
||||
2026-09-30T09:08:53,12399.747477715,5.307,-0.042524079687558,0.139926999999998,0.864803500000001,0.103701246643123,0.143616435241498,0.24392,-1.0175,-0.063997780917417,-0.289248157407647,-0.079407668513141,,0.034774101807238,0.983399612330604,,
|
||||
2026-09-30T10:49:14,12400.0475135773,5.30728340148926,-0.042002079687512,0.139973999999999,0.8737165,0.103015554809627,0.152205226135052,0.2194,-0.6346,0.012092898871937,-0.017654174479793,0.01164915499848,,-0.038458560216091,-0.056822442194876,,
|
||||
2026-09-30T11:04:59,12400.034824637,5.30728340148926,-0.041712079687562,0.140038499999999,0.873851000000002,0.102714193725642,0.152251956176556,0.22052,-0.64071,0.01188100007843,-0.012323516377797,0.013475582102897,-0.002578973845116,-0.042749327098526,-0.061238705041222,,
|
||||
2026-09-30T11:39:23,12400,5.307,-0.042,0.140108499999998,0.873990000000001,0.102007521057185,0.152334925842084,0.22002,-0.64121,0.0135,-0.0108,0.0095,0.000379,-0.0371,-0.0659,5.64,-1.65
|
||||
2026-09-30T11:45:21,12400,5.307,-0.0417,0.14,0.874,0.102,0.152,0.224,-0.639,0.014,-0.0129,0.0118,-0.0001,-0.0399,-0.0652,6.1,-1.63
|
||||
|
@@ -55,8 +55,8 @@ aerotech:
|
||||
deviceConfig:
|
||||
prefix: http://mx-x10sa-queue-01:5234
|
||||
deviceTags:
|
||||
- motors
|
||||
- aerotech
|
||||
- motors
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
@@ -65,15 +65,15 @@ aerotech:
|
||||
mount: 0
|
||||
work: 0
|
||||
x:
|
||||
in: -8.1e-06
|
||||
in: 0.05999735
|
||||
out: -10
|
||||
safe: -50
|
||||
y:
|
||||
mount: -0.0
|
||||
work: -0.02600108
|
||||
work: -0.03099898
|
||||
z:
|
||||
mount: 0
|
||||
work: -0.00900383
|
||||
work: -0.0090031
|
||||
bcu_bpm1:
|
||||
description: BCU BPM Channel 1
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
@@ -302,7 +302,7 @@ bs_x:
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
userParameter:
|
||||
in: 0.39119736
|
||||
in: 0.44000227
|
||||
bs_y:
|
||||
description: Beamstop Y
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
@@ -314,7 +314,7 @@ bs_y:
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
userParameter:
|
||||
in: 0.76699895
|
||||
in: -3.3000017
|
||||
bs_z:
|
||||
description: Beamstop Z
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
@@ -330,7 +330,7 @@ bs_z:
|
||||
max_blout: 70
|
||||
min: 13
|
||||
safe: 45.1
|
||||
samp: 16.408
|
||||
samp: 16.80557617
|
||||
type: continuous
|
||||
work_min: 20
|
||||
bsf_f1_y:
|
||||
@@ -444,7 +444,7 @@ coll_x:
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
userParameter:
|
||||
in: 0.67471002
|
||||
in: 0.68249115
|
||||
coll_y:
|
||||
description: Collimator Y
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
@@ -456,7 +456,7 @@ coll_y:
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
userParameter:
|
||||
in: 39.02
|
||||
in: 39.01884961
|
||||
intermediate: 32
|
||||
out: 20.002
|
||||
park: 1
|
||||
@@ -560,6 +560,8 @@ dcm_pitch:
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
userParameter:
|
||||
offset: 0
|
||||
dcm_x:
|
||||
description: DCM Lateral
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
@@ -1310,6 +1312,17 @@ samcam_sigma:
|
||||
onFailure: buffer
|
||||
readOnly: true
|
||||
readoutPriority: monitored
|
||||
samcam_thresh:
|
||||
description: Sample Camera Threshold
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig:
|
||||
auto_monitor: true
|
||||
read_pv: X10SA-ES-MS:Stats5:CentroidThreshold
|
||||
deviceTags:
|
||||
- scam
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
samcam_x:
|
||||
description: Sample Camera X
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
@@ -1322,6 +1335,29 @@ samcam_x:
|
||||
onFailure: buffer
|
||||
readOnly: true
|
||||
readoutPriority: monitored
|
||||
samcam_xcurs:
|
||||
description: Sample Camera X Cursor
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig:
|
||||
auto_monitor: true
|
||||
read_pv: X10SA-ES-MS:Stats5:CursorX
|
||||
deviceTags:
|
||||
- scam
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readoutPriority: baseline
|
||||
samcam_xcursprof:
|
||||
description: Sample Camera X Cursor Profile
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig:
|
||||
auto_monitor: true
|
||||
read_pv: X10SA-ES-MS:Stats5:ProfileCursorX_RBV
|
||||
deviceTags:
|
||||
- scam
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readOnly: true
|
||||
readoutPriority: monitored
|
||||
samcam_xsig:
|
||||
description: Sample Camera X Sigma
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
@@ -1346,6 +1382,18 @@ samcam_y:
|
||||
onFailure: buffer
|
||||
readOnly: true
|
||||
readoutPriority: monitored
|
||||
samcam_ycursprof:
|
||||
description: Sample Camera Y Cursor Profile
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig:
|
||||
auto_monitor: true
|
||||
read_pv: X10SA-ES-MS:Stats5:ProfileCursorY_RBV
|
||||
deviceTags:
|
||||
- scam
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readOnly: true
|
||||
readoutPriority: monitored
|
||||
samcam_ysig:
|
||||
description: Sample Camera Y Sigma
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
@@ -1723,7 +1771,6 @@ transm:
|
||||
deviceClass: ophyd_devices.EpicsSignal
|
||||
deviceConfig:
|
||||
read_pv: X10SA-ES-SSFI:TRANSM-SET
|
||||
write_pv: X10SA-ES-SSFI:TRANSM-SET
|
||||
deviceTags:
|
||||
- transm
|
||||
enabled: true
|
||||
|
||||
@@ -2,68 +2,71 @@ def evalflux():
|
||||
|
||||
from APscripts import read_data_csv, fitpoly
|
||||
|
||||
data=read_data_csv('FLUX_x10sa_20260709_174259.txt')
|
||||
|
||||
einv=data[:, 0]
|
||||
fcalfinv = data[:, 6] # if energy top down
|
||||
data = read_data_csv("FLUX_x10sa_20260709_174259.txt")
|
||||
|
||||
einv = data[:, 0]
|
||||
fcalfinv = data[:, 6] # if energy top down
|
||||
|
||||
e = einv[::-1]
|
||||
flcf = fcalfinv[::-1]
|
||||
|
||||
# omit the last values (>= 27 keV)
|
||||
|
||||
len(e) # = 25
|
||||
len(e) # = 25
|
||||
e = e[0:21]
|
||||
flcf =flcf[0:21]/1.e9 ## divide by 1e9 for better readability
|
||||
flcf = flcf[0:21] / 1.0e9 ## divide by 1e9 for better readability
|
||||
|
||||
fitpoly(e, flcf, 3)
|
||||
|
||||
# Polynomial coefficients of the fit fct: 3 [-0.00026213 0.01171065 -0.05379571 0.04478851]
|
||||
|
||||
|
||||
def csplinex(x,y,en):
|
||||
def csplinex(x, y, en):
|
||||
from scipy.interpolate import CubicSpline
|
||||
|
||||
# Create spline
|
||||
cs = CubicSpline(x, y)
|
||||
y_cs = cs(en)
|
||||
y_cs = cs(en)
|
||||
return y_cs
|
||||
|
||||
|
||||
|
||||
def flux_bcu():
|
||||
e = get_current_energy()/1000.
|
||||
bcusum = read_av(dev.bcu_bpmsum,10)
|
||||
flux = fl_bcubpm(e,bcusum)
|
||||
return f"{flux:.2e}"
|
||||
|
||||
e = get_current_energy() / 1000.0
|
||||
bcusum = read_av(dev.bcu_bpmsum, 10)
|
||||
flux = fl_bcubpm(e, bcusum)
|
||||
return f"{flux:.2e}"
|
||||
|
||||
|
||||
def flux_i1():
|
||||
e = get_current_energy()/1000
|
||||
i1 = read_av(dev.i1,10)
|
||||
e = get_current_energy() / 1000
|
||||
i1 = read_av(dev.i1, 10)
|
||||
flux = fl_i1(e, i1)
|
||||
return f"{flux:.2e}"
|
||||
|
||||
def fl_bcubpm(e,bcusum):
|
||||
import numpy as np
|
||||
fact = 1.e9
|
||||
coeff = [-0.00026213, 0.01171065, -0.05379571, 0.04478851]
|
||||
if e > 24 :
|
||||
coeff = [4.83704287e-05, -3.17174523e-03, 7.33131161e-02, -5.91926617e-01, 1.66572494e+00]
|
||||
return f"{flux:.2e}"
|
||||
|
||||
|
||||
def fl_bcubpm(e, bcusum):
|
||||
import numpy as np
|
||||
|
||||
fact = 1.0e9
|
||||
coeff = [-0.00026213, 0.01171065, -0.05379571, 0.04478851]
|
||||
if e > 24:
|
||||
coeff = [4.83704287e-05, -3.17174523e-03, 7.33131161e-02, -5.91926617e-01, 1.66572494e00]
|
||||
polynomial = np.poly1d(coeff)
|
||||
fl = polynomial(e) * bcusum * fact
|
||||
#print(f'flux from {bcusum} with en {e} is {fl:.2e} ph/s')
|
||||
|
||||
return fl
|
||||
|
||||
def fl_i1(e,i1):
|
||||
# print(f'flux from {bcusum} with en {e} is {fl:.2e} ph/s')
|
||||
|
||||
return fl
|
||||
|
||||
|
||||
def fl_i1(e, i1):
|
||||
import pandas as pd
|
||||
|
||||
file = "luts/I1flcalf.csv"
|
||||
df = pd.read_csv(file)
|
||||
df = pd.read_csv(file)
|
||||
a = df["En"]
|
||||
b = df["Fl/I1"]
|
||||
|
||||
fl_i1 = csplinex(a,b,e) *i1
|
||||
print(f'flux from {i1} with en {e} is {fl_i1:.2} ph/s ')
|
||||
|
||||
fl_i1 = csplinex(a, b, e) * i1
|
||||
print(f"flux from {i1} with en {e} is {fl_i1:.2} ph/s ")
|
||||
|
||||
return fl_i1
|
||||
@@ -13,10 +13,12 @@ class KBMirror:
|
||||
self.P2 = 0.583490
|
||||
self.P3 = -0.372950
|
||||
self.L1 = -0.955798
|
||||
self.curv_approx_fact = 0.9550 # 0.9550 # origin: 1.0121
|
||||
self.s1 = 24.15
|
||||
self.curv_approx_fact = 0.9550 # 0.9550 # origin: 1.0121
|
||||
self.s1 = 24.15
|
||||
self.s2 = 1.45
|
||||
self.asym0 = 0.114 ## origin: 0.0.08 + 0.034 # user asymm, eg 0.4750, will be added ( - sign)
|
||||
self.asym0 = (
|
||||
0.114 ## origin: 0.0.08 + 0.034 # user asymm, eg 0.4750, will be added ( - sign)
|
||||
)
|
||||
|
||||
elif self.mirror_type == "PXII_HFM":
|
||||
self.C0 = 0.060453
|
||||
@@ -24,10 +26,12 @@ class KBMirror:
|
||||
self.P2 = 0.586057
|
||||
self.P3 = -0.088093
|
||||
self.L1 = -0.999445
|
||||
self.curv_approx_fact = 0.8810 # origin: # 0.995
|
||||
self.s1 = 24.90
|
||||
self.curv_approx_fact = 0.8810 # origin: # 0.995
|
||||
self.s1 = 24.90
|
||||
self.s2 = 0.7
|
||||
self.asym0 = 0.06455 ## origin: -0.0107 + 0.07525 # added user asymm 2.75 (-sign)
|
||||
self.asym0 = (
|
||||
0.06455 ## origin: -0.0107 + 0.07525 # added user asymm 2.75 (-sign)
|
||||
)
|
||||
|
||||
else:
|
||||
raise ValueError(f"Unknown mirror type: {self.mirror_type}")
|
||||
@@ -59,7 +63,7 @@ class KBMirror:
|
||||
return s2, R
|
||||
|
||||
def get_benders(self, th=3.0, defocus_mm=0.0, user_asymmetry=0.0):
|
||||
asym = self.asym0 - user_asymmetry #### sign is important!
|
||||
asym = self.asym0 - user_asymmetry #### sign is important!
|
||||
s2_target = self.s2 + defocus_mm / 1000
|
||||
curv = self.ellipse_to_curvature(s2_target, th)
|
||||
BU, BD = self.curvature_to_bend(curv, asym)
|
||||
@@ -69,16 +73,12 @@ class KBMirror:
|
||||
curv, asym = self.bend_to_curvature(BU, BD)
|
||||
s2_rb, R0 = self.curvature_to_ellipse(curv, th)
|
||||
defocus_mm = (s2_rb - self.s2) * 1000
|
||||
bend_rad_m = 1/curv *1000
|
||||
bend_rad_m = 1 / curv * 1000
|
||||
return {
|
||||
"curvature": curv,
|
||||
"bend_rad_m": bend_rad_m,
|
||||
"bend_rad0_m": R0,
|
||||
"bend_rad_m": bend_rad_m,
|
||||
"bend_rad0_m": R0,
|
||||
"asymmetry": asym,
|
||||
"s2": s2_rb,
|
||||
"defocus_mm": defocus_mm
|
||||
"defocus_mm": defocus_mm,
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,8 +45,40 @@ def exponential_func2(x, a, b, c, d):
|
||||
|
||||
##################################
|
||||
|
||||
|
||||
# ##### Sept 2026 Data ######################################
|
||||
def return_harmon():
|
||||
# from 3rd to 19th Energy range from 6 keV to 30 keV
|
||||
# harmonics, Sept 2026
|
||||
import numpy as np
|
||||
|
||||
nharm = 19
|
||||
h = [np.array([]) for _ in range(nharm + 1)]
|
||||
h[0] = np.array([0])
|
||||
h[1] = np.array([0])
|
||||
h[2] = np.array([0])
|
||||
h[3] = np.array([0.095, -0.276, 4.154]) # 3rd harmon
|
||||
h[4] = np.array([0.00692593, -0.131504, 1.45763, -0.864603])
|
||||
h[5] = np.array([0.00269444 , - 0.0616905 , 0.967925, - 0.295405])
|
||||
h[6] = np.array([ 0.00248148 , - 0.0767908 , 1.2178 , - 1.91516 ])
|
||||
h[7] = np.array([0.00110017 , - 0.0369968 , 0.77334 ,- 0.688198 ])
|
||||
h[8] = np.array([0.000643939 , - 0.0226645 , 0.570453 , - 0.0479048 ])
|
||||
h[9] = np.array([0.00021633 , -0.00619517 , 0.315392 , 0.971667 ])
|
||||
h[10] = np.array([ 0.000708236 , - 0.0357576 , 0.851686 - 2.48765 ])
|
||||
h[11] = np.array([ 0.000589549 , -0.0328631 , 0.837705 , - 2.90326 ])
|
||||
h[12] = np.array([ 0.00218182 , 0.1212 , 1.74739 ])
|
||||
h[13] = np.array([ 0.197702, 0.757869 ])
|
||||
h[14] = np.array([ 0.183733, 0.762778 ])
|
||||
h[15] = np.array([ 0.170381, 0.783155 ])
|
||||
h[16] = np.array([ 0.157321, 0.850464 ])
|
||||
h[17] = np.array([0.1466, 0.8906 ])
|
||||
h[18] = np.array([0.1362, 0.9538 ])
|
||||
h[19] = np.array([0.128, 0.985 ])
|
||||
|
||||
|
||||
return h
|
||||
|
||||
# ##### July 2025 Data ######################################
|
||||
def return_harmon_old():
|
||||
# from 3rd to 21th Energy range from 6 keV to 30 keV
|
||||
# harmonics, July 2025
|
||||
import numpy as np
|
||||
@@ -97,7 +129,7 @@ def plot_harmon(e_start, e_end, h_no, pr_out=False):
|
||||
plt.show()
|
||||
|
||||
|
||||
def setu19(en, *harm_no, detune=0):
|
||||
def setu19(en, *harm_no, detune=0, simul = 0, iexp = 0):
|
||||
"""
|
||||
set the U19 to the gaps defined in Jul2025, or the "theoretical" ones for higher
|
||||
harmonics
|
||||
@@ -106,32 +138,43 @@ def setu19(en, *harm_no, detune=0):
|
||||
en in keV, possibly select a special harmonics, or detune [0/1] to a value
|
||||
with a nicer beam shape but less flux
|
||||
"""
|
||||
g0 = dev.id_gap.readback.get()
|
||||
|
||||
fitpar_u19 = np.array([2.17078531, 0.519452, -0.00720255]) # measured from U19
|
||||
if not simul:
|
||||
g0 = dev.id_gap.readback.get()
|
||||
|
||||
#fitpar_u19 = np.array([2.17078531, 0.519452, -0.00720255]) # measured from U19
|
||||
fitpar_u19 = np.array([ 2.22322523, 0.50396248, -0.00783873]) # measured from U19, Sept2026
|
||||
|
||||
h_all = return_harmon()
|
||||
# dep on energy -> select harmonics
|
||||
if harm_no:
|
||||
harm = int(harm_no[0])
|
||||
|
||||
print("Selected harmonics is:", harm)
|
||||
|
||||
else:
|
||||
print("Using the default optimised harmonics")
|
||||
if en <= 7:
|
||||
harm = 3 # h = h[3]
|
||||
elif 7 < en <= 10:
|
||||
elif 7 < en <= 10.5:
|
||||
harm = 5
|
||||
elif 10 < en <= 13:
|
||||
elif 10.5 < en < 13:
|
||||
harm = 7
|
||||
elif 13 < en <= 16:
|
||||
elif 13 <= en <= 16.5:
|
||||
harm = 9
|
||||
elif 16 < en <= 19:
|
||||
elif 16.5 < en <= 19.5:
|
||||
harm = 11
|
||||
elif 19 < en <= 22:
|
||||
elif 19.5 < en <= 22.5:
|
||||
harm = 13
|
||||
elif 22.5 < en <= 25.5: ## 22
|
||||
harm = 15
|
||||
elif 25.5 < en <= 28.5: ## 22
|
||||
harm = 17
|
||||
elif 28.5 < en <= 30: ## 22
|
||||
harm = 19
|
||||
|
||||
|
||||
|
||||
if en <= 22:
|
||||
if (en <= 30 and harm <=19):
|
||||
h = h_all[harm]
|
||||
print(f"harmonics is {harm}.")
|
||||
|
||||
@@ -146,32 +189,33 @@ def setu19(en, *harm_no, detune=0):
|
||||
# 29: 15, 17, 19
|
||||
# 30: 19
|
||||
##
|
||||
if 23 < en <= 25:
|
||||
n = 15
|
||||
if (iexp and harm_no):
|
||||
harm_selected = int(harm_no[0])
|
||||
print("Selected harmonics is:", harm_selected)
|
||||
n= harm_selected
|
||||
enorm = en / n
|
||||
g = exponential_func0(enorm, fitpar_u19[0], fitpar_u19[1], fitpar_u19[2])
|
||||
elif 25 < en <= 29:
|
||||
n = 17
|
||||
enorm = en / n
|
||||
g = exponential_func0(enorm, fitpar_u19[0], fitpar_u19[1], fitpar_u19[2])
|
||||
elif 29 < en:
|
||||
n = 19
|
||||
elif (iexp):
|
||||
n = harm # default for that energy range, as set before
|
||||
enorm = en / n
|
||||
print('exp fct fit used')
|
||||
g = exponential_func0(enorm, fitpar_u19[0], fitpar_u19[1], fitpar_u19[2])
|
||||
|
||||
print("Undulator has been ", g0, " mm")
|
||||
if 4.5 <= g <= 20:
|
||||
print("Moving Undulator gap to ", g, " mm")
|
||||
else:
|
||||
print("not a valid gap, do nothing")
|
||||
|
||||
if not simul:
|
||||
print("Undulator has been ", g0, " mm")
|
||||
if 4.5 <= g <= 20:
|
||||
print("Moving Undulator gap to ", g, " mm")
|
||||
else:
|
||||
print("not a valid gap, do nothing")
|
||||
|
||||
if detune:
|
||||
g = g * 0.996
|
||||
print("moving to detuned gap value, slightly below max, about 0.15 % ")
|
||||
if detune:
|
||||
g = g * 0.996
|
||||
print("moving to detuned gap value, slightly below max, about 0.15 % ")
|
||||
# print("move disabled!!")
|
||||
res = scans.umv(dev.id_gap, g, relative=False)
|
||||
scans.umv(dev.id_gap, g, relative=False)
|
||||
|
||||
return
|
||||
return round(g,4)
|
||||
|
||||
|
||||
##################################
|
||||
@@ -192,7 +236,8 @@ def harmon_walk(estart=7.5, end_en=13):
|
||||
|
||||
##################################
|
||||
def gap_harm(e=12.4):
|
||||
fitpar_u19 = np.array([2.17078531, 0.519452, -0.00720255])
|
||||
# old values fitpar_u19 = np.array([2.17078531, 0.519452, -0.00720255])
|
||||
fitpar_u19 = np.array([2.22322523, 0.50396248, -0.00783873])
|
||||
fitpar_u17 = np.array([2.17078572, 0.46477267, -0.005766])
|
||||
e = float(input("Please enter an energy between 6 and 30: "))
|
||||
|
||||
@@ -305,9 +350,26 @@ def long_gscan(estart=6, end_en=30.5, g_low=4.5, g_high=9.0, nsteps=1000, sett =
|
||||
|
||||
return
|
||||
|
||||
def plottest(wname):
|
||||
#wname="GapScan"
|
||||
existing_docks = bec.gui.windows
|
||||
if existing_docks.get(wname) is None:
|
||||
dock_area = bec.gui.new(name=wname, geometry = [4000, 900, 700, 700])
|
||||
wr = dock_area.new(bec.gui.available_widgets.Waveform, object_name="Plot")
|
||||
mot = dev.id_gap
|
||||
det = dev.lu_bpmsum
|
||||
else:
|
||||
dock_area = open_docks[wname]
|
||||
wr= dock_area.Plot
|
||||
wr.plot(device_x=mot, device_y=det) ## names first !
|
||||
# wr.plot(x=mot.name,y=det.name) ### this comes later
|
||||
wr.x_label = mot.name
|
||||
wr.y_label = det.name
|
||||
|
||||
|
||||
|
||||
##################################
|
||||
def gscan(centre=0, gomax=0, detune=0,sett=1):
|
||||
def gscan(deltag = 0.05,centre=0, gomax=0, detune=0,sett=1, silent=0, iplot=1, isave=0):
|
||||
"""
|
||||
Scan the ID GAP and go
|
||||
to the max of lu_bpm intensity
|
||||
@@ -319,34 +381,58 @@ def gscan(centre=0, gomax=0, detune=0,sett=1):
|
||||
"""
|
||||
import time
|
||||
|
||||
dock_area = bec.gui.new(name="GapScan", geometry = [4000, 900, 700, 700])
|
||||
wr = dock_area.new(bec.gui.available_widgets.Waveform)
|
||||
wname="GapScan"
|
||||
|
||||
mot = dev.id_gap
|
||||
det = dev.lu_bpmsum
|
||||
det = dev.lu_bpmsum
|
||||
|
||||
existing_docks = bec.gui.windows
|
||||
if existing_docks.get(wname) is None:
|
||||
dock_area = bec.gui.new(name=wname, geometry = [4000, 900, 700, 700])
|
||||
wr = dock_area.new(bec.gui.available_widgets.Waveform, object_name="Plot")
|
||||
else:
|
||||
dock_area = existing_docks[wname]
|
||||
wr= dock_area.Plot
|
||||
wr.clear_all()
|
||||
wr.plot(device_x=mot, device_y=det) ## names first !
|
||||
# wr.plot(x=mot.name,y=det.name) ### this comes later
|
||||
wr.x_label = mot.name
|
||||
wr.y_label = det.name
|
||||
|
||||
g0 = dev.id_gap.readback.get()
|
||||
deltag = 0.05
|
||||
#deltag = 0.05
|
||||
steps = 30
|
||||
resol = 2*deltag/steps
|
||||
if resol < 0.002:
|
||||
resol = 0.003
|
||||
steps = round(2*deltag/resol)
|
||||
|
||||
start=-deltag
|
||||
stop = deltag
|
||||
print(f"Gap resol is {resol} mm ")
|
||||
|
||||
ds = scans.line_scan(dev.id_gap, -deltag, deltag, steps=steps, settling_time=sett,exp_time=0.5, relative=True)
|
||||
if (g0-deltag < 4.5):
|
||||
start=g0-4.5
|
||||
ds = scans.line_scan(dev.id_gap, start, stop, steps=steps, settling_time=sett,exp_time=0.1, relative=True)
|
||||
gap_data = ds.scan.live_data.id_gap.id_gap.val
|
||||
bpm_data = ds.scan.live_data.lu_bpmsum.lu_bpmsum.val
|
||||
|
||||
gap_data=np.array(gap_data)
|
||||
bpm_data = np.array(bpm_data)
|
||||
|
||||
|
||||
if isave:
|
||||
en = round(getenergy())
|
||||
dirname = "/sls/x10sa/config/commissioning/Data/GapsFE_0p3/"
|
||||
combined = np.column_stack((gap_data, bpm_data))
|
||||
filename = dirname + "gap" + str(en)+"_"+str(g0*100)[0:3]+ ".txt"
|
||||
with open(filename, "w") as f:
|
||||
np.savetxt(f, combined, delimiter=",", fmt="%5f")
|
||||
|
||||
|
||||
maxy = max(bpm_data)
|
||||
indmax = np.argmax(bpm_data)
|
||||
gm = gap_data[indmax]
|
||||
gmax = gap_data[indmax]
|
||||
|
||||
gcen, xm = fit_plot(gap_data, bpm_data, model="voigt")
|
||||
gcen, xm = fit_plot(gap_data, bpm_data, tmodel="voigt", silent=silent, iplot=iplot)
|
||||
|
||||
if gomax:
|
||||
gm = xm
|
||||
@@ -354,6 +440,8 @@ def gscan(centre=0, gomax=0, detune=0,sett=1):
|
||||
gm = gcen
|
||||
|
||||
print("gap off by ", g0 - gm, " mm")
|
||||
|
||||
print(f"gcen = {gcen}, gmax = {xm} or {gmax}")
|
||||
if detune:
|
||||
gm = gm * 0.996
|
||||
print("moving to detuned gap value, slightly (0.15 %) below max")
|
||||
@@ -366,4 +454,31 @@ def gscan(centre=0, gomax=0, detune=0,sett=1):
|
||||
else:
|
||||
print("Fit too far off, try using option gomax=1")
|
||||
|
||||
return
|
||||
return gm, xm
|
||||
|
||||
##################################
|
||||
|
||||
def bfield_x10sa(gap):
|
||||
if gap < 4.5 or gap > 20:
|
||||
print("no valid gap!")
|
||||
return
|
||||
|
||||
### values for the U19
|
||||
l_u = 19
|
||||
a = 3.22482942
|
||||
b = -0.30100054
|
||||
c = 0.00808649
|
||||
|
||||
b0 = exponential_func0(gap, a,b,c )
|
||||
b0= round(b0,4)
|
||||
# K = e/mc * l_u/2pi * B
|
||||
k = round(0.0934 *l_u * b0,2)
|
||||
|
||||
print(f'### X10SA and U19 ### ')
|
||||
print(f'for a gap of {gap} mm : ')
|
||||
print(f'B0 = {b0}')
|
||||
print(f'K = {k}')
|
||||
|
||||
return b0, k
|
||||
|
||||
##################################
|
||||
@@ -0,0 +1,645 @@
|
||||
"""Analyse LUT data to determine fits for DCM and undulator parameters."""
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
from scipy.signal import savgol_filter
|
||||
|
||||
from pxii_bec.scripts import beamline_context as bl
|
||||
|
||||
|
||||
|
||||
def get_data(filename):
|
||||
"""Open the raw DCM calibration data file."""
|
||||
|
||||
filename = bl.env.lut_dir / f"{filename}"
|
||||
|
||||
return pd.read_csv(filename)
|
||||
|
||||
|
||||
def format_polynomial(fit):
|
||||
"""Return polynomial coefficients as a readable equation string."""
|
||||
|
||||
terms = []
|
||||
order = len(fit) - 1
|
||||
|
||||
for i, coeff in enumerate(fit):
|
||||
power = order - i
|
||||
|
||||
if power > 1:
|
||||
term = f"{coeff:+.3e} x^{power}"
|
||||
elif power == 1:
|
||||
term = f"{coeff:+.3e} x"
|
||||
else:
|
||||
term = f"{coeff:+.4f}"
|
||||
|
||||
terms.append(term)
|
||||
|
||||
return " ".join(terms).lstrip("+")
|
||||
|
||||
|
||||
def plot_lut(
|
||||
ax,
|
||||
arr,
|
||||
fit_order,
|
||||
xname=None,
|
||||
yname=None,
|
||||
title=None,
|
||||
show_equation=True,
|
||||
):
|
||||
"""
|
||||
Fit LUT data and draw the data and fit onto an existing axes.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
ax : matplotlib.axes.Axes
|
||||
Axes on which to draw the plot.
|
||||
arr : numpy.ndarray
|
||||
Two-column array containing x and y data.
|
||||
fit_order : int
|
||||
Polynomial order to fit.
|
||||
xname : str, optional
|
||||
X-axis label.
|
||||
yname : str, optional
|
||||
Y-axis label.
|
||||
title : str, optional
|
||||
Plot title.
|
||||
show_equation : bool, optional
|
||||
Display the fitted polynomial on the plot.
|
||||
|
||||
Returns
|
||||
-------
|
||||
numpy.ndarray
|
||||
Polynomial coefficients.
|
||||
"""
|
||||
|
||||
x = arr[:, 0]
|
||||
y = arr[:, 1]
|
||||
|
||||
fit = np.polyfit(x, y, fit_order)
|
||||
p = np.poly1d(fit)
|
||||
|
||||
x_range = np.linspace(x.min(), x.max(), 100)
|
||||
|
||||
ax.scatter(
|
||||
x,
|
||||
y,
|
||||
label="Data",
|
||||
color="rebeccapurple",
|
||||
)
|
||||
|
||||
ax.plot(
|
||||
x_range,
|
||||
p(x_range),
|
||||
label="Polynomial fit",
|
||||
color="lightcoral",
|
||||
)
|
||||
|
||||
if xname is not None:
|
||||
ax.set_xlabel(xname)
|
||||
|
||||
if yname is not None:
|
||||
ax.set_ylabel(yname)
|
||||
|
||||
if title is not None:
|
||||
ax.set_title(title)
|
||||
|
||||
if show_equation:
|
||||
equation = format_polynomial(fit)
|
||||
|
||||
ax.text(
|
||||
0.02,
|
||||
0.02,
|
||||
equation,
|
||||
transform=ax.transAxes,
|
||||
fontsize=9,
|
||||
verticalalignment="bottom",
|
||||
bbox=dict(
|
||||
boxstyle="round",
|
||||
facecolor="whitesmoke",
|
||||
edgecolor="lightgray",
|
||||
alpha=0.8,
|
||||
),
|
||||
)
|
||||
|
||||
return fit
|
||||
|
||||
|
||||
def lut_plot(
|
||||
arr,
|
||||
xname,
|
||||
yname,
|
||||
title,
|
||||
fit_order,
|
||||
save=False,
|
||||
):
|
||||
"""
|
||||
Create a standalone LUT plot.
|
||||
|
||||
This is useful for calibration plots such as DCM pitch where only
|
||||
one fit is required.
|
||||
"""
|
||||
|
||||
savefile = bl.env.lut_dir / f"{title}.png"
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
|
||||
fit = plot_lut(
|
||||
ax,
|
||||
arr,
|
||||
fit_order,
|
||||
xname=xname,
|
||||
yname=yname,
|
||||
title=title,
|
||||
show_equation=True,
|
||||
)
|
||||
|
||||
ax.legend(fontsize=9)
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
if save:
|
||||
fig.savefig(savefile, bbox_inches="tight")
|
||||
plt.close(fig)
|
||||
else:
|
||||
plt.show()
|
||||
|
||||
print(np.poly1d(fit))
|
||||
|
||||
return fit
|
||||
|
||||
def pitch_analysis(filename, save=False):
|
||||
"""Compare DCM pitch calibration against energy and Bragg angle."""
|
||||
|
||||
df = get_data(filename)
|
||||
|
||||
fits = {}
|
||||
|
||||
for xname, fit_order in [("energy", 4), ("bragg", 2)]:
|
||||
|
||||
x = df[xname].to_numpy()
|
||||
pitch = df["pitch"].to_numpy()
|
||||
|
||||
fit = lut_plot(
|
||||
df[[xname, "pitch"]].to_numpy(),
|
||||
xname="Energy" if xname == "energy" else "Bragg angle",
|
||||
yname="pitch",
|
||||
title=f"DCM_Pitch_Calibration_{xname}",
|
||||
fit_order=fit_order,
|
||||
save=save,
|
||||
)
|
||||
|
||||
# Calculate residuals
|
||||
fitted_pitch = np.polyval(fit, x)
|
||||
residuals = pitch - fitted_pitch
|
||||
|
||||
rms = np.sqrt(np.mean(residuals**2))
|
||||
max_residual = np.max(np.abs(residuals))
|
||||
|
||||
print(f"\n{xname.capitalize()} fit (order {fit_order})")
|
||||
print(f"RMS residual: {rms:.6g}")
|
||||
print(f"Max residual: {max_residual:.6g}")
|
||||
|
||||
for xi, residual in zip(x, residuals):
|
||||
print(f" {xi:10.3f}: {residual:+.6g}")
|
||||
|
||||
fits[xname] = {
|
||||
"fit": fit,
|
||||
"residuals": residuals,
|
||||
"rms": rms,
|
||||
"max_residual": max_residual,
|
||||
}
|
||||
|
||||
return fits
|
||||
|
||||
def pitch_analysis_bragg(filename, fit_order=2, save=False):
|
||||
"""Fit and plot the DCM pitch calibration."""
|
||||
|
||||
df = get_data(filename)
|
||||
|
||||
pitch = df[["bragg", "pitch"]]
|
||||
|
||||
fit = lut_plot(
|
||||
pitch.to_numpy(),
|
||||
xname="Bragg angle",
|
||||
yname="pitch",
|
||||
title="DCM_Pitch_Calibration",
|
||||
fit_order=fit_order,
|
||||
save=save,
|
||||
)
|
||||
|
||||
return fit
|
||||
|
||||
def pitch_analysis_energy(filename, fit_order=3, save=False):
|
||||
"""Fit and plot the DCM pitch calibration."""
|
||||
|
||||
df = get_data(filename)
|
||||
|
||||
pitch = df[["energy", "pitch"]]
|
||||
|
||||
fit = lut_plot(
|
||||
pitch.to_numpy(),
|
||||
xname="energy",
|
||||
yname="pitch",
|
||||
title="DCM_Pitch_Calibration",
|
||||
fit_order=fit_order,
|
||||
save=save,
|
||||
)
|
||||
|
||||
return fit
|
||||
|
||||
def ge_edge_analysis(filename, save=False):
|
||||
"""
|
||||
Analyse a Ge K-edge scan.
|
||||
|
||||
Finds the approximate absorption edge from the largest negative
|
||||
derivative of the BCU BPM sum signal.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
filename : str
|
||||
CSV filename without the .csv extension.
|
||||
save : bool, optional
|
||||
Save the plots to the LUT directory instead of displaying them.
|
||||
|
||||
Returns
|
||||
-------
|
||||
dict
|
||||
Measured edge energy, expected edge energy, energy offset,
|
||||
and derivative data.
|
||||
"""
|
||||
|
||||
# Known Ge K absorption edge
|
||||
expected_edge = 11103.1 # eV
|
||||
|
||||
df = get_data(filename)
|
||||
|
||||
energy = df["Energy"].to_numpy()
|
||||
signal1 = df["bcu_bpmsum"].to_numpy()
|
||||
signal = df["transmission"].to_numpy()
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Calculate derivative
|
||||
# ----------------------------------------------------------
|
||||
# smooth_signal = savgol_filter(
|
||||
# signal,
|
||||
# window_length=11,
|
||||
# polyorder=2,
|
||||
# )
|
||||
# derivative = np.gradient(smooth_signal, energy)
|
||||
|
||||
derivative = np.gradient(signal, energy)
|
||||
|
||||
# Ge absorption causes the BPM signal to fall, so locate
|
||||
# the strongest negative derivative.
|
||||
edge_idx = np.argmin(derivative)
|
||||
|
||||
measured_edge = energy[edge_idx]
|
||||
edge_derivative = derivative[edge_idx]
|
||||
|
||||
energy_offset = expected_edge - measured_edge
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Print results
|
||||
# ----------------------------------------------------------
|
||||
|
||||
print()
|
||||
print("Ge K-edge analysis")
|
||||
print("------------------")
|
||||
print(f"Expected edge: {expected_edge:.2f} eV")
|
||||
print(f"Measured edge: {measured_edge:.2f} eV")
|
||||
print(f"Energy offset: {energy_offset:+.2f} eV")
|
||||
print()
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Plot BPM signal
|
||||
# ----------------------------------------------------------
|
||||
|
||||
fig1, ax1 = plt.subplots()
|
||||
|
||||
ax1.plot(
|
||||
energy,
|
||||
signal,
|
||||
"o-",
|
||||
markersize=4,
|
||||
label="Data",
|
||||
)
|
||||
|
||||
# ax1.plot(
|
||||
# energy,
|
||||
# smooth_signal,
|
||||
# "-",
|
||||
# label="Smoothed",
|
||||
# )
|
||||
|
||||
ax1.axvline(
|
||||
measured_edge,
|
||||
linestyle="--",
|
||||
label=f"Measured edge: {measured_edge:.2f} eV",
|
||||
)
|
||||
if energy.min() <= expected_edge <= energy.max():
|
||||
ax1.axvline(
|
||||
expected_edge,
|
||||
linestyle=":",
|
||||
label=f"Expected edge: {expected_edge:.1f} eV",
|
||||
)
|
||||
|
||||
ax1.set_xlabel("Energy (eV)")
|
||||
ax1.set_ylabel("Transmission (BCU BPM / SS BPM)")
|
||||
ax1.set_title("Ge K-edge scan")
|
||||
ax1.legend()
|
||||
|
||||
fig1.tight_layout()
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Plot derivative
|
||||
# ----------------------------------------------------------
|
||||
|
||||
fig2, ax2 = plt.subplots()
|
||||
|
||||
ax2.plot(
|
||||
energy,
|
||||
derivative,
|
||||
"o-",
|
||||
markersize=4,
|
||||
)
|
||||
|
||||
ax2.plot(
|
||||
measured_edge,
|
||||
edge_derivative,
|
||||
"o",
|
||||
markersize=8,
|
||||
label=f"Edge: {measured_edge:.2f} eV",
|
||||
)
|
||||
|
||||
ax2.axvline(
|
||||
measured_edge,
|
||||
linestyle="--",
|
||||
)
|
||||
|
||||
ax2.set_xlabel("Energy (eV)")
|
||||
ax2.set_ylabel("d(Transmission) / dE")
|
||||
ax2.set_title("Ge K-edge derivative")
|
||||
ax2.legend()
|
||||
|
||||
fig2.tight_layout()
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Save or display
|
||||
# ----------------------------------------------------------
|
||||
|
||||
if save:
|
||||
signal_file = bl.env.daily_setup_dir / "Ge_edge_signal.png"
|
||||
derivative_file = bl.env.daily_setup_dir / "Ge_edge_derivative.png"
|
||||
|
||||
fig1.savefig(signal_file, bbox_inches="tight", dpi=150)
|
||||
fig2.savefig(derivative_file, bbox_inches="tight", dpi=150)
|
||||
|
||||
plt.close(fig1)
|
||||
plt.close(fig2)
|
||||
|
||||
print(f"Saved: {signal_file}")
|
||||
print(f"Saved: {derivative_file}")
|
||||
|
||||
else:
|
||||
plt.show()
|
||||
|
||||
return {
|
||||
"expected_edge": expected_edge,
|
||||
"measured_edge": measured_edge,
|
||||
"energy_offset": energy_offset,
|
||||
"signal_png": signal_file,
|
||||
"derivative_png": derivative_file,
|
||||
}
|
||||
|
||||
def perp_analysis(filename):
|
||||
"""Select the DCM perpendicular translation calibration data."""
|
||||
|
||||
df = get_data(filename)
|
||||
sel = df[['energy','dcm_perp', 'xi_cam_x']]
|
||||
savefile = bl.env.lut_dir / "perp_actual_calc.csv"
|
||||
with open(savefile, 'w', encoding='utf-8') as f:
|
||||
f.write("energy,calc_perp,actual_perp\n")
|
||||
|
||||
energies = [8000, 10000, 12400, 15000, 18000, 20000, 22000, 25000]
|
||||
for energy in energies:
|
||||
|
||||
data = sel[sel['energy']== energy]
|
||||
print(data)
|
||||
|
||||
target = 149.4 # value of xi_cam_x at 12.4 keV
|
||||
|
||||
x = data["dcm_perp"].to_numpy()
|
||||
y = data["xi_cam_x"].to_numpy()
|
||||
|
||||
# Linear fit: gap = slope * energy + intercept
|
||||
slope, intercept = np.polyfit(x, y, 1)
|
||||
|
||||
# perp_value = intercept/-slope
|
||||
perp_value = (target - intercept)/slope
|
||||
calc_per = calc_perp_position(energy)
|
||||
|
||||
|
||||
with open(savefile, 'a', encoding='utf-8') as f:
|
||||
f.write(f"{energy},{calc_per:.4f},{perp_value:.4f}\n")
|
||||
|
||||
# print(
|
||||
# f"Energy = {energy} eV, "
|
||||
# f"Calculated perp = {calc_per:.4f}, "
|
||||
# f"Actual perp = {perp_value:.4f}"
|
||||
# )
|
||||
|
||||
|
||||
# fig, ax = plt.subplots(figsize = (5,7))
|
||||
# ax.scatter(x,y)
|
||||
# ax.set_title(f"{energy}")
|
||||
|
||||
# # Generate fitted line only over the measured range
|
||||
# x_fit = np.linspace(x.min(), x.max(), 100)
|
||||
# y_fit = slope * x_fit + intercept
|
||||
|
||||
# # # Plot fit first and get its automatically assigned colour
|
||||
# line, = ax.plot(
|
||||
# x_fit,
|
||||
# y_fit,
|
||||
# label=energy,
|
||||
# )
|
||||
# plt.show()
|
||||
|
||||
# return results
|
||||
|
||||
# conv_factor = 12365.75 / (2 * 3.13481)
|
||||
|
||||
# df["costheta"] = np.cos(conv_factor / df["energy"])
|
||||
|
||||
# perp = df[["costheta", "bsccam_x"]]
|
||||
|
||||
# return (
|
||||
# perp.to_numpy(),
|
||||
# "costheta",
|
||||
# "bsccam_x",
|
||||
# )
|
||||
|
||||
|
||||
def roll_analysis():
|
||||
"""Select the DCM roll calibration data."""
|
||||
|
||||
df = get_data()
|
||||
|
||||
roll = df[["energy", "roll"]]
|
||||
|
||||
# Select the useful linear range
|
||||
roll = roll[
|
||||
(roll["roll"] > 0.1)
|
||||
& (roll["roll"] < 9.6)
|
||||
]
|
||||
|
||||
return (
|
||||
roll.to_numpy(),
|
||||
"energy",
|
||||
"roll",
|
||||
)
|
||||
|
||||
|
||||
def gap_analysis(save=False):
|
||||
"""
|
||||
Fit and plot the undulator gap calibration for all harmonics.
|
||||
|
||||
Produces one plot containing all harmonic data and linear fits.
|
||||
Prints fit coefficients in a format that can be copied directly
|
||||
into pxii_parameters.py.
|
||||
"""
|
||||
|
||||
df = get_data()
|
||||
gap = df[["energy", "gap", "harmonic"]]
|
||||
|
||||
fig, ax = plt.subplots(figsize=(10, 7))
|
||||
|
||||
results = {}
|
||||
HARMONICS = [
|
||||
"H3",
|
||||
"H5",
|
||||
"H7",
|
||||
"H9",
|
||||
"H11",
|
||||
"H13",
|
||||
"H15",
|
||||
"H17",
|
||||
"H19",
|
||||
]
|
||||
for harmonic in HARMONICS:
|
||||
|
||||
data = gap[gap["harmonic"] == harmonic]
|
||||
|
||||
if data.empty:
|
||||
print(f"{harmonic}: no data")
|
||||
continue
|
||||
|
||||
x = data["energy"].to_numpy()
|
||||
y = data["gap"].to_numpy()
|
||||
|
||||
# Linear fit: gap = slope * energy + intercept
|
||||
slope, intercept = np.polyfit(x, y, 1)
|
||||
|
||||
# Store results
|
||||
min_gap_energy = (4.5 - intercept) / slope
|
||||
|
||||
results[harmonic] = {
|
||||
"slope": slope,
|
||||
"intercept": intercept,
|
||||
"min_gap_energy": min_gap_energy,
|
||||
}
|
||||
|
||||
# Generate fitted line only over the measured range
|
||||
x_fit = np.linspace(x.min(), x.max(), 100)
|
||||
y_fit = slope * x_fit + intercept
|
||||
|
||||
# Plot fit first and get its automatically assigned colour
|
||||
line, = ax.plot(
|
||||
x_fit,
|
||||
y_fit,
|
||||
label=harmonic,
|
||||
)
|
||||
|
||||
# Plot measured points using the same colour
|
||||
ax.scatter(
|
||||
x,
|
||||
y,
|
||||
color=line.get_color(),
|
||||
s=35,
|
||||
zorder=3,
|
||||
)
|
||||
|
||||
ax.set_xlabel("energy (eV)")
|
||||
ax.set_ylabel("gap (mm)")
|
||||
ax.set_title("Undulator Gap Calibration")
|
||||
|
||||
ax.legend(
|
||||
title="Harmonic",
|
||||
fontsize=9,
|
||||
)
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
if save:
|
||||
savefile = bl.env.lut_dir / "Undulator_Gap_Calibration.png"
|
||||
|
||||
fig.savefig(
|
||||
savefile,
|
||||
bbox_inches="tight",
|
||||
dpi=150,
|
||||
)
|
||||
|
||||
plt.close(fig)
|
||||
|
||||
else:
|
||||
plt.show()
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Print fit summary
|
||||
# ----------------------------------------------------------
|
||||
|
||||
print()
|
||||
print("Linear fits: gap = slope * energy + intercept")
|
||||
print()
|
||||
print(
|
||||
f"{'Harmonic':<10}"
|
||||
f"{'Slope':>16}"
|
||||
f"{'Intercept':>16}"
|
||||
f"{'Energy at 4.5 mm':>20}"
|
||||
)
|
||||
|
||||
print("-" * 62)
|
||||
|
||||
for harmonic, result in results.items():
|
||||
|
||||
print(
|
||||
f"{harmonic:<10}"
|
||||
f"{result['slope']:>16.8e}"
|
||||
f"{result['intercept']:>16.8e}"
|
||||
f"{result['min_gap_energy']:>16.0f} eV"
|
||||
)
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Print copy/paste-ready parameters
|
||||
# ----------------------------------------------------------
|
||||
|
||||
print()
|
||||
print("Copy/paste into pxii_parameters:")
|
||||
print()
|
||||
print("harmonics = {")
|
||||
|
||||
for harmonic, result in results.items():
|
||||
|
||||
print(
|
||||
f' "{harmonic}": '
|
||||
f'np.array(['
|
||||
f'{result["slope"]:.8e}, '
|
||||
f'{result["intercept"]:.8e}'
|
||||
f']),'
|
||||
)
|
||||
|
||||
print("}")
|
||||
|
||||
return results
|
||||
|
||||
@@ -6,7 +6,7 @@ import time
|
||||
import numpy as np
|
||||
|
||||
|
||||
def compute_norm(n_readings=5):
|
||||
def compute_norm_bcu(n_readings=5):
|
||||
"""Average normalized BPM X/Y from repeated sets of four channels."""
|
||||
|
||||
xn_values = []
|
||||
@@ -31,20 +31,36 @@ def compute_norm(n_readings=5):
|
||||
|
||||
time.sleep(0.1)
|
||||
|
||||
return float(np.mean(xn_values)), float(np.mean(yn_values))
|
||||
return {
|
||||
"bcu_Xnorm": float(np.mean(xn_values)),
|
||||
"bcu_Ynorm": float(np.mean(yn_values)),
|
||||
}
|
||||
|
||||
|
||||
def get_bcu_beampos():
|
||||
"""Determine beam position"""
|
||||
bpm_xn, bpm_yn = compute_norm()
|
||||
"""Determine beam position from BCU BPM"""
|
||||
# Check that there is a reading first
|
||||
if get_value(dev.bcu_bpmsum) < 1:
|
||||
return {
|
||||
"ok": False,
|
||||
"message": "Reading too low on BCU BPM"
|
||||
}
|
||||
|
||||
result = compute_norm_bcu()
|
||||
bpm_x = dev.bcu_bpm_x.position
|
||||
bpm_y = dev.bcu_bpm_y.position
|
||||
|
||||
beam_x = beam_offset_um(bpm_xn, bpm_x, BPM_X_Calibration)
|
||||
beam_x = beam_offset_um(result["bcu_Xnorm"], bpm_x, BCU_BPM_X_Calibration)
|
||||
|
||||
beam_y = beam_offset_um(bpm_yn, bpm_y, BPM_Y_Calibration)
|
||||
beam_y = beam_offset_um(result["bcu_Ynorm"], bpm_y, BCU_BPM_Y_Calibration)
|
||||
|
||||
return beam_x, beam_y
|
||||
return {
|
||||
"ok": True,
|
||||
"bcu_Xnorm": result["bcu_Xnorm"],
|
||||
"bcu_Ynorm": result["bcu_Ynorm"],
|
||||
"bcu_x_um": beam_x,
|
||||
"bcu_y_um": beam_y,
|
||||
}
|
||||
|
||||
|
||||
def beam_offset_um(bpm_signal, bpm_motor_position, calibration):
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
from collections import defaultdict, deque
|
||||
from enum import Enum
|
||||
|
||||
# from pxii_bec.scripts import beamline_context as bl
|
||||
|
||||
# from enums import BeamlineState, TemperatureMode
|
||||
@@ -74,7 +75,6 @@ class StateChangePlanner:
|
||||
state_name = BeamlineState(state_name)
|
||||
target = self._merged_state(state_name, modifier)
|
||||
|
||||
|
||||
plan = self._plan(target)
|
||||
|
||||
print("PLAN:")
|
||||
@@ -102,7 +102,7 @@ class StateChangePlanner:
|
||||
def available_states(self):
|
||||
"""Return a list of available states"""
|
||||
return list(self.states.keys())
|
||||
|
||||
|
||||
def state_devices(self):
|
||||
"""Return the set of devices that participate in
|
||||
beamline state definitions"""
|
||||
@@ -111,14 +111,13 @@ class StateChangePlanner:
|
||||
|
||||
for state in self.states.values():
|
||||
devices.update(state.keys())
|
||||
|
||||
|
||||
return sorted(devices)
|
||||
|
||||
def get_positions(self):
|
||||
"""Return current positions of devices that are used
|
||||
in state transitions"""
|
||||
return {name: self.devices[name].pos
|
||||
for name in self.state_devices()}
|
||||
return {name: self.devices[name].pos for name in self.state_devices()}
|
||||
|
||||
def print_positions(self):
|
||||
"""Return current state of all devices"""
|
||||
@@ -131,7 +130,7 @@ class StateChangePlanner:
|
||||
"""Return a dict of {device: (before, after)} pairs for devices that changed state"""
|
||||
after = self.get_positions()
|
||||
return {k: (before[k], after[k]) for k in before if before[k] != after[k]}
|
||||
|
||||
|
||||
def __get_closest_states(self):
|
||||
"""
|
||||
Return states ordered by number of mismatches.
|
||||
@@ -148,21 +147,9 @@ class StateChangePlanner:
|
||||
for dev, expected in config.items():
|
||||
|
||||
if not self.devices[dev].is_at(expected):
|
||||
mismatches.append(
|
||||
(
|
||||
dev,
|
||||
self.devices[dev].pos,
|
||||
expected,
|
||||
)
|
||||
)
|
||||
mismatches.append((dev, self.devices[dev].pos, expected))
|
||||
|
||||
results.append(
|
||||
(
|
||||
state.name,
|
||||
len(mismatches),
|
||||
mismatches,
|
||||
)
|
||||
)
|
||||
results.append((state.name, len(mismatches), mismatches))
|
||||
|
||||
return sorted(results, key=lambda x: x[1])
|
||||
|
||||
@@ -173,10 +160,7 @@ class StateChangePlanner:
|
||||
print(f"\n{state}: {count} mismatch(es)")
|
||||
|
||||
for dev, actual, expected in mismatches:
|
||||
print(
|
||||
f" {dev:15s} "
|
||||
f"{actual:10s} -> {expected}"
|
||||
)
|
||||
print(f" {dev:15s} " f"{actual:10s} -> {expected}")
|
||||
|
||||
def current_state(self):
|
||||
"""Return all current matching BeamlineState and TemperatureMode combinations,
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
def beampos_with_en(planner):
|
||||
deltat = 2
|
||||
record_beampos_until("23:00",planner,interval_minutes=deltat)
|
||||
deltat = 2
|
||||
record_beampos_until("23:00", planner, interval_minutes=deltat)
|
||||
bl_energy(6000)
|
||||
record_beampos_until("00:00",planner,interval_minutes=deltat)
|
||||
bl_energy(8000)
|
||||
record_beampos_until("01:00",planner,interval_minutes=deltat)
|
||||
bl_energy(10000)
|
||||
record_beampos_until("02:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("00:00", planner, interval_minutes=deltat)
|
||||
bl_energy(8000)
|
||||
record_beampos_until("01:00", planner, interval_minutes=deltat)
|
||||
bl_energy(10000)
|
||||
record_beampos_until("02:00", planner, interval_minutes=deltat)
|
||||
bl_energy(12000)
|
||||
record_beampos_until("03:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("03:00", planner, interval_minutes=deltat)
|
||||
bl_energy(12400)
|
||||
record_beampos_until("04:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("04:00", planner, interval_minutes=deltat)
|
||||
bl_energy(14000)
|
||||
record_beampos_until("05:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("05:00", planner, interval_minutes=deltat)
|
||||
bl_energy(16000)
|
||||
record_beampos_until("06:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("06:00", planner, interval_minutes=deltat)
|
||||
bl_energy(18000)
|
||||
record_beampos_until("07:00",planner,interval_minutes=deltat)
|
||||
record_beampos_until("07:00", planner, interval_minutes=deltat)
|
||||
@@ -63,14 +63,7 @@ def build_devices(yaml_file):
|
||||
return state_devices
|
||||
|
||||
|
||||
def update_position(
|
||||
device,
|
||||
position,
|
||||
value,
|
||||
axis=None,
|
||||
force=False,
|
||||
max_delta=0.5,
|
||||
):
|
||||
def update_position(device, position, value, axis=None, force=False, max_delta=0.5):
|
||||
"""
|
||||
Update a single saved position in memory.
|
||||
|
||||
@@ -189,13 +182,7 @@ def update_positions(updates):
|
||||
return save_and_reload()
|
||||
|
||||
|
||||
def save_current_position(
|
||||
device,
|
||||
position,
|
||||
axis=None,
|
||||
force=False,
|
||||
max_delta=0.5,
|
||||
):
|
||||
def save_current_position(device, position, axis=None, force=False, max_delta=0.5):
|
||||
"""
|
||||
Save the current motor position as a named position.
|
||||
"""
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
from dataclasses import dataclass
|
||||
import numpy as np
|
||||
|
||||
# from pxii_parameters import (EnergyDefaults, CamConversion)
|
||||
|
||||
|
||||
@@ -60,9 +61,7 @@ def convert_to_degrees(angle_mrad: float) -> float:
|
||||
return np.rad2deg(angle_mrad / 1000)
|
||||
|
||||
|
||||
def create_conversion_result(
|
||||
energy_ev: float, wavelength: float, bragg_angle_mrad: float
|
||||
) -> dict:
|
||||
def create_conversion_result(energy_ev: float, wavelength: float, bragg_angle_mrad: float) -> dict:
|
||||
"""
|
||||
Creates a dictionary containing converted values of energy and angles.
|
||||
|
||||
@@ -226,9 +225,7 @@ def validate_energy(energy_ev):
|
||||
return energy_ev
|
||||
|
||||
|
||||
def convert_from_bragg(
|
||||
bragg_angle_mrad: float, temp=120, print_result: bool = False
|
||||
) -> dict:
|
||||
def convert_from_bragg(bragg_angle_mrad: float, temp=120, print_result: bool = False) -> dict:
|
||||
"""
|
||||
Convert the Bragg angle to wavelength and energy, returning the result as a dictionary.
|
||||
|
||||
@@ -274,9 +271,7 @@ def convert_from_energy(energy_ev: float, temp=120, print_result: bool = False)
|
||||
"""
|
||||
energy_ev = validate_energy(energy_ev)
|
||||
wavelength = calculate_wavelength_from_energy(energy_ev)
|
||||
bragg_angle_mrad = float(
|
||||
calculate_bragg_angle_from_wavelength(wavelength, temp=temp)
|
||||
)
|
||||
bragg_angle_mrad = float(calculate_bragg_angle_from_wavelength(wavelength, temp=temp))
|
||||
result = create_conversion_result(energy_ev, wavelength, bragg_angle_mrad)
|
||||
if print_result:
|
||||
print_conversion_result(result)
|
||||
@@ -284,9 +279,7 @@ def convert_from_energy(energy_ev: float, temp=120, print_result: bool = False)
|
||||
|
||||
|
||||
def convert_from_wavelength(
|
||||
wavelength: float,
|
||||
temp: float = 120,
|
||||
print_result: bool = False,
|
||||
wavelength: float, temp: float = 120, print_result: bool = False
|
||||
) -> dict:
|
||||
"""
|
||||
Convert a given wavelength value into corresponding energy, Bragg angle, and
|
||||
@@ -312,19 +305,14 @@ def convert_from_wavelength(
|
||||
outside of the permitted range, returns None.
|
||||
"""
|
||||
energy_ev = calculate_energy_from_wavelength(wavelength)
|
||||
bragg_angle_mrad = float(
|
||||
calculate_bragg_angle_from_wavelength(wavelength, temp=temp)
|
||||
)
|
||||
bragg_angle_mrad = float(calculate_bragg_angle_from_wavelength(wavelength, temp=temp))
|
||||
result = create_conversion_result(energy_ev, wavelength, bragg_angle_mrad)
|
||||
if print_result:
|
||||
print_conversion_result(result)
|
||||
return result
|
||||
|
||||
|
||||
def calc_perp_position(
|
||||
energy_ev: float,
|
||||
print_result: bool = False,
|
||||
) -> float:
|
||||
def calc_perp_position(energy_ev: float, beam_offset = None, print_result: bool = False) -> float:
|
||||
"""
|
||||
Calculate the perpendicular motor position based on provided energy in electron-volts (eV).
|
||||
|
||||
@@ -344,8 +332,12 @@ def calc_perp_position(
|
||||
None
|
||||
"""
|
||||
result = convert_from_energy(energy_ev, print_result=False)
|
||||
|
||||
if beam_offset is None:
|
||||
beam_offset = EnergyDefaults.beam_offset
|
||||
|
||||
bragg_angle_rad = result["bragg_angle_mrad"] / 1000
|
||||
perp_offset = float(EnergyDefaults.beam_offset / (2 * np.cos(bragg_angle_rad))) - 3
|
||||
perp_offset = float(beam_offset / (2 * np.cos(bragg_angle_rad))) - 3
|
||||
if print_result:
|
||||
print(f"Perp = {perp_offset: .4f}")
|
||||
return perp_offset
|
||||
@@ -355,7 +347,7 @@ def calc_scam_microns(pixels, zoom=1000):
|
||||
"""Convert pixels to microns for the sample camera"""
|
||||
return float(pixels / (CamConversion.a * np.exp(CamConversion.b * zoom)))
|
||||
|
||||
|
||||
def calc_sscam_microns(pixels):
|
||||
"""Convert pixels to microns for the ss camera"""
|
||||
return pixels*20
|
||||
|
||||
return pixels * 20
|
||||
@@ -8,35 +8,172 @@ import numpy as np
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
from pxii_bec.scripts import beamline_context as bl
|
||||
from pxii_bec.macros.beamline_planner import BeamlineState
|
||||
|
||||
# def compute_norm(n_readings=5):
|
||||
# """Average normalized BPM X/Y from repeated sets of four channels."""
|
||||
|
||||
# xn_values = []
|
||||
# yn_values = []
|
||||
def compute_norm_ss(n_readings=5):
|
||||
"""Average normalized BPM X/Y from repeated sets of four channels."""
|
||||
|
||||
# for _ in range(n_readings):
|
||||
# bpm1 = dev.bcu_bpm1.read()["bcu_bpm1"]["value"]
|
||||
# bpm2 = dev.bcu_bpm2.read()["bcu_bpm2"]["value"]
|
||||
# bpm3 = dev.bcu_bpm3.read()["bcu_bpm3"]["value"]
|
||||
# bpm4 = dev.bcu_bpm4.read()["bcu_bpm4"]["value"]
|
||||
xn_values = []
|
||||
yn_values = []
|
||||
for _ in range(n_readings):
|
||||
bpm1 = dev.ss_bpm1.read()["ss_bpm1"]["value"]
|
||||
bpm2 = dev.ss_bpm2.read()["ss_bpm2"]["value"]
|
||||
bpm3 = dev.ss_bpm3.read()["ss_bpm3"]["value"]
|
||||
bpm4 = dev.ss_bpm4.read()["ss_bpm4"]["value"]
|
||||
|
||||
# total = bpm1 + bpm2 + bpm3 + bpm4
|
||||
total = bpm1 + bpm2 + bpm3 + bpm4
|
||||
|
||||
# if total == 0:
|
||||
# continue
|
||||
if total == 0:
|
||||
continue
|
||||
|
||||
# xn = ((bpm1 + bpm2) - (bpm3 + bpm4)) / total
|
||||
# yn = ((bpm1 + bpm3) - (bpm2 + bpm4)) / total
|
||||
xn = ((bpm1 + bpm2) - (bpm3 + bpm4)) / total
|
||||
yn = ((bpm1 + bpm3) - (bpm2 + bpm4)) / total
|
||||
|
||||
# xn_values.append(xn)
|
||||
# yn_values.append(yn)
|
||||
xn_values.append(xn)
|
||||
yn_values.append(yn)
|
||||
|
||||
# time.sleep(0.1)
|
||||
time.sleep(0.1)
|
||||
|
||||
# return float(np.mean(xn_values)), float(np.mean(yn_values))
|
||||
return {
|
||||
"ss_Xnorm": float(np.mean(xn_values)),
|
||||
"ss_Ynorm": float(np.mean(yn_values)),
|
||||
}
|
||||
|
||||
|
||||
def compute_norm_lu(n_readings=5):
|
||||
"""Average normalized BPM X/Y from repeated sets of four channels."""
|
||||
|
||||
xn_values = []
|
||||
yn_values = []
|
||||
|
||||
for _ in range(n_readings):
|
||||
bpm1 = dev.lu_bpm1.read()["lu_bpm1"]["value"]
|
||||
bpm2 = dev.lu_bpm2.read()["lu_bpm2"]["value"]
|
||||
bpm3 = dev.lu_bpm3.read()["lu_bpm3"]["value"]
|
||||
bpm4 = dev.lu_bpm4.read()["lu_bpm4"]["value"]
|
||||
|
||||
total = bpm1 + bpm2 + bpm3 + bpm4
|
||||
|
||||
if total == 0:
|
||||
continue
|
||||
|
||||
xn = ((bpm1 + bpm2) - (bpm3 + bpm4)) / total
|
||||
yn = ((bpm1 + bpm3) - (bpm2 + bpm4)) / total
|
||||
|
||||
xn_values.append(xn)
|
||||
yn_values.append(yn)
|
||||
|
||||
time.sleep(0.1)
|
||||
|
||||
return {
|
||||
"lu_Xnorm": float(np.mean(xn_values)),
|
||||
"lu_Ynorm": float(np.mean(yn_values)),
|
||||
}
|
||||
|
||||
|
||||
|
||||
def run_calibration_ss():
|
||||
"""Scan bpm in x and y and record normalised x and y positions"""
|
||||
centred_x = 2.8625
|
||||
centred_y = -1.3874
|
||||
now = datetime.now()
|
||||
fnow = filenow()
|
||||
print(f"moving bpm to {centred_x}, {centred_y}")
|
||||
umv(dev.ss_bpm_y, centred_y)
|
||||
umv(dev.ss_bpm_x, centred_x)
|
||||
|
||||
# # # Calibrate in X
|
||||
# umv(dev.bsf_sl_xsize, 0.3)
|
||||
# umv(dev.bsf_sl_xsize, 0.4)
|
||||
# filename = bl.env.lut_dir / "bpm_calib" / f"ss_bpm_x_{fnow}.csv"
|
||||
# xn_data = []
|
||||
# x_positions = np.linspace(centred_x - 0.3, centred_x + 0.3, 51)
|
||||
# with open(filename, "w", encoding="utf-8") as f:
|
||||
# f.write(f"Xpos,Xnorm,BPM1,BPM2,BPM3,BPM4\n")
|
||||
# for x in x_positions:
|
||||
# umv(dev.ss_bpm_x, x)
|
||||
# print(f"Moving BPM X to {x} mm")
|
||||
# time.sleep(0.2)
|
||||
# xn, yn = compute_norm_ss()
|
||||
# xn_data.append(xn)
|
||||
# with open(filename, "a", encoding="utf-8") as f:
|
||||
# f.write(f"{x},{xn}\n")
|
||||
|
||||
# # Calibrate in Y
|
||||
umv(dev.ss_bpm_x, centred_x)
|
||||
umv(dev.bsf_sl_xsize, 0.3)
|
||||
umv(dev.bsf_sl_ysize, 0.4)
|
||||
filename = bl.env.lut_dir / "bpm_calib" / f"ss_bpm_y_{fnow}.csv"
|
||||
y_positions = np.linspace(centred_y - 0.04, centred_y + 0.04, 41)
|
||||
yn_data = []
|
||||
with open(filename, "w", encoding="utf-8") as f:
|
||||
f.write(f"Ypos,Ynorm,BPM1,BPM2,BPM3,BPM4\n")
|
||||
for y in y_positions:
|
||||
umv(dev.ss_bpm_y, y)
|
||||
print(f"Moving BPM Y to {y} mm")
|
||||
time.sleep(0.2)
|
||||
xn, yn = compute_norm_ss()
|
||||
yn_data.append(yn)
|
||||
with open(filename, "a", encoding="utf-8") as f:
|
||||
f.write(f"{y},{yn}\n")
|
||||
|
||||
umv(dev.ss_bpm_x, centred_x)
|
||||
umv(dev.ss_bpm_y, centred_y)
|
||||
umv(dev.bsf_sl_ysize, 3.0)
|
||||
umv(dev.bsf_sl_xsize, 3.0)
|
||||
|
||||
def run_calibration_lu():
|
||||
"""Scan bpm in x and y and record normalised x and y positions"""
|
||||
centred_x = 2.1816
|
||||
centred_y = 3.0175
|
||||
now = datetime.now()
|
||||
fnow = filenow()
|
||||
print(f"moving bpm to {centred_x}, {centred_y}")
|
||||
umv(dev.lu_bpm_y, centred_y)
|
||||
umv(dev.lu_bpm_x, centred_x)
|
||||
|
||||
# # Calibrate in X
|
||||
# umv(dev.bsf_sl_xsize, 0.3)
|
||||
# umv(dev.bsf_sl_xsize, 0.4)
|
||||
# filename = bl.env.lut_dir / "bpm_calib" / f"lu_bpm_x_{fnow}.csv"
|
||||
# xn_data = []
|
||||
# x_positions = np.linspace(centred_x - 0.3, centred_x + 0.3, 51)
|
||||
# with open(filename, "w", encoding="utf-8") as f:
|
||||
# f.write(f"Xpos,Xnorm\n")
|
||||
# for x in x_positions:
|
||||
# umv(dev.lu_bpm_x, x)
|
||||
# print(f"Moving BPM X to {x} mm")
|
||||
# time.sleep(0.2)
|
||||
# xn, yn = compute_norm_lu()
|
||||
# xn_data.append(xn)
|
||||
# with open(filename, "a", encoding="utf-8") as f:
|
||||
# f.write(f"{x},{xn}\n")
|
||||
|
||||
# # Calibrate in Y
|
||||
umv(dev.lu_bpm_x, centred_x)
|
||||
umv(dev.bsf_sl_xsize, 0.3)
|
||||
umv(dev.bsf_sl_ysize, 0.4)
|
||||
filename = bl.env.lut_dir / "bpm_calib" / f"lu_bpm_y_{fnow}.csv"
|
||||
y_positions = np.linspace(centred_y - 0.04, centred_y + 0.04, 41)
|
||||
yn_data = []
|
||||
with open(filename, "w", encoding="utf-8") as f:
|
||||
f.write(f"Ypos,Ynorm,BPM1,BPM2,BPM3,BPM4\n")
|
||||
for y in y_positions:
|
||||
umv(dev.lu_bpm_y, y)
|
||||
print(f"Moving BPM Y to {y} mm")
|
||||
time.sleep(0.2)
|
||||
xn, yn = compute_norm_lu()
|
||||
yn_data.append(yn)
|
||||
with open(filename, "a", encoding="utf-8") as f:
|
||||
f.write(f"{y},{yn}\n")
|
||||
|
||||
umv(dev.lu_bpm_x, centred_x)
|
||||
umv(dev.lu_bpm_y, centred_y)
|
||||
umv(dev.bsf_sl_ysize, 3.0)
|
||||
umv(dev.bsf_sl_xsize, 3.0)
|
||||
|
||||
def run_calibration(env):
|
||||
"""Scan bpm in x and y and record normalised x and y positions"""
|
||||
centred_x = 0.444
|
||||
@@ -86,27 +223,20 @@ def run_calibration(env):
|
||||
umv(dev.bcu_bpm_y, centred_y)
|
||||
umv(dev.ss_sl_ysize, 3.0)
|
||||
|
||||
def read_bpm_calibration_data(
|
||||
env,
|
||||
x_y,
|
||||
rundate,
|
||||
bpm_name="bcu_bpm",
|
||||
):
|
||||
|
||||
def read_bpm_calibration_data(env, x_y, rundate, bpm_name="bcu_bpm"):
|
||||
"""Read BPM calibration data from CSV."""
|
||||
|
||||
filename = env.lut_dir / f"bpm_calib/{bpm_name}_{x_y}_{rundate}.csv"
|
||||
|
||||
data = np.loadtxt(
|
||||
filename,
|
||||
delimiter=",",
|
||||
skiprows=1,
|
||||
)
|
||||
data = np.loadtxt(filename, delimiter=",", skiprows=1)
|
||||
|
||||
position = data[:, 0]
|
||||
bpm_norm = data[:, 1]
|
||||
|
||||
return position, bpm_norm
|
||||
|
||||
|
||||
# def fit_bpm_linear(env, filename, x_y, plot=True):
|
||||
# """
|
||||
# Fit the linear region of a BPM calibration scan.
|
||||
@@ -200,31 +330,17 @@ def read_bpm_calibration_data(
|
||||
# plt.tight_layout()
|
||||
# plt.show()
|
||||
|
||||
# return result
|
||||
|
||||
|
||||
# return result
|
||||
|
||||
|
||||
def polynomial_calibration(
|
||||
env,
|
||||
x_y,
|
||||
rundate,
|
||||
bpm_name="bcu_bpm",
|
||||
degree=5,
|
||||
signal_limit=0.9,
|
||||
plot=True,
|
||||
env, x_y, rundate, bpm_name="bcu_bpm", degree=5, signal_limit=0.9, plot=True
|
||||
):
|
||||
|
||||
# BPM centre during calibration run
|
||||
bpm_centre = {"x": 0.441,"y": -1.5405,}
|
||||
bpm_centre = {"x": 0.441, "y": -1.5405}
|
||||
|
||||
|
||||
xdata, ydata = read_bpm_calibration_data(
|
||||
env,
|
||||
x_y,
|
||||
rundate=rundate,
|
||||
bpm_name=bpm_name,
|
||||
)
|
||||
xdata, ydata = read_bpm_calibration_data(env, x_y, rundate=rundate, bpm_name=bpm_name)
|
||||
|
||||
# Keep useful BPM range
|
||||
mask = np.abs(ydata) < signal_limit
|
||||
@@ -262,26 +378,13 @@ def polynomial_calibration(
|
||||
print(f" crosshair_bpm_position = None")
|
||||
|
||||
if plot:
|
||||
signal_fit = np.linspace(
|
||||
signal.min(),
|
||||
signal.max(),
|
||||
500,
|
||||
)
|
||||
signal_fit = np.linspace(signal.min(), signal.max(), 500)
|
||||
|
||||
position_fit = np.polyval(coeffs, signal_fit)
|
||||
|
||||
plt.figure(figsize=(7, 5))
|
||||
plt.scatter(
|
||||
ydata,
|
||||
xdata,
|
||||
alpha=0.4,
|
||||
label="Calibration data",
|
||||
)
|
||||
plt.plot(
|
||||
signal_fit,
|
||||
position_fit,
|
||||
label=f"{degree}th-order polynomial",
|
||||
)
|
||||
plt.scatter(ydata, xdata, alpha=0.4, label="Calibration data")
|
||||
plt.plot(signal_fit, position_fit, label=f"{degree}th-order polynomial")
|
||||
|
||||
plt.xlabel(f"BPM {x_y} normalized signal")
|
||||
plt.ylabel(f"BPM {x_y} position (mm)")
|
||||
@@ -292,5 +395,3 @@ def polynomial_calibration(
|
||||
plt.show()
|
||||
|
||||
return coeffs
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ from datetime import datetime
|
||||
|
||||
from bec_lib.device import Signal, Positioner
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Status Enum
|
||||
# -------------------------------------------------------------------
|
||||
@@ -454,6 +453,9 @@ def filter_results(results, statuses=None):
|
||||
|
||||
|
||||
def run_check(show_all=False, scilog=False):
|
||||
"""Check the status of beamline motors (must exist as devices in BEC).
|
||||
For a full list of checked devices, use run_check(show_all=True).
|
||||
Results will be logged in scilog if scilog=True"""
|
||||
|
||||
results = check2()
|
||||
|
||||
|
||||
@@ -1,136 +1,134 @@
|
||||
import numpy as np
|
||||
import math, time
|
||||
import numpy as np
|
||||
import math, time
|
||||
import matplotlib.pyplot as plt
|
||||
import scipy
|
||||
|
||||
########################################################
|
||||
### scan FE slits and check BPMs before and after mirror
|
||||
### scan FE slits and check BPMs before and after mirror
|
||||
########################################################
|
||||
|
||||
def gaussfit(x,y,p):
|
||||
# define a gaussian fitting function where
|
||||
# p[0] = amplitude
|
||||
# p[1] = mean
|
||||
# p[2] = sigma
|
||||
# p[3] = const offset
|
||||
|
||||
fitfct = lambda p, x0: p[0]*np.exp(-(x0-p[1])**2/(2.0*p[2]**2))+p[3]
|
||||
#fitfct = lambda p, x0: p[0]*np.exp(-(x0-p[1])**2/(2.0*p[2]**2))
|
||||
errfct = lambda p, x0,y0: fitfct(p,x0)-y0
|
||||
|
||||
def gaussfit(x, y, p):
|
||||
# define a gaussian fitting function where
|
||||
# p[0] = amplitude
|
||||
# p[1] = mean
|
||||
# p[2] = sigma
|
||||
# p[3] = const offset
|
||||
|
||||
fitfct = lambda p, x0: p[0] * np.exp(-((x0 - p[1]) ** 2) / (2.0 * p[2] ** 2)) + p[3]
|
||||
# fitfct = lambda p, x0: p[0]*np.exp(-(x0-p[1])**2/(2.0*p[2]**2))
|
||||
errfct = lambda p, x0, y0: fitfct(p, x0) - y0
|
||||
|
||||
# guess fit parameters
|
||||
ind0 = np.where(y==max(y))[0]
|
||||
p0=np.c_[max(y), x[ind0], np.std(y), np.mean(y[0:5])]
|
||||
#p0=scipy.c_[max(y), np.where(y==max(y))[0], np.std(y)]
|
||||
# array generation [[]], and taking only one dimens
|
||||
ind0 = np.where(y == max(y))[0]
|
||||
p0 = np.c_[max(y), x[ind0], np.std(y), np.mean(y[0:5])]
|
||||
# p0=scipy.c_[max(y), np.where(y==max(y))[0], np.std(y)]
|
||||
# array generation [[]], and taking only one dimens
|
||||
# fit a gaussian to the correlation function
|
||||
|
||||
#print('p0 = ' , p0)
|
||||
p1, success = scipy.optimize.leastsq(errfct, p0.copy()[0],
|
||||
args=(x,y))
|
||||
# print('p0 = ' , p0)
|
||||
p1, success = scipy.optimize.leastsq(errfct, p0.copy()[0], args=(x, y))
|
||||
|
||||
#plt.figure()
|
||||
bestfit=fitfct(p1,x)
|
||||
#print('************************', x,y)
|
||||
plt.plot(x,y,'r*')
|
||||
plt.plot(x,bestfit,'r-')
|
||||
# plt.figure()
|
||||
bestfit = fitfct(p1, x)
|
||||
# print('************************', x,y)
|
||||
plt.plot(x, y, "r*")
|
||||
plt.plot(x, bestfit, "r-")
|
||||
|
||||
# different fit fct
|
||||
#popt, pcov = curve_fit(fitfct, x, y)
|
||||
#newfit=fitfct(popt,x)
|
||||
#plt.plot(x,newfit,'g+')
|
||||
# popt, pcov = curve_fit(fitfct, x, y)
|
||||
# newfit=fitfct(popt,x)
|
||||
# plt.plot(x,newfit,'g+')
|
||||
|
||||
|
||||
plt.show()
|
||||
|
||||
return bestfit, p1
|
||||
|
||||
def scan_fe_sl(dir = "y"):
|
||||
if dir in ["y","v"]:
|
||||
sdir ="vertical"
|
||||
|
||||
def scan_fe_sl(dir="y"):
|
||||
if dir in ["y", "v"]:
|
||||
sdir = "vertical"
|
||||
fe_size0 = dev.fe_sl_ysize.user_readback.get()
|
||||
print('Closing vertical FE slits to 0.1')
|
||||
print("Closing vertical FE slits to 0.1")
|
||||
umv(dev.fe_sl_ysize, 0.1)
|
||||
s = scans.line_scan(dev.fe_sl_ycen,-1,1, exp_time=02., steps=21, relative=True)
|
||||
s = scans.line_scan(dev.fe_sl_ycen, -1, 1, exp_time=02.0, steps=21, relative=True)
|
||||
time.sleep(0.1)
|
||||
umv(dev.fe_sl_ysize, fe_size0)
|
||||
print(f'Opening {sdir} FE slits to {fe_size0}')
|
||||
if dir in ["x","h"]:
|
||||
sdir ="horizontal"
|
||||
print(f"Opening {sdir} FE slits to {fe_size0}")
|
||||
if dir in ["x", "h"]:
|
||||
sdir = "horizontal"
|
||||
fe_size0 = dev.fe_sl_xsize.user_readback.get()
|
||||
print('Closing horizontal FE slits to 0.1')
|
||||
print("Closing horizontal FE slits to 0.1")
|
||||
umv(dev.fe_sl_xsize, 0.1)
|
||||
s = scans.line_scan(dev.fe_sl_xcen,-1,1, exp_time=02., steps=21, relative=True)
|
||||
s = scans.line_scan(dev.fe_sl_xcen, -1, 1, exp_time=02.0, steps=21, relative=True)
|
||||
time.sleep(0.1)
|
||||
umv(dev.fe_sl_xsize, fe_size0)
|
||||
print(f'Opening {sdir} FE slits to {fe_size0}')
|
||||
print(f"Opening {sdir} FE slits to {fe_size0}")
|
||||
else:
|
||||
print('no valid direction, doing nothing')
|
||||
|
||||
def mirrh(dir='y'):
|
||||
|
||||
#dat_ss = read_data_csv("/home/anuschka/SS_pitch2p94.csv")
|
||||
#dat_bcu = read_data_csv("/home/anuschka/BCU_pitch2p94.csv")
|
||||
print("no valid direction, doing nothing")
|
||||
|
||||
|
||||
def mirrh(dir="y"):
|
||||
|
||||
# dat_ss = read_data_csv("/home/anuschka/SS_pitch2p94.csv")
|
||||
# dat_bcu = read_data_csv("/home/anuschka/BCU_pitch2p94.csv")
|
||||
|
||||
scan_fe_sl(dir=dir)
|
||||
ind = -1
|
||||
if dir in ["x","h"]:
|
||||
slitmot = 'fe_sl_xcen'
|
||||
if dir in ["y","v"]:
|
||||
slitmot = 'fe_sl_ycen'
|
||||
|
||||
dat_ss = save_data(ind, slitmot, 'ss_bpmsum', isave = 0)
|
||||
dat_bcu = save_data(ind, slitmot, 'bcu_bpmsum', isave = 0)
|
||||
|
||||
if dir in ["x", "h"]:
|
||||
slitmot = "fe_sl_xcen"
|
||||
if dir in ["y", "v"]:
|
||||
slitmot = "fe_sl_ycen"
|
||||
|
||||
data_xs = dat_ss[0] # csv would be: dat_ss[:, 0]
|
||||
dat_ss = save_data(ind, slitmot, "ss_bpmsum", isave=0)
|
||||
dat_bcu = save_data(ind, slitmot, "bcu_bpmsum", isave=0)
|
||||
|
||||
data_xs = dat_ss[0] # csv would be: dat_ss[:, 0]
|
||||
data_ys = dat_ss[1]
|
||||
|
||||
|
||||
data_xb = dat_bcu[0]
|
||||
data_yb = dat_bcu[1]
|
||||
|
||||
#plt.figure()
|
||||
# plt.figure()
|
||||
|
||||
#plt.plot(data_xs, data_ys, "*")
|
||||
#plt.plot(data_xb, data_yb, "+")
|
||||
# plt.plot(data_xs, data_ys, "*")
|
||||
# plt.plot(data_xb, data_yb, "+")
|
||||
|
||||
data_ys_norm = data_ys/max(data_ys) # looks better than data_ys/sum(data_ys)
|
||||
data_yb_norm = data_yb/max(data_yb)
|
||||
data_ys_norm = data_ys / max(data_ys) # looks better than data_ys/sum(data_ys)
|
||||
data_yb_norm = data_yb / max(data_yb)
|
||||
|
||||
plt.figure()
|
||||
|
||||
plt.plot(data_xs, data_ys_norm, "*")
|
||||
plt.plot(data_xb, data_yb_norm, "+")
|
||||
|
||||
|
||||
y= data_ys_norm
|
||||
xm = np.where(y==max(y))[0]
|
||||
y = data_ys_norm
|
||||
xm = np.where(y == max(y))[0]
|
||||
xmi = data_xs[xm]
|
||||
#print('xm, xmi', xm, xmi)
|
||||
# print('xm, xmi', xm, xmi)
|
||||
|
||||
pf1 = [1, xmi , np.std(data_ys_norm), np.mean(y[0:5])] # bg = 0
|
||||
fit_s, ps = gaussfit(data_xs,data_ys_norm, pf1)
|
||||
pf1 = [1, xmi, np.std(data_ys_norm), np.mean(y[0:5])] # bg = 0
|
||||
fit_s, ps = gaussfit(data_xs, data_ys_norm, pf1)
|
||||
|
||||
y= data_yb_norm
|
||||
xm = np.where(y==max(y))[0]
|
||||
y = data_yb_norm
|
||||
xm = np.where(y == max(y))[0]
|
||||
xmi = data_xb[xm]
|
||||
#print('xm, xmi', xm, xmi)
|
||||
# print('xm, xmi', xm, xmi)
|
||||
|
||||
pf2 = [1, xmi, np.std(data_yb_norm), np.mean(y[0:5])] # bg = -11
|
||||
fit_b, pb = gaussfit(data_xb,data_yb_norm, pf2)
|
||||
|
||||
fit_b, pb = gaussfit(data_xb, data_yb_norm, pf2)
|
||||
|
||||
plt.figure()
|
||||
|
||||
plt.plot(data_xs, fit_s-ps[3], "*")
|
||||
plt.plot(data_xs, fit_s-ps[3])
|
||||
plt.plot(data_xb, fit_b-pb[3], "+")
|
||||
plt.plot(data_xb, fit_b-pb[3])
|
||||
plt.plot(data_xs, fit_s - ps[3], "*")
|
||||
plt.plot(data_xs, fit_s - ps[3])
|
||||
plt.plot(data_xb, fit_b - pb[3], "+")
|
||||
plt.plot(data_xb, fit_b - pb[3])
|
||||
|
||||
print('Fit Params of First BPM, SS, ps', ps)
|
||||
print('Fit Params of Second BPM, BCU, pb', pb)
|
||||
print("Fit Params of First BPM, SS, ps", ps)
|
||||
print("Fit Params of Second BPM, BCU, pb", pb)
|
||||
print()
|
||||
if abs(ps[1]-pb[1]) > 0.05:
|
||||
print('***** WARNING ******, mirror height not ok')
|
||||
if abs(ps[2]-pb[2]) > 0.05:
|
||||
print('***** WARNING ******, mirror not catching full beam')
|
||||
|
||||
if abs(ps[1] - pb[1]) > 0.05:
|
||||
print("***** WARNING ******, mirror height not ok")
|
||||
if abs(ps[2] - pb[2]) > 0.05:
|
||||
print("***** WARNING ******, mirror not catching full beam")
|
||||
@@ -0,0 +1,29 @@
|
||||
def create_daily_setup():
|
||||
dock = bec.gui.new("DailySetup")
|
||||
# plot1 = dock.new(widget="Waveform", object_name= "Plot_1")
|
||||
# plot2 = dock.new(widget="Waveform", object_name= "Plot_2", relative_to="Plot_1", where="bottom")
|
||||
# plot3 = dock.new(widget="Waveform", object_name= "Plot_3", relative_to = "Plot_2", where="bottom")
|
||||
# plot4 = dock.new(widget="Waveform", object_name= "Plot_4", relative_to="Plot_1", where="right")
|
||||
# plot5 = dock.new(widget="Waveform", object_name= "Plot_5", relative_to="Plot_2", where="right")
|
||||
# plot6 = dock.new(widget="Waveform", object_name= "Plot_6", relative_to="Plot_3", where="right")
|
||||
# log = dock.new(widget="TextBox", object_name= "Info", relative_to="Plot_1",where="left")
|
||||
# progress = dock.new(widget="TextBox", object_name= "Progress", relative_to="Info", where="left")
|
||||
progress = dock.new(widget="TextBox", object_name= "Progress")
|
||||
log = dock.new(widget="TextBox", object_name= "Info", relative_to="Progress", where ="right")
|
||||
plot1 = dock.new(widget="Waveform", object_name= "Plot_1", relative_to="Info", where ="right")
|
||||
plot2 = dock.new(widget="Waveform", object_name= "Plot_2", relative_to="Plot_1", where="right")
|
||||
plot3 = dock.new(widget="Waveform", object_name= "Plot_3", relative_to = "Plot_1", where="bottom")
|
||||
plot4 = dock.new(widget="Waveform", object_name= "Plot_4", relative_to="Plot_2", where="bottom")
|
||||
plot5 = dock.new(widget="Waveform", object_name= "Plot_5", relative_to = "Plot_3", where="bottom")
|
||||
plot6 = dock.new(widget="Waveform", object_name= "Plot_6", relative_to="Plot_4", where="bottom")
|
||||
dock.set_layout_ratios(
|
||||
horizontal=[1,2,1.2,1.2],
|
||||
vertical=[1,1,1],
|
||||
)
|
||||
|
||||
progress.set_plain_text("")
|
||||
log.set_plain_text("")
|
||||
|
||||
dock.save_profile()
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
"""
|
||||
This module manages the initialization of devices."""
|
||||
|
||||
#from guards import attach_guards
|
||||
#from policies import attach_policies
|
||||
#from build_devices import build_devices
|
||||
# from guards import attach_guards
|
||||
# from policies import attach_policies
|
||||
# from build_devices import build_devices
|
||||
|
||||
|
||||
class DeviceManager:
|
||||
|
||||
@@ -11,7 +11,7 @@ def en_plothist(hindex: int, signal_name: str, isave=1):
|
||||
s=scans.line_scan(dev.dcm_bragg, 178.5, 179.5, steps=240, relative=False
|
||||
data_x, data_y = en_plothist(-1,"bcu_bpmsum")
|
||||
|
||||
scanned with
|
||||
scanned with
|
||||
scans.line_scan(dev.aerotech.y,-0.05,0.05, steps=101, settling_time=0.5, relative=True)
|
||||
"""
|
||||
|
||||
@@ -21,54 +21,56 @@ def en_plothist(hindex: int, signal_name: str, isave=1):
|
||||
|
||||
if hindex < 0:
|
||||
h = bec.history[hindex]
|
||||
print('by scan number')
|
||||
print("by scan number")
|
||||
else:
|
||||
h = bec.history.get_by_scan_number(hindex)
|
||||
print('by scan number')
|
||||
print("by scan number")
|
||||
|
||||
md = h.metadata["bec"]
|
||||
sno = md['dataset_number']
|
||||
sno = md["dataset_number"]
|
||||
print(f"number of scan = {sno}")
|
||||
scanvar = list(md["args"].keys())[0] # string, returns the variable of the last performed scan
|
||||
#scanvar = list(md["args"].keys())[0] # string, returns the variable of the last performed scan
|
||||
# data = h.devices[device_name][signal].read()["value"]
|
||||
# data_x = h.devices.dcm_pitch.dcm_pitch.read()["value"]
|
||||
# data_y = h.devices.lu_bpmsum.lu_bpmsum.read()["value"]
|
||||
# data_x = h.devices[device_name][device_name].read()["value"]
|
||||
|
||||
# that works ...
|
||||
#print(list(md['args'].keys()))
|
||||
val = list(md['args'].keys())
|
||||
#val[0] = 'aerotech.x'
|
||||
devicenam = val[0]
|
||||
print('device = ', devicenam)
|
||||
# that works ...
|
||||
# print(list(md['args'].keys()))
|
||||
## val = list(md["args"].keys()) no longer !!!!! to be checked !!!
|
||||
# val[0] = 'aerotech.x'
|
||||
##devicenam = val[0]
|
||||
##print("device = ", devicenam)
|
||||
devicenam = md["scan_report_devices"][0].decode()
|
||||
|
||||
|
||||
data_xd = md["positions"] # last scan knows which device ... however, double array
|
||||
data_x = data_xd.flatten()
|
||||
print("dx = ", data_x)
|
||||
#data_y = h.devices[signal_name][signal_name].read()["value"]
|
||||
# data_y = h.devices[signal_name][signal_name].read()["value"]
|
||||
data_y1 = h.devices["bcu_bpmsum"]["bcu_bpmsum"].read()["value"]
|
||||
data_y2 = h.devices["ss_bpmsum"]["ss_bpmsum"].read()["value"]
|
||||
|
||||
#print("dy = ", data_y)
|
||||
|
||||
data_y = data_y1/data_y2
|
||||
rev = 0
|
||||
#if val[0][9] == 'x':
|
||||
# print("dy = ", data_y)
|
||||
|
||||
data_y = data_y1 / data_y2
|
||||
rev = 0
|
||||
# if val[0][9] == 'x':
|
||||
# rev = 1
|
||||
smoothplotgrad(data_x, data_y, reverse = rev)
|
||||
# g, xm = justfit(data_x, data_y, model=model, ibg=ibg)
|
||||
smoothplotgrad(data_x, data_y, reverse=rev)
|
||||
# g, xm = justfit(data_x, data_y, model=model, ibg=ibg)
|
||||
|
||||
# plt.ion()
|
||||
# plt.figure()
|
||||
# plt.plot(data_x, data_y, "*")
|
||||
# plt.plot(data_x, g.best_fit)
|
||||
# plt.xlabel(scanvar)
|
||||
# plt.ylabel(signal_name)
|
||||
# plt.show()
|
||||
# plt.ion()
|
||||
# plt.figure()
|
||||
# plt.plot(data_x, data_y, "*")
|
||||
# plt.plot(data_x, g.best_fit)
|
||||
# plt.xlabel(scanvar)
|
||||
# plt.ylabel(signal_name)
|
||||
# plt.show()
|
||||
|
||||
# gcen = g.pars["center"].value
|
||||
# gcen = g.pars["center"].value
|
||||
|
||||
|
||||
if isave:
|
||||
if isave:
|
||||
ans = "n"
|
||||
ans = input("Store data in csv file? y/n ")
|
||||
if ans == "y":
|
||||
@@ -79,5 +81,4 @@ def en_plothist(hindex: int, signal_name: str, isave=1):
|
||||
with open(filename, "w") as f:
|
||||
np.savetxt(f, combined, delimiter=",", fmt="%.9e")
|
||||
|
||||
|
||||
return data_x, data_y
|
||||
@@ -3,8 +3,9 @@
|
||||
|
||||
# if you know the attribute you are searching for:
|
||||
|
||||
|
||||
def check_attr(obj, attr):
|
||||
# att as string
|
||||
# att as string
|
||||
|
||||
attr = getattr(obj, attr)
|
||||
|
||||
@@ -13,7 +14,9 @@ def check_attr(obj, attr):
|
||||
print("values:", attr.values())
|
||||
print("items:", attr.items())
|
||||
|
||||
# Automatically Detect All Dictionary Attributes:
|
||||
|
||||
# Automatically Detect All Dictionary Attributes:
|
||||
|
||||
|
||||
def list_dict_attr_single(obj):
|
||||
for attr_name, value in vars(obj).items():
|
||||
@@ -22,8 +25,9 @@ def list_dict_attr_single(obj):
|
||||
print(" Keys:", list(value.keys()))
|
||||
print(" Items:")
|
||||
for key, val in value.items():
|
||||
print(f" {key} -> {val}")
|
||||
|
||||
print(f" {key} -> {val}")
|
||||
|
||||
|
||||
# Also Handle Nested Dictionaries:
|
||||
|
||||
|
||||
@@ -34,16 +38,11 @@ def list_dict_attr(obj):
|
||||
print(" " * indent + str(key) + ":", end=" ")
|
||||
if isinstance(value, dict):
|
||||
print()
|
||||
print_dict(value, indent+1)
|
||||
print_dict(value, indent + 1)
|
||||
else:
|
||||
print(value)
|
||||
|
||||
print(value)
|
||||
|
||||
for attr_name, value in vars(obj).items():
|
||||
if isinstance(value, dict):
|
||||
print(f"\nDictionary attribute: {attr_name}")
|
||||
print_dict(value)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,131 +1,132 @@
|
||||
#!/usr/bin/env python
|
||||
# ### PYTHON pro to determine the flux from the current
|
||||
# ### on a Si diode
|
||||
# ### A Pauluhn, Dec 2012
|
||||
# ### from IDL pro flux_diode.pro (2010)
|
||||
# ### PYTHON pro to determine the flux from the current
|
||||
# ### on a Si diode
|
||||
# ### A Pauluhn, Dec 2012
|
||||
# ### from IDL pro flux_diode.pro (2010)
|
||||
|
||||
|
||||
## NOTE: for TRANSFER DIODE:
|
||||
## switch off ANY ambient light
|
||||
## note that: 10 um Si, and 0 um Al for transfer diode Hamamatsu
|
||||
## switch off ANY ambient light
|
||||
## note that: 10 um Si, and 0 um Al for transfer diode Hamamatsu
|
||||
|
||||
# ### import the standard
|
||||
import os, sys, string, time
|
||||
# ### import the standard
|
||||
import os, sys, string, time
|
||||
import re
|
||||
import numpy as np
|
||||
import math
|
||||
|
||||
|
||||
|
||||
|
||||
def fluxcalc(curr, en, t_air, t_si, t_al):
|
||||
|
||||
#------ parameters:
|
||||
rsi = 2.33 # g/cm^3 density of Si
|
||||
ral = 2.699 # g/cm^3 density of Al
|
||||
rair = 1.205e-3 # g/cm^3 density of air
|
||||
# ------ parameters:
|
||||
rsi = 2.33 # g/cm^3 density of Si
|
||||
ral = 2.699 # g/cm^3 density of Al
|
||||
rair = 1.205e-3 # g/cm^3 density of air
|
||||
|
||||
eps_si = 3.62 # eV , energy req for charge separation in Si (el/hole pair)
|
||||
e = 1.602e-19 # As , elem charge
|
||||
eps_si = 3.62 # eV , energy req for charge separation in Si (el/hole pair)
|
||||
e = 1.602e-19 # As , elem charge
|
||||
|
||||
t_si = 0.0012 # thickness of diode in cm (==12 micrometres) ; [*10000]
|
||||
t_al = 0.002 # thickness of diode in cm (==20 micrometres)
|
||||
t_al = 0.002 # thickness of diode in cm (==20 micrometres)
|
||||
|
||||
#--------- calc----------------------------------------------------
|
||||
#energy deposit in Silicon
|
||||
#ratio of photoelectric cross section to density for Silicon
|
||||
#alog10(A_Si)= 4.158 - 2.238*alog10(Ep) - 0.477*alog10(Ep)^2 + 0.0789*alog10(Ep)^3
|
||||
# --------- calc----------------------------------------------------
|
||||
# energy deposit in Silicon
|
||||
# ratio of photoelectric cross section to density for Silicon
|
||||
# alog10(A_Si)= 4.158 - 2.238*alog10(Ep) - 0.477*alog10(Ep)^2 + 0.0789*alog10(Ep)^3
|
||||
|
||||
ps = np.poly1d([0.0789, - 0.477, - 2.238, 4.158])
|
||||
#print ps
|
||||
# ps.c
|
||||
# print ps(2.3)
|
||||
ps = np.poly1d([0.0789, -0.477, -2.238, 4.158])
|
||||
# print ps
|
||||
# ps.c
|
||||
# print ps(2.3)
|
||||
|
||||
leval = math.log10(en)
|
||||
hlp_si = ps(leval)
|
||||
a_si = np.pow(10, hlp_si)
|
||||
#efact = np.exp(-A_Si*rsi*t_Si)
|
||||
#sifact =1 - efact
|
||||
sifact = - np.expm1(-a_si*rsi*t_si)
|
||||
#print 'sifact = ', sifact
|
||||
leval = math.log10(en)
|
||||
hlp_si = ps(leval)
|
||||
a_si = np.pow(10, hlp_si)
|
||||
# efact = np.exp(-A_Si*rsi*t_Si)
|
||||
# sifact =1 - efact
|
||||
sifact = -np.expm1(-a_si * rsi * t_si)
|
||||
# print 'sifact = ', sifact
|
||||
|
||||
fl = 1000.*curr * eps_si/1.602/en/sifact *1.e13 # curr expected in A
|
||||
#print 'fl = ', fl
|
||||
fl = 1000.0 * curr * eps_si / 1.602 / en / sifact * 1.0e13 # curr expected in A
|
||||
# print 'fl = ', fl
|
||||
|
||||
# Aluminium attenuation
|
||||
# ratio of photoelectric cross section to density for Aluminium
|
||||
pa = np.poly1d([0.0638, -0.413, -2.349, 4.106])
|
||||
|
||||
#Aluminium attenuation
|
||||
#ratio of photoelectric cross section to density for Aluminium
|
||||
pa = np.poly1d([ 0.0638, - 0.413, - 2.349, 4.106])
|
||||
|
||||
hlp_al = pa(leval)
|
||||
a_al = pow(10, hlp_al)
|
||||
a_al = pow(10, hlp_al)
|
||||
|
||||
# attenuation due to aluminium
|
||||
alfact = np.exp(-a_al*ral*t_al)
|
||||
#print 'alfact = ', alfact
|
||||
alfact = np.exp(-a_al * ral * t_al)
|
||||
# print 'alfact = ', alfact
|
||||
# Air attenuation
|
||||
# ratio of photoelectric cross section to density for air
|
||||
|
||||
pair = np.poly1d([0.928, - 2.348, - 1.026, 3.153])
|
||||
pair = np.poly1d([0.928, -2.348, -1.026, 3.153])
|
||||
hlp_air = pair(leval)
|
||||
a_air = np.pow(10, hlp_air)
|
||||
a_air = np.pow(10, hlp_air)
|
||||
|
||||
#print('hlp_air, a_air, rair, t_air = ', hlp_air, a_air, rair , t_air)
|
||||
# print('hlp_air, a_air, rair, t_air = ', hlp_air, a_air, rair , t_air)
|
||||
|
||||
# attenuation due to air
|
||||
airfact = np.exp(-a_air*rair*t_air/10.)
|
||||
#airfact = 1.
|
||||
# attenuation due to air
|
||||
airfact = np.exp(-a_air * rair * t_air / 10.0)
|
||||
# airfact = 1.
|
||||
|
||||
|
||||
#print 'airfact = ', airfact
|
||||
#print ' t_air = ', t_air
|
||||
# print 'airfact = ', airfact
|
||||
# print ' t_air = ', t_air
|
||||
|
||||
# total flux from photocurrent
|
||||
fl = fl/alfact/airfact
|
||||
#print 'fl = ', fl
|
||||
# total flux from photocurrent
|
||||
fl = fl / alfact / airfact
|
||||
# print 'fl = ', fl
|
||||
|
||||
return fl
|
||||
|
||||
return fl
|
||||
|
||||
#
|
||||
# Main
|
||||
#
|
||||
|
||||
def flux_x10sa(curr, en, silent = 0):
|
||||
|
||||
def flux_x10sa(curr, en, silent=0):
|
||||
# curr = input('Please enter the current [in A] ')
|
||||
curr = float(curr)
|
||||
if not silent:
|
||||
print('Current = ', curr)
|
||||
print("Current = ", curr)
|
||||
# en = input('Please enter the energy [in keV] ')
|
||||
en = float(en)
|
||||
if not silent:
|
||||
print('Energy = ', en)
|
||||
print("Energy = ", en)
|
||||
## d_det = input('Please enter the detector distance [in mm] ')
|
||||
d_det = dev.det_z.user_readback.get()
|
||||
d_off = 15 ## at X10SA ### input('Please enter the OFFSET of the diode to det surface [in mm] ')
|
||||
|
||||
t_air = float(d_det) + float(d_off)
|
||||
d_off = (
|
||||
15 ## at X10SA ### input('Please enter the OFFSET of the diode to det surface [in mm] ')
|
||||
)
|
||||
|
||||
t_si = 12 # um ## at X10SA
|
||||
t_air = float(d_det) + float(d_off)
|
||||
|
||||
t_si = 12 # um ## at X10SA
|
||||
# t_si = input('Please enter the Si thickness of diode [in um] ') # if not silent:
|
||||
t_si = float(t_si) / 10000. # to cm
|
||||
t_si = float(t_si) / 10000.0 # to cm
|
||||
|
||||
t_al = 20 # um ## at X10SA
|
||||
# t_al = input('Please enter the Al thickness of diode [in um] ')
|
||||
t_al = float(t_al) / 10000. # to cm
|
||||
t_al = 20 # um ## at X10SA
|
||||
# t_al = input('Please enter the Al thickness of diode [in um] ')
|
||||
t_al = float(t_al) / 10000.0 # to cm
|
||||
|
||||
if not silent:
|
||||
print('Air path length (CARE ! add det distance and offset of diode) = ', t_air) # include additional diode distance
|
||||
print(
|
||||
"Air path length (CARE ! add det distance and offset of diode) = ", t_air
|
||||
) # include additional diode distance
|
||||
|
||||
|
||||
fl = fluxcalc(curr, en, t_air,t_si, t_al)
|
||||
fl = fluxcalc(curr, en, t_air, t_si, t_al)
|
||||
if not silent:
|
||||
print( " Diode Current = %.6f A " % curr)
|
||||
print( " Energy = %.4f keV " % en )
|
||||
print(" Diode Current = %.6f A " % curr)
|
||||
print(" Energy = %.4f keV " % en)
|
||||
|
||||
#print( " Thickness of active Si layer = %.4f\t cm " % t_si) #*10000.
|
||||
#print( " Thickness of Al layer in front of diode = %.4f\t cm " % t_al) #*10000.
|
||||
print( " Length of path of air in front of diode = %.4f\t mm " % t_air) #*10000.
|
||||
# print( " Thickness of active Si layer = %.4f\t cm " % t_si) #*10000.
|
||||
# print( " Thickness of Al layer in front of diode = %.4f\t cm " % t_al) #*10000.
|
||||
print(" Length of path of air in front of diode = %.4f\t mm " % t_air) # *10000.
|
||||
|
||||
print (" Flux = %6.2e\t ph/s " % fl)
|
||||
print(" Flux = %6.2e\t ph/s " % fl)
|
||||
|
||||
return fl
|
||||
|
||||
@@ -256,7 +256,7 @@ def bpm2flux(energy=None, bpmsum=None, transm=None):
|
||||
|
||||
"""
|
||||
calibration_min_energy = 6500
|
||||
calibration_max_energy = 21000
|
||||
# calibration_max_energy = 21000
|
||||
|
||||
if energy is None:
|
||||
energy = get_current_energy()
|
||||
@@ -266,14 +266,14 @@ def bpm2flux(energy=None, bpmsum=None, transm=None):
|
||||
# bpmsum = read_av(dev.bcu_bpmsum,10) # do not add to traffic jam
|
||||
|
||||
if transm is None:
|
||||
transm = dev.transm.read()["transm"]["value"]
|
||||
transm = dev.transm.read(cached=True)["transm"]["value"]
|
||||
|
||||
if not calibration_min_energy <= energy <= calibration_max_energy:
|
||||
raise ValueError(
|
||||
f"Energy {energy:.0f} eV is outside the calibrated range "
|
||||
f"{calibration_min_energy:.0f}–"
|
||||
f"{calibration_max_energy:.0f} eV"
|
||||
)
|
||||
# if not calibration_min_energy <= energy <= calibration_max_energy:
|
||||
# raise ValueError(
|
||||
# f"Energy {energy:.0f} eV is outside the calibrated range "
|
||||
# f"{calibration_min_energy:.0f}–"
|
||||
# f"{calibration_max_energy:.0f} eV"
|
||||
# )
|
||||
|
||||
# coeffs = [
|
||||
# 1.06436277e5,
|
||||
@@ -296,3 +296,17 @@ def bpm2flux(energy=None, bpmsum=None, transm=None):
|
||||
)
|
||||
|
||||
return float(flux), float(full_flux)
|
||||
|
||||
def transmission_for_flux(target_flux):
|
||||
"""
|
||||
Calculate the transmission required to give target_flux
|
||||
at the current energy.
|
||||
|
||||
Transmission is returned as a fraction from 0 to 1.
|
||||
"""
|
||||
|
||||
_, full_flux = bpm2flux()
|
||||
|
||||
transmission = target_flux / full_flux
|
||||
|
||||
return float(np.clip(transmission, 0.0, 1.0))
|
||||
@@ -10,7 +10,7 @@ def knife_plothist(hindex: int, signal_name: str, isave=1):
|
||||
Example:
|
||||
data_x, data_y = knife_plothist(-1,"xidode")
|
||||
|
||||
scanned with
|
||||
scanned with
|
||||
scans.line_scan(dev.aerotech.y,-0.05,0.05, steps=101, settling_time=0.5, relative=True)
|
||||
"""
|
||||
|
||||
@@ -20,13 +20,13 @@ def knife_plothist(hindex: int, signal_name: str, isave=1):
|
||||
|
||||
if hindex < 0:
|
||||
h = bec.history[hindex]
|
||||
print('by scan number')
|
||||
print("by scan number")
|
||||
else:
|
||||
h = bec.history.get_by_scan_number(hindex)
|
||||
print('by scan number')
|
||||
print("by scan number")
|
||||
|
||||
md = h.metadata["bec"]
|
||||
sno = md['dataset_number']
|
||||
sno = md["dataset_number"]
|
||||
print(f"number of scan = {sno}")
|
||||
scanvar = list(md["args"].keys())[0] # string, returns the variable of the last performed scan
|
||||
# data = h.devices[device_name][signal].read()["value"]
|
||||
@@ -34,37 +34,36 @@ def knife_plothist(hindex: int, signal_name: str, isave=1):
|
||||
# data_y = h.devices.lu_bpmsum.lu_bpmsum.read()["value"]
|
||||
# data_x = h.devices[device_name][device_name].read()["value"]
|
||||
|
||||
# that works ...
|
||||
#print(list(md['args'].keys()))
|
||||
val = list(md['args'].keys())
|
||||
#val[0] = 'aerotech.x'
|
||||
devicenam = val[0]
|
||||
print('device = ', devicenam)
|
||||
# that works ...
|
||||
# print(list(md['args'].keys()))
|
||||
val = list(md["args"].keys())
|
||||
# val[0] = 'aerotech.x'
|
||||
devicenam = val[0]
|
||||
print("device = ", devicenam)
|
||||
data_xd = md["positions"] # last scan knows which device ... however, double array
|
||||
data_x = data_xd.flatten()
|
||||
print("dx = ", data_x)
|
||||
#data_y = h.devices[signal_name][signal_name].read()["value"]
|
||||
data_y = h.devices["xidiode"]["xidiode"].read()["value"]
|
||||
# data_y = h.devices[signal_name][signal_name].read()["value"]
|
||||
data_y = h.devices["xidiode"]["xidiode"].read()["value"]
|
||||
print("dy = ", data_y)
|
||||
|
||||
rev = 0
|
||||
if val[0][9] == 'x':
|
||||
rev = 0
|
||||
if val[0][9] == "x":
|
||||
rev = 1
|
||||
smoothplotgrad(data_x, data_y, reverse = rev)
|
||||
# g, xm = justfit(data_x, data_y, model=model, ibg=ibg)
|
||||
smoothplotgrad(data_x, data_y, reverse=rev)
|
||||
# g, xm = justfit(data_x, data_y, model=model, ibg=ibg)
|
||||
|
||||
# plt.ion()
|
||||
# plt.figure()
|
||||
# plt.plot(data_x, data_y, "*")
|
||||
# plt.plot(data_x, g.best_fit)
|
||||
# plt.xlabel(scanvar)
|
||||
# plt.ylabel(signal_name)
|
||||
# plt.show()
|
||||
# plt.ion()
|
||||
# plt.figure()
|
||||
# plt.plot(data_x, data_y, "*")
|
||||
# plt.plot(data_x, g.best_fit)
|
||||
# plt.xlabel(scanvar)
|
||||
# plt.ylabel(signal_name)
|
||||
# plt.show()
|
||||
|
||||
# gcen = g.pars["center"].value
|
||||
# gcen = g.pars["center"].value
|
||||
|
||||
|
||||
if isave:
|
||||
if isave:
|
||||
ans = "n"
|
||||
ans = input("Store data in csv file? y/n ")
|
||||
if ans == "y":
|
||||
@@ -75,5 +74,4 @@ def knife_plothist(hindex: int, signal_name: str, isave=1):
|
||||
with open(filename, "w") as f:
|
||||
np.savetxt(f, combined, delimiter=",", fmt="%.9e")
|
||||
|
||||
|
||||
return data_x, data_y
|
||||
@@ -0,0 +1 @@
|
||||
,mcauley_k,x10sa-vcons-01.psi.ch,08.10.2026 15:28,file:///home/mcauley_k/.config/libreoffice/4;
|
||||
@@ -0,0 +1 @@
|
||||
,mcauley_k,x10sa-vcons-01.psi.ch,08.10.2026 13:22,file:///home/mcauley_k/.config/libreoffice/4;
|
||||
@@ -0,0 +1,62 @@
|
||||
Energy,Bragg,bcu_bpmsum
|
||||
10953.10,181.54,470.19
|
||||
10957.97,181.46,438.23
|
||||
10962.84,181.38,400.62
|
||||
10967.71,181.30,356.31
|
||||
10972.59,181.22,306.11
|
||||
10977.48,181.13,260.07
|
||||
10982.37,181.05,220.42
|
||||
10987.26,180.97,183.83
|
||||
10992.16,180.89,149.68
|
||||
10997.06,180.81,118.61
|
||||
11001.97,180.73,92.83
|
||||
11006.88,180.64,71.99
|
||||
11011.79,180.56,55.37
|
||||
11016.71,180.48,42.38
|
||||
11021.64,180.40,32.61
|
||||
11026.57,180.32,25.78
|
||||
11031.50,180.24,20.77
|
||||
11036.44,180.16,17.35
|
||||
11041.38,180.07,14.84
|
||||
11046.33,179.99,12.82
|
||||
11051.28,179.91,11.37
|
||||
11056.23,179.83,10.35
|
||||
11061.19,179.75,9.51
|
||||
11066.16,179.67,8.88
|
||||
11071.13,179.59,8.40
|
||||
11076.10,179.50,7.76
|
||||
11081.08,179.42,7.14
|
||||
11086.06,179.34,6.48
|
||||
11091.05,179.26,5.77
|
||||
11096.04,179.18,4.60
|
||||
11101.04,179.10,2.02
|
||||
11106.04,179.01,-0.36
|
||||
11111.05,178.93,-0.44
|
||||
11116.06,178.85,-0.49
|
||||
11121.07,178.77,-0.56
|
||||
11126.09,178.69,-0.61
|
||||
11131.12,178.61,-0.59
|
||||
11136.15,178.53,-0.78
|
||||
11141.18,178.44,-0.69
|
||||
11146.22,178.36,-0.77
|
||||
11151.26,178.28,-0.95
|
||||
11156.31,178.20,-0.89
|
||||
11161.36,178.12,-0.93
|
||||
11166.42,178.04,-0.83
|
||||
11171.48,177.95,-0.80
|
||||
11176.54,177.87,-0.86
|
||||
11181.62,177.79,-0.84
|
||||
11186.69,177.71,-0.84
|
||||
11191.77,177.63,-0.81
|
||||
11196.86,177.55,-0.87
|
||||
11201.95,177.47,-0.81
|
||||
11207.04,177.38,-0.87
|
||||
11212.14,177.30,-0.85
|
||||
11217.24,177.22,-0.87
|
||||
11222.35,177.14,-0.89
|
||||
11227.46,177.06,-0.89
|
||||
11232.58,176.98,-0.98
|
||||
11237.70,176.89,-1.00
|
||||
11242.83,176.81,-0.91
|
||||
11247.96,176.73,-0.94
|
||||
11253.10,176.65,-0.93
|
||||
|
@@ -0,0 +1,42 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,i1,transmission
|
||||
11003.00,180.71,40337.50,5034.70,-3.155e-08,0.124814
|
||||
11007.91,180.63,37732.95,4708.18,-2.250e-08,0.124776
|
||||
11012.83,180.55,34281.68,4266.30,-3.557e-08,0.124448
|
||||
11017.75,180.46,30615.46,3784.28,-1.949e-08,0.123607
|
||||
11022.67,180.38,26805.50,3293.21,-2.652e-08,0.122856
|
||||
11027.60,180.30,22925.68,2777.94,-4.461e-08,0.121172
|
||||
11032.54,180.22,19156.72,2341.29,-3.356e-08,0.122218
|
||||
11037.47,180.14,15677.61,1953.26,-3.456e-08,0.124589
|
||||
11042.42,180.06,12596.19,1561.34,-2.853e-08,0.123954
|
||||
11047.36,179.98,9918.65,1227.28,-2.351e-08,0.123734
|
||||
11052.32,179.89,7733.56,966.71,-4.260e-08,0.125003
|
||||
11057.27,179.81,5977.05,749.14,-2.954e-08,0.125336
|
||||
11062.23,179.73,4610.51,573.09,-3.155e-08,0.124301
|
||||
11067.20,179.65,3555.33,435.38,-3.758e-08,0.122458
|
||||
11072.17,179.57,2781.84,332.98,-3.255e-08,0.119699
|
||||
11077.14,179.49,2220.76,256.63,-3.758e-08,0.115557
|
||||
11082.12,179.40,1810.15,200.61,-2.552e-08,0.110823
|
||||
11087.11,179.32,1511.84,158.34,-3.255e-08,0.104733
|
||||
11092.09,179.24,1291.08,122.44,-2.753e-08,0.094832
|
||||
11097.09,179.16,1134.07,85.85,4.825e-06,0.075699
|
||||
11102.08,179.08,1016.08,26.46,1.285e-06,0.026045
|
||||
11107.09,179.00,927.11,1.40,-3.959e-08,0.001512
|
||||
11112.09,178.92,851.57,0.96,-3.657e-08,0.001123
|
||||
11117.10,178.83,790.39,0.71,-3.657e-08,0.000900
|
||||
11122.12,178.75,741.22,0.76,-3.858e-08,0.001029
|
||||
11127.14,178.67,701.79,0.69,-3.858e-08,0.000981
|
||||
11132.16,178.59,669.60,0.61,-3.858e-08,0.000907
|
||||
11137.19,178.51,643.20,0.52,-4.763e-08,0.000803
|
||||
11142.23,178.43,621.27,0.48,-3.758e-08,0.000771
|
||||
11147.27,178.35,601.54,0.48,-3.959e-08,0.000794
|
||||
11152.31,178.26,585.43,0.35,-4.763e-08,0.000592
|
||||
11157.36,178.18,565.35,0.36,-3.255e-08,0.000640
|
||||
11162.41,178.10,548.24,0.40,-3.858e-08,0.000726
|
||||
11167.47,178.02,530.61,0.33,-2.250e-08,0.000621
|
||||
11172.53,177.94,516.14,0.36,-4.562e-08,0.000707
|
||||
11177.60,177.86,502.31,0.16,-3.054e-08,0.000326
|
||||
11182.67,177.77,481.54,0.28,-4.763e-08,0.000577
|
||||
11187.74,177.69,458.78,0.00,-2.853e-08,0.000007
|
||||
11192.82,177.61,442.42,0.07,-5.064e-08,0.000160
|
||||
11197.91,177.53,420.53,0.02,-2.753e-08,0.000050
|
||||
11203.00,177.45,401.79,-0.06,-3.255e-08,-0.000153
|
||||
|
@@ -0,0 +1,62 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11087.00,179.33,38560.26,4535.26,0.117615
|
||||
11087.50,179.32,38275.33,4463.22,0.116608
|
||||
11088.00,179.31,37999.53,4402.33,0.115852
|
||||
11088.50,179.30,37721.18,4343.98,0.115160
|
||||
11088.99,179.29,37433.34,4282.19,0.114395
|
||||
11089.49,179.28,37162.01,4224.25,0.113671
|
||||
11089.99,179.28,36904.09,4161.01,0.112752
|
||||
11090.49,179.27,36648.40,4089.77,0.111595
|
||||
11090.99,179.26,36323.22,4012.69,0.110472
|
||||
11091.49,179.25,36017.72,3929.25,0.109092
|
||||
11091.99,179.24,35694.92,3845.33,0.107728
|
||||
11092.49,179.24,35384.70,3760.69,0.106280
|
||||
11092.99,179.23,35063.40,3678.15,0.104900
|
||||
11093.49,179.22,34734.79,3590.19,0.103360
|
||||
11093.99,179.21,34414.03,3499.21,0.101680
|
||||
11094.48,179.20,34086.77,3403.19,0.099839
|
||||
11094.98,179.19,33768.33,3300.05,0.097726
|
||||
11095.48,179.19,33447.18,3189.84,0.095369
|
||||
11095.98,179.18,33094.10,3068.68,0.092726
|
||||
11096.48,179.17,32745.61,2944.15,0.089910
|
||||
11096.98,179.16,32377.90,2807.15,0.086699
|
||||
11097.48,179.15,31997.60,2661.17,0.083168
|
||||
11097.98,179.15,31669.44,2509.51,0.079241
|
||||
11098.48,179.14,31301.86,2342.72,0.074843
|
||||
11098.98,179.13,30946.58,2168.22,0.070063
|
||||
11099.48,179.12,30599.35,1976.57,0.064595
|
||||
11099.98,179.11,30238.94,1777.62,0.058786
|
||||
11100.48,179.11,29827.78,1551.64,0.052020
|
||||
11100.98,179.10,29476.59,1319.85,0.044776
|
||||
11101.48,179.09,29100.97,1068.57,0.036719
|
||||
11101.98,179.08,28749.53,815.70,0.028373
|
||||
11102.48,179.07,28376.86,577.46,0.020350
|
||||
11102.98,179.06,27983.70,363.72,0.012998
|
||||
11103.48,179.06,27609.67,201.28,0.007290
|
||||
11103.98,179.05,27256.50,93.88,0.003444
|
||||
11104.48,179.04,26875.74,37.45,0.001394
|
||||
11104.98,179.03,26496.50,13.07,0.000493
|
||||
11105.48,179.02,26113.35,5.24,0.000200
|
||||
11105.98,179.02,25731.34,2.71,0.000105
|
||||
11106.48,179.01,25355.73,2.30,0.000091
|
||||
11106.98,179.00,24961.87,1.74,0.000070
|
||||
11107.48,178.99,24564.77,1.50,0.000061
|
||||
11107.98,178.98,24188.86,1.34,0.000055
|
||||
11108.48,178.97,23802.97,1.42,0.000059
|
||||
11108.98,178.97,23424.93,1.32,0.000056
|
||||
11109.48,178.96,23028.96,1.20,0.000052
|
||||
11109.99,178.95,22653.38,1.05,0.000047
|
||||
11110.49,178.94,22255.46,0.98,0.000044
|
||||
11110.99,178.93,21872.37,0.91,0.000041
|
||||
11111.49,178.93,21461.83,0.86,0.000040
|
||||
11111.99,178.92,21102.15,0.76,0.000036
|
||||
11112.49,178.91,20718.33,0.72,0.000035
|
||||
11112.99,178.90,20363.01,0.66,0.000033
|
||||
11113.49,178.89,19982.21,0.64,0.000032
|
||||
11113.99,178.88,19623.79,0.57,0.000029
|
||||
11114.49,178.88,19255.10,0.56,0.000029
|
||||
11114.99,178.87,18913.77,0.49,0.000026
|
||||
11115.50,178.86,18561.76,0.54,0.000029
|
||||
11116.00,178.85,18178.33,0.53,0.000029
|
||||
11116.50,178.84,17847.83,0.44,0.000024
|
||||
11117.00,178.84,17486.73,0.48,0.000028
|
||||
|
@@ -0,0 +1,42 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11003.00,180.71,39854.34,5135.60,0.128859
|
||||
11007.91,180.63,37192.26,4756.05,0.127877
|
||||
11012.83,180.55,34019.56,4326.89,0.127188
|
||||
11017.75,180.46,30427.58,3878.67,0.127472
|
||||
11022.67,180.38,26633.96,3368.52,0.126474
|
||||
11027.60,180.30,22820.00,2854.62,0.125093
|
||||
11032.54,180.22,19140.74,2436.85,0.127312
|
||||
11037.47,180.14,15684.96,1992.82,0.127053
|
||||
11042.42,180.06,12620.92,1595.40,0.126409
|
||||
11047.36,179.98,9966.27,1272.07,0.127637
|
||||
11052.32,179.89,7781.57,998.18,0.128274
|
||||
11057.27,179.81,6015.60,772.56,0.128426
|
||||
11062.23,179.73,4630.19,586.27,0.126618
|
||||
11067.20,179.65,3571.05,441.95,0.123758
|
||||
11072.17,179.57,2779.62,332.68,0.119686
|
||||
11077.14,179.49,2211.73,253.72,0.114715
|
||||
11082.12,179.40,1796.12,194.46,0.108265
|
||||
11087.11,179.32,1494.90,146.82,0.098212
|
||||
11092.09,179.24,1287.16,101.68,0.078999
|
||||
11097.09,179.16,1118.17,35.77,0.031992
|
||||
11102.08,179.08,989.75,1.87,0.001892
|
||||
11107.09,179.00,896.34,1.43,0.001593
|
||||
11112.09,178.92,821.20,1.06,0.001293
|
||||
11117.10,178.83,761.17,0.86,0.001135
|
||||
11122.12,178.75,714.76,0.70,0.000980
|
||||
11127.14,178.67,679.67,0.61,0.000890
|
||||
11132.16,178.59,648.22,0.58,0.000899
|
||||
11137.19,178.51,615.42,0.41,0.000660
|
||||
11142.23,178.43,595.71,0.35,0.000590
|
||||
11147.27,178.35,585.79,0.36,0.000606
|
||||
11152.31,178.26,561.83,0.28,0.000495
|
||||
11157.36,178.18,541.53,0.31,0.000567
|
||||
11162.41,178.10,526.27,0.23,0.000435
|
||||
11167.47,178.02,506.37,0.19,0.000376
|
||||
11172.53,177.94,485.59,0.12,0.000238
|
||||
11177.60,177.86,470.40,0.16,0.000341
|
||||
11182.67,177.77,449.74,0.08,0.000184
|
||||
11187.74,177.69,430.29,0.03,0.000063
|
||||
11192.82,177.61,407.55,0.07,0.000167
|
||||
11197.91,177.53,388.94,0.07,0.000178
|
||||
11203.00,177.45,373.55,0.10,0.000264
|
||||
|
@@ -0,0 +1,62 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11087.00,179.33,40803.39,4923.21,0.120657
|
||||
11087.50,179.32,40632.73,4872.86,0.119925
|
||||
11088.00,179.31,40434.30,4822.80,0.119275
|
||||
11088.50,179.30,40234.38,4773.51,0.118643
|
||||
11088.99,179.29,40033.04,4719.28,0.117885
|
||||
11089.49,179.28,39790.80,4665.41,0.117248
|
||||
11089.99,179.28,39643.25,4613.48,0.116375
|
||||
11090.49,179.27,39445.42,4562.87,0.115676
|
||||
11090.99,179.26,39261.94,4506.05,0.114769
|
||||
11091.49,179.25,39036.39,4442.76,0.113811
|
||||
11091.99,179.24,38813.22,4370.94,0.112615
|
||||
11092.49,179.24,38567.29,4298.37,0.111451
|
||||
11092.99,179.23,38327.95,4226.19,0.110264
|
||||
11093.49,179.22,38047.01,4148.71,0.109042
|
||||
11093.99,179.21,37755.27,4065.48,0.107680
|
||||
11094.48,179.20,37502.19,3971.56,0.105902
|
||||
11094.98,179.19,37253.79,3865.72,0.103767
|
||||
11095.48,179.19,36959.52,3760.99,0.101760
|
||||
11095.98,179.18,36698.11,3647.32,0.099387
|
||||
11096.48,179.17,36424.81,3528.30,0.096865
|
||||
11096.98,179.16,36123.06,3406.20,0.094294
|
||||
11097.48,179.15,35824.28,3277.61,0.091491
|
||||
11097.98,179.15,35526.06,3140.40,0.088397
|
||||
11098.48,179.14,35257.47,2991.72,0.084853
|
||||
11098.98,179.13,34954.34,2834.08,0.081080
|
||||
11099.48,179.12,34632.96,2655.23,0.076668
|
||||
11099.98,179.11,34339.50,2471.89,0.071984
|
||||
11100.48,179.11,34007.19,2259.99,0.066456
|
||||
11100.98,179.10,33662.66,2033.69,0.060414
|
||||
11101.48,179.09,33330.11,1786.32,0.053595
|
||||
11101.98,179.08,32997.13,1524.36,0.046197
|
||||
11102.48,179.07,32674.09,1240.42,0.037963
|
||||
11102.98,179.06,32266.53,951.76,0.029497
|
||||
11103.48,179.06,31933.44,679.88,0.021291
|
||||
11103.98,179.05,31636.60,435.79,0.013775
|
||||
11104.48,179.04,31369.22,249.95,0.007968
|
||||
11104.98,179.03,31027.85,120.78,0.003893
|
||||
11105.48,179.02,30634.91,50.59,0.001651
|
||||
11105.98,179.02,30266.85,18.11,0.000598
|
||||
11106.48,179.01,30028.47,6.72,0.000224
|
||||
11106.98,179.00,29680.09,3.60,0.000121
|
||||
11107.48,178.99,29252.87,2.66,0.000091
|
||||
11107.98,178.98,28968.99,2.14,0.000074
|
||||
11108.48,178.97,28606.73,1.86,0.000065
|
||||
11108.98,178.97,28298.05,1.75,0.000062
|
||||
11109.48,178.96,27894.51,1.59,0.000057
|
||||
11109.99,178.95,27513.24,1.50,0.000055
|
||||
11110.49,178.94,27192.70,1.41,0.000052
|
||||
11110.99,178.93,26814.59,1.44,0.000054
|
||||
11111.49,178.93,26416.19,1.27,0.000048
|
||||
11111.99,178.92,26059.44,1.25,0.000048
|
||||
11112.49,178.91,25677.19,1.18,0.000046
|
||||
11112.99,178.90,25304.06,1.06,0.000042
|
||||
11113.49,178.89,24924.72,1.02,0.000041
|
||||
11113.99,178.88,24519.39,0.98,0.000040
|
||||
11114.49,178.88,24145.24,0.89,0.000037
|
||||
11114.99,178.87,23793.34,0.87,0.000037
|
||||
11115.50,178.86,23402.14,0.86,0.000037
|
||||
11116.00,178.85,23018.34,0.82,0.000035
|
||||
11116.50,178.84,22650.08,0.75,0.000033
|
||||
11117.00,178.84,22289.77,0.75,0.000034
|
||||
|
@@ -0,0 +1,42 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11063.00,179.72,41623.66,5536.06,0.133003
|
||||
11064.99,179.69,41032.06,5438.49,0.132542
|
||||
11066.97,179.65,40347.29,5330.93,0.132126
|
||||
11068.96,179.62,39509.59,5209.13,0.131845
|
||||
11070.95,179.59,38586.20,5066.84,0.131312
|
||||
11072.94,179.56,37583.59,4918.55,0.130870
|
||||
11074.93,179.52,36431.57,4748.50,0.130340
|
||||
11076.92,179.49,35194.73,4559.41,0.129548
|
||||
11078.91,179.46,34009.67,4379.38,0.128769
|
||||
11080.90,179.42,32659.75,4160.74,0.127396
|
||||
11082.89,179.39,31263.11,3941.04,0.126061
|
||||
11084.88,179.36,29835.56,3709.27,0.124324
|
||||
11086.88,179.33,28378.22,3472.39,0.122361
|
||||
11088.87,179.29,26821.81,3213.89,0.119824
|
||||
11090.87,179.26,25347.66,2946.04,0.116225
|
||||
11092.86,179.23,23851.62,2660.02,0.111524
|
||||
11094.86,179.20,22343.16,2344.90,0.104949
|
||||
11096.86,179.16,20904.96,2001.88,0.095761
|
||||
11098.86,179.13,19466.62,1602.34,0.082312
|
||||
11100.85,179.10,18046.81,1109.74,0.061492
|
||||
11102.85,179.07,16677.32,503.70,0.030202
|
||||
11104.85,179.03,15405.53,64.00,0.004154
|
||||
11106.85,179.00,14160.19,4.63,0.000327
|
||||
11108.86,178.97,12967.10,3.32,0.000256
|
||||
11110.86,178.94,11840.61,2.65,0.000224
|
||||
11112.86,178.90,10772.04,2.25,0.000209
|
||||
11114.87,178.87,9778.05,1.91,0.000195
|
||||
11116.87,178.84,8896.02,1.72,0.000193
|
||||
11118.88,178.81,8040.33,1.58,0.000196
|
||||
11120.88,178.77,7246.21,1.48,0.000205
|
||||
11122.89,178.74,6527.67,1.31,0.000200
|
||||
11124.90,178.71,5895.60,1.21,0.000205
|
||||
11126.91,178.68,5300.24,1.12,0.000211
|
||||
11128.92,178.64,4771.84,1.00,0.000209
|
||||
11130.93,178.61,4293.77,0.96,0.000225
|
||||
11132.94,178.58,3877.26,0.88,0.000227
|
||||
11134.95,178.54,3486.78,1.04,0.000298
|
||||
11136.96,178.51,3154.25,0.93,0.000296
|
||||
11138.97,178.48,2852.14,0.87,0.000306
|
||||
11140.99,178.45,2595.68,0.83,0.000321
|
||||
11143.00,178.41,2371.33,0.67,0.000284
|
||||
|
@@ -0,0 +1,42 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11063.00,179.72,41667.03,5562.96,0.133510
|
||||
11064.99,179.69,41240.92,5482.80,0.132946
|
||||
11066.97,179.65,40665.57,5398.81,0.132761
|
||||
11068.96,179.62,40004.77,5296.21,0.132390
|
||||
11070.95,179.59,39198.19,5173.20,0.131975
|
||||
11072.94,179.56,38308.99,5046.00,0.131718
|
||||
11074.93,179.52,37308.79,4891.96,0.131121
|
||||
11076.92,179.49,36198.94,4717.20,0.130313
|
||||
11078.91,179.46,35098.92,4545.17,0.129496
|
||||
11080.90,179.42,33826.54,4338.63,0.128261
|
||||
11082.89,179.39,32524.71,4129.39,0.126962
|
||||
11084.88,179.36,31194.30,3903.90,0.125148
|
||||
11086.88,179.33,29761.99,3672.08,0.123381
|
||||
11088.87,179.29,28270.14,3419.86,0.120971
|
||||
11090.87,179.26,26795.87,3144.07,0.117334
|
||||
11092.86,179.23,25330.33,2849.29,0.112485
|
||||
11094.86,179.20,23815.25,2525.76,0.106057
|
||||
11096.86,179.16,22366.92,2167.55,0.096909
|
||||
11098.86,179.13,20882.63,1743.30,0.083481
|
||||
11100.85,179.10,19439.42,1212.69,0.062383
|
||||
11102.85,179.07,18039.23,555.41,0.030789
|
||||
11104.85,179.03,16717.41,70.81,0.004235
|
||||
11106.85,179.00,15439.94,3.98,0.000258
|
||||
11108.86,178.97,14174.59,2.53,0.000178
|
||||
11110.86,178.94,12986.81,2.03,0.000156
|
||||
11112.86,178.90,11820.02,1.62,0.000137
|
||||
11114.87,178.87,10770.63,1.37,0.000127
|
||||
11116.87,178.84,9786.64,1.23,0.000125
|
||||
11118.88,178.81,8871.50,1.20,0.000136
|
||||
11120.88,178.77,8014.78,1.10,0.000138
|
||||
11122.89,178.74,7217.88,0.99,0.000137
|
||||
11124.90,178.71,6508.82,0.77,0.000119
|
||||
11126.91,178.68,5862.46,0.69,0.000118
|
||||
11128.92,178.64,5274.38,0.64,0.000121
|
||||
11130.93,178.61,4750.03,0.55,0.000117
|
||||
11132.94,178.58,4265.10,0.37,0.000087
|
||||
11134.95,178.54,3846.43,0.35,0.000091
|
||||
11136.96,178.51,3456.73,0.28,0.000080
|
||||
11138.97,178.48,3116.88,0.37,0.000118
|
||||
11140.99,178.45,2832.64,0.18,0.000063
|
||||
11143.00,178.41,2559.37,0.18,0.000071
|
||||
|
@@ -0,0 +1,42 @@
|
||||
Energy,Bragg,ss_bpmsum,bcu_bpmsum,transmission
|
||||
11063.00,179.72,42766.45,5706.97,0.133445
|
||||
11064.99,179.69,42362.26,5654.93,0.133490
|
||||
11066.97,179.65,41803.16,5542.14,0.132577
|
||||
11068.96,179.62,41174.13,5428.07,0.131832
|
||||
11070.95,179.59,40377.74,5311.25,0.131539
|
||||
11072.94,179.56,39491.34,5188.41,0.131381
|
||||
11074.93,179.52,38488.72,5029.04,0.130663
|
||||
11076.92,179.49,37359.12,4863.41,0.130180
|
||||
11078.91,179.46,36273.09,4688.13,0.129245
|
||||
11080.90,179.42,35001.62,4488.06,0.128224
|
||||
11082.89,179.39,33697.03,4280.96,0.127043
|
||||
11084.88,179.36,32311.73,4058.17,0.125594
|
||||
11086.88,179.33,30905.01,3822.69,0.123691
|
||||
11088.87,179.29,29361.59,3553.22,0.121016
|
||||
11090.87,179.26,27887.20,3273.82,0.117395
|
||||
11092.86,179.23,26398.36,2972.25,0.112592
|
||||
11094.86,179.20,24844.98,2630.87,0.105891
|
||||
11096.86,179.16,23367.16,2246.50,0.096139
|
||||
11098.86,179.13,21824.37,1790.48,0.082041
|
||||
11100.85,179.10,20348.11,1220.85,0.059998
|
||||
11102.85,179.07,18918.98,519.55,0.027462
|
||||
11104.85,179.03,17522.10,54.03,0.003083
|
||||
11106.85,179.00,16196.63,3.72,0.000230
|
||||
11108.86,178.97,14868.96,2.51,0.000169
|
||||
11110.86,178.94,13647.45,1.93,0.000142
|
||||
11112.86,178.90,12456.36,1.56,0.000125
|
||||
11114.87,178.87,11361.93,1.55,0.000137
|
||||
11116.87,178.84,10313.20,1.33,0.000129
|
||||
11118.88,178.81,9359.12,1.24,0.000133
|
||||
11120.88,178.77,8462.53,1.27,0.000150
|
||||
11122.89,178.74,7636.72,1.05,0.000138
|
||||
11124.90,178.71,6880.61,0.96,0.000140
|
||||
11126.91,178.68,6203.29,0.83,0.000134
|
||||
11128.92,178.64,5572.87,0.78,0.000141
|
||||
11130.93,178.61,5016.50,0.64,0.000127
|
||||
11132.94,178.58,4503.12,0.62,0.000138
|
||||
11134.95,178.54,4049.98,0.54,0.000133
|
||||
11136.96,178.51,3653.15,0.48,0.000130
|
||||
11138.97,178.48,3302.12,0.44,0.000133
|
||||
11140.99,178.45,2969.27,0.38,0.000128
|
||||
11143.00,178.41,2685.31,0.35,0.000130
|
||||
|
@@ -0,0 +1,14 @@
|
||||
Energy,I2_in,I2_out
|
||||
30000,-2.406e-08, -1.616e-09
|
||||
28000,-3.529e-08, 1.249e-07
|
||||
26000,-2.202e-08, 5.239e-07
|
||||
24000,-3.019e-08, 1.122e-06
|
||||
22000,-2.61e-08, -3.223e-08
|
||||
20000,-2.508e-08, 9.529e-06
|
||||
18000,-3.019e-08, 4.014e-05
|
||||
16000,-3.631e-08, 8.072e-05
|
||||
14000,-1.998e-08, 0.0001758
|
||||
12000,-1.692e-08, 0.0003101
|
||||
10000,-1.488e-08, 0.0001962
|
||||
8000,-2.202e-08, 4.622e-05
|
||||
6000,-2.917e-08, 4.441e-05
|
||||
|
@@ -0,0 +1,2 @@
|
||||
timestamp,energy_eV,flux_ph_s,beam_start_x_px,beam_start_y_px,vfm_ydr_start_mm,hfm_xd_start_mm,vfm_ydr_final_mm,hfm_xd_final_mm,beam_final_x_um,beam_final_y_um,vfm_y_mm,vfm_ydr_mm,vfm_pitch_mrad,hfm_x_mm,hfm_xd_mm,hfm_pitch_mrad
|
||||
2026-09-20T20:56:20,12400.009895999128,8551180983998.611,992.9837196699019,966.3893864711606,-0.8453499999999963,1.9120150000000038,,1.9120100000000022,0.08792363645093884,0.23523677769901796,-1.5538537499999947,-0.8453549999999908,2.989410000000006,1.4117925000000042,1.9120100000000022,3.0009000000000015
|
||||
|
@@ -0,0 +1,65 @@
|
||||
energy,harmonic,gap,pitch,samcam_x,samcam_y,zoom=800.0
|
||||
6000,H3,5.9135,-5.5184,1011,987.4
|
||||
6300,H3,6.1926,-5.5135,1006,988.6
|
||||
6600,H3,6.4796,-5.5098,1014,991.3
|
||||
6900,H3,6.7745,-5.5083,1006,988.3
|
||||
7200,H3,7.0913,-5.506,1002,989.1
|
||||
7500,H5,4.6331,-5.5042,1004,982.8
|
||||
7800,H5,4.783,-5.502,1009,982.2
|
||||
8100,H5,4.9292,-5.5005,1011,981.7
|
||||
8400,H5,5.0802,-5.498,1019,978
|
||||
8700,H5,5.2312,-5.4978,1011,979.4
|
||||
9000,H5,5.3823,-5.4967,1011,979.2
|
||||
9300,H5,5.5381,-5.4952,1013,977.1
|
||||
9600,H5,5.697,-5.4944,1015,973.8
|
||||
9900,H5,5.8558,-5.4934,1015,972.4
|
||||
10200,H7,4.529,-5.4935,1010,968.3
|
||||
10500,H7,4.6331,-5.4921,1010,970
|
||||
10800,H7,4.7365,-5.4911,1010,969.1
|
||||
11100,H7,4.8437,-5.4913,1006,969.5
|
||||
11400,H7,4.9509,-5.4889,1019,968.7
|
||||
11700,H7,5.0581,-5.4889,1012,967.4
|
||||
12000,H7,5.1654,-5.489,1015,965.4
|
||||
12300,H7,5.2726,-5.489,1011,968.2
|
||||
12600,H7,5.3847,-5.488,1008,965.8
|
||||
12900,H7,5.495,-5.4882,1005,967.8
|
||||
13200,H9,4.5498,-5.4873,1013,964.4
|
||||
13500,H9,4.6331,-5.4873,1010,965.8
|
||||
13800,H9,4.7121,-5.4864,1014,963.7
|
||||
14100,H9,4.7949,-5.4864,1008,963.5
|
||||
14400,H9,4.8826,-5.4864,1008,964.7
|
||||
14700,H9,4.9605,-5.4853,1013,963.3
|
||||
15000,H9,5.0433,-5.4852,1011,963.9
|
||||
15300,H9,5.1261,-5.4844,1013,964.9
|
||||
15600,H9,5.2089,-5.4844,1012,964.2
|
||||
15900,H9,5.2949,-5.4836,1012,965.6
|
||||
16200,H11,4.565,-5.4838,1006,962.4
|
||||
16500,H11,4.6331,-5.483,1012,964
|
||||
16800,H11,4.6955,-5.483,1009,963
|
||||
17100,H11,4.7631,-5.4821,1014,963.6
|
||||
17400,H11,4.8308,-5.4819,1010,961.8
|
||||
17700,H11,4.8984,-5.4822,1007,962
|
||||
18000,H11,4.9661,-5.4824,1003,960.8
|
||||
18300,H11,5.0337,-5.4811,1010,961.9
|
||||
18600,H11,5.1014,-5.4811,1010,962
|
||||
18900,H13,4.5186,-5.481,1006,960.6
|
||||
19200,H13,4.5804,-5.4804,1007,960.3
|
||||
19500,H13,4.6282,-5.4803,1012,960.7
|
||||
19800,H13,4.6857,-5.48,1013,959.8
|
||||
20100,H13,4.7407,-5.4803,1013,960
|
||||
20400,H13,4.7993,-5.4802,1012,958.4
|
||||
20700,H13,4.856,-5.4801,1013,958.4
|
||||
21000,H13,4.9129,-5.48,1012,956.8
|
||||
21300,H13,4.9746,-5.4798,1013,953.9
|
||||
21600,H13,5.0313,-5.4795,1015,949.9
|
||||
21900,H15,4.5338,-5.4796,1010,943.4
|
||||
22200,H15,4.5812,-5.4795,1009,940
|
||||
22500,H15,4.6331,-5.4773,1026,933.5
|
||||
22800,H15,4.6764,-5.4796,1010,943
|
||||
23100,H15,4.7355,-5.4795,1000,934.7
|
||||
23400,H15,4.6169,-5.5042,990.5,936.9
|
||||
23700,H15,4.8339,-5.4789,1001,933.7
|
||||
24000,H15,4.7202,-5.4796,996.7,936.3
|
||||
24300,H15,4.7823,-5.4789,996.7,936.3
|
||||
24600,H15,4.809,-5.479,996.7,936.3
|
||||
24900,H17,4.5417,-5.4789,999,944.1
|
||||
|
@@ -0,0 +1,2 @@
|
||||
energy,harmonic,gap,pitch,samcam_x,samcam_y,zoom=800.0
|
||||
25000,H17,4.5812,-5.4766,956.3,919.7
|
||||
|
@@ -0,0 +1,14 @@
|
||||
energy,scan,reason
|
||||
6000,-5.561
|
||||
8000,-5.5432
|
||||
10000,-5.5349
|
||||
12000,-5.5297
|
||||
14000,-5.5268
|
||||
16000,-5.5244
|
||||
18000,-5.5218
|
||||
20000,-5.5203
|
||||
22000,-5.5194
|
||||
24000,-5.519
|
||||
26000,-5.5183
|
||||
28000,-5.5179
|
||||
30000,-5.518
|
||||
|
@@ -0,0 +1,15 @@
|
||||
energy,pitch,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_x,bcu_y,samcam_x,samcam_y,zoom=1000.0
|
||||
18500,-5.5278,0.079312,0.031407,0.57597,0.41821,21.95,0.86,0.4968,0.9468
|
||||
19000,-5.5277,0.10892,0.034869,0.672,-0.043649,22.96,0.79,1.274,0.7789
|
||||
19500,-5.5273,0.1123,0.037979,0.65287,0.41444,29.04,0.98,1.399,0.7602
|
||||
20000,-5.527,0.10889,0.042196,0.76301,0.55486,280.03,-0.09,1.669,0.9976
|
||||
20500,-5.5268,0.11885,0.048114,0.94538,0.64762,25.79,1.31,1.943,0.8993
|
||||
21000,-5.5264,0.11568,0.055515,1.157,0.84596,22.99,2.12,2.15,1.261
|
||||
21500,-5.5257,0.10583,0.061478,1.4832,1.0726,22.62,4.43,1.107,2.616
|
||||
22000,-5.5253,0.14069,0.053697,1.1677,0.83326,25.98,7.66,1.164,7.532
|
||||
22500,-5.5251,0.14969,0.059799,1.1592,-0.24509,26.08,6.51,1.278,8.663
|
||||
23000,-5.5247,0.14373,0.075002,1.5391,0.66679,26.93,7.41,1.376,5.2
|
||||
23500,-5.5243,0.14984,0.091189,2.0988,1.5083,27.65,6.24,0.9794,6.096
|
||||
24000,-5.5242,0.14755,0.10074,2.6501,1.955,29.90,6.02,0.9268,5.937
|
||||
24500,-5.5239,0.15082,0.11364,3.4195,2.5418,32.97,4.64,1.019,4.126
|
||||
25000,-5.5237,0.18897,0.10096,2.2261,1.6208,39.12,3.63,2.495,3.873
|
||||
|
@@ -0,0 +1,15 @@
|
||||
energy,pitch,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_x,bcu_y,samcam_x,samcam_y,zoom=1000.0
|
||||
6000,-5.5651,0.031085,0.036155,0.0052168,0.0041921,10.75,-1.11,-8.771,-4.583
|
||||
7000,-5.5546,0.026899,0.026529,-0.0073424,0.053473,6.16,-1.84,-0.7224,-2.887
|
||||
8000,-5.5484,0.066689,0.032268,0.005212,0.0042436,7.95,-2.62,0.9412,-3.068
|
||||
9000,-5.5441,0.041593,0.029141,-0.010786,0.042077,12.07,-0.95,-0.5363,-2.653
|
||||
10000,-5.5411,0.042201,0.013278,0.025073,0.053635,13.84,-0.60,1.682,-1.665
|
||||
11000,-5.5382,0.065656,0.022891,0.027213,0.041838,21.11,-0.06,1.831,-3.373
|
||||
12000,-5.5358,0.045707,0.02277,0.021949,0.053366,12.55,0.30,-0.132,-0.07301
|
||||
13000,-5.5344,0.046219,0.014825,0.079975,0.088181,17.28,0.47,0.2965,0.02576
|
||||
14000,-5.5325,0.071565,0.024777,0.096642,0.083641,20.87,0.44,-0.04888,0.1838
|
||||
15000,-5.5313,0.063579,0.021258,0.15225,0.12223,18.18,0.67,0.06056,0.4581
|
||||
16000,-5.5304,0.11033,0.023619,0.2533,0.17271,22.24,0.90,1.668,0.6958
|
||||
17000,-5.529,0.094652,0.026446,0.32328,0.23969,23.89,0.86,0.6903,0.5908
|
||||
18000,-5.5278,0.088299,0.029077,0.57684,0.074821,21.01,0.89,0.9228,0.9236
|
||||
energy,pitch,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_x,bcu_y,samcam_x,samcam_y,zoom=1000.0
|
||||
@@ -0,0 +1,14 @@
|
||||
energy,pitch,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_x,bcu_y,samcam_x,samcam_y,zoom=1000.0
|
||||
6000,-5.5651,0.031085,0.036155,0.0052168,0.0041921,10.75,-1.11,-8.771,-4.583
|
||||
7000,-5.5546,0.026899,0.026529,-0.0073424,0.053473,6.16,-1.84,-0.7224,-2.887
|
||||
8000,-5.5484,0.066689,0.032268,0.005212,0.0042436,7.95,-2.62,0.9412,-3.068
|
||||
9000,-5.5441,0.041593,0.029141,-0.010786,0.042077,12.07,-0.95,-0.5363,-2.653
|
||||
10000,-5.5411,0.042201,0.013278,0.025073,0.053635,13.84,-0.60,1.682,-1.665
|
||||
11000,-5.5382,0.065656,0.022891,0.027213,0.041838,21.11,-0.06,1.831,-3.373
|
||||
12000,-5.5358,0.045707,0.02277,0.021949,0.053366,12.55,0.30,-0.132,-0.07301
|
||||
13000,-5.5344,0.046219,0.014825,0.079975,0.088181,17.28,0.47,0.2965,0.02576
|
||||
14000,-5.5325,0.071565,0.024777,0.096642,0.083641,20.87,0.44,-0.04888,0.1838
|
||||
15000,-5.5313,0.063579,0.021258,0.15225,0.12223,18.18,0.67,0.06056,0.4581
|
||||
16000,-5.5304,0.11033,0.023619,0.2533,0.17271,22.24,0.90,1.668,0.6958
|
||||
17000,-5.529,0.094652,0.026446,0.32328,0.23969,23.89,0.86,0.6903,0.5908
|
||||
18000,-5.5278,0.088299,0.029077,0.57684,0.074821,21.01,0.89,0.9228,0.9236
|
||||
|
@@ -0,0 +1,28 @@
|
||||
energy,pitch,lu_Xnorm,lu_Ynorm,ss_Xnorm,ss_Ynorm,bcu_x,bcu_y,samcam_x,samcam_y,zoom=1000.0
|
||||
6000,-5.5651,0.031085,0.036155,0.0052168,0.0041921,10.75,-1.11,-8.771,-4.583
|
||||
7000,-5.5546,0.026899,0.026529,-0.0073424,0.053473,6.16,-1.84,-0.7224,-2.887
|
||||
8000,-5.5484,0.066689,0.032268,0.005212,0.0042436,7.95,-2.62,0.9412,-3.068
|
||||
9000,-5.5441,0.041593,0.029141,-0.010786,0.042077,12.07,-0.95,-0.5363,-2.653
|
||||
10000,-5.5411,0.042201,0.013278,0.025073,0.053635,13.84,-0.60,1.682,-1.665
|
||||
11000,-5.5382,0.065656,0.022891,0.027213,0.041838,21.11,-0.06,1.831,-3.373
|
||||
12000,-5.5358,0.045707,0.02277,0.021949,0.053366,12.55,0.30,-0.132,-0.07301
|
||||
13000,-5.5344,0.046219,0.014825,0.079975,0.088181,17.28,0.47,0.2965,0.02576
|
||||
14000,-5.5325,0.071565,0.024777,0.096642,0.083641,20.87,0.44,-0.04888,0.1838
|
||||
15000,-5.5313,0.063579,0.021258,0.15225,0.12223,18.18,0.67,0.06056,0.4581
|
||||
16000,-5.5304,0.11033,0.023619,0.2533,0.17271,22.24,0.90,1.668,0.6958
|
||||
17000,-5.529,0.094652,0.026446,0.32328,0.23969,23.89,0.86,0.6903,0.5908
|
||||
18000,-5.5278,0.088299,0.029077,0.57684,0.074821,21.01,0.89,0.9228,0.9236
|
||||
18500,-5.5278,0.079312,0.031407,0.57597,0.41821,21.95,0.86,0.4968,0.9468
|
||||
19000,-5.5277,0.10892,0.034869,0.672,-0.043649,22.96,0.79,1.274,0.7789
|
||||
19500,-5.5273,0.1123,0.037979,0.65287,0.41444,29.04,0.98,1.399,0.7602
|
||||
20000,-5.527,0.10889,0.042196,0.76301,0.55486,280.03,-0.09,1.669,0.9976
|
||||
20500,-5.5268,0.11885,0.048114,0.94538,0.64762,25.79,1.31,1.943,0.8993
|
||||
21000,-5.5264,0.11568,0.055515,1.157,0.84596,22.99,2.12,2.15,1.261
|
||||
21500,-5.5257,0.10583,0.061478,1.4832,1.0726,22.62,4.43,1.107,2.616
|
||||
22000,-5.5253,0.14069,0.053697,1.1677,0.83326,25.98,7.66,1.164,7.532
|
||||
22500,-5.5251,0.14969,0.059799,1.1592,-0.24509,26.08,6.51,1.278,8.663
|
||||
23000,-5.5247,0.14373,0.075002,1.5391,0.66679,26.93,7.41,1.376,5.2
|
||||
23500,-5.5243,0.14984,0.091189,2.0988,1.5083,27.65,6.24,0.9794,6.096
|
||||
24000,-5.5242,0.14755,0.10074,2.6501,1.955,29.90,6.02,0.9268,5.937
|
||||
24500,-5.5239,0.15082,0.11364,3.4195,2.5418,32.97,4.64,1.019,4.126
|
||||
25000,-5.5237,0.18897,0.10096,2.2261,1.6208,39.12,3.63,2.495,3.873
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,scan,reason
|
||||
|
@@ -0,0 +1,7 @@
|
||||
energy,scan,reason
|
||||
23400,mono_pitch,Peak FWHM spans only 0.00 scan steps (minimum 1.5); centre uncertainty is large (0.000267)
|
||||
24900,gap,An alarm has occurred. Severity: MAJOR.
|
||||
ValueError.
|
||||
An error occurred during 'set' on device 'id_gap'.
|
||||
|
||||
ValueError: 4.4999 outside of user-specified limits
|
||||
|
@@ -0,0 +1,3 @@
|
||||
energy,scan,reason
|
||||
25400,gap,User abort.
|
||||
25400,mono_pitch_exception,User abort.
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
|
@@ -0,0 +1,21 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,samcam_x,samcam_y
|
||||
22000,4.5350,44.8,0.232,0.093,5.3,7.1
|
||||
22000,4.5360,46.0,0.230,0.092,5.3,7.2
|
||||
22000,4.5371,48.7,0.223,0.086,5.3,7.4
|
||||
22000,4.5381,52.3,0.216,0.081,5.1,7.6
|
||||
22000,4.5392,56.5,0.205,0.076,5.3,7.8
|
||||
22000,4.5403,61.0,0.199,0.074,5.1,7.9
|
||||
22000,4.5413,65.0,0.193,0.070,5.3,8.0
|
||||
22000,4.5424,69.7,0.188,0.066,5.4,8.2
|
||||
22000,4.5434,74.5,0.181,0.064,5.4,8.3
|
||||
22000,4.5445,79.0,0.179,0.063,5.4,8.4
|
||||
22000,4.5455,83.5,0.177,0.066,5.6,8.5
|
||||
22000,4.5466,88.1,0.175,0.058,5.7,8.7
|
||||
22000,4.5476,92.8,0.173,0.059,5.7,8.8
|
||||
22000,4.5487,96.8,0.172,0.058,5.9,8.9
|
||||
22000,4.5497,101.2,0.171,0.056,6.2,9.0
|
||||
22000,4.5508,105.2,0.175,0.058,6.3,9.1
|
||||
22000,4.5518,109.1,0.173,0.055,6.5,9.2
|
||||
22000,4.5529,112.5,0.174,0.057,6.8,9.3
|
||||
22000,4.5540,115.8,0.177,0.057,7.0,9.4
|
||||
22000,4.5550,120.1,0.181,0.056,7.3,9.5
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
|
@@ -0,0 +1,21 @@
|
||||
energy,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
22000,44.0,0.231,0.097,151.6,207.8
|
||||
22000,45.2,0.229,0.090,151.7,207.7
|
||||
22000,47.8,0.219,0.085,151.8,207.7
|
||||
22000,51.2,0.211,0.084,151.8,207.7
|
||||
22000,55.3,0.200,0.079,152.0,207.9
|
||||
22000,59.2,0.199,0.075,152.1,208.2
|
||||
22000,63.9,0.191,0.074,152.3,208.3
|
||||
22000,68.3,0.188,0.069,152.5,208.3
|
||||
22000,72.8,0.179,0.067,152.6,208.5
|
||||
22000,77.3,0.180,0.065,152.8,208.7
|
||||
22000,82.3,0.175,0.063,152.9,208.9
|
||||
22000,86.3,0.174,0.063,152.9,209.0
|
||||
22000,90.6,0.175,0.062,153.1,209.1
|
||||
22000,94.9,0.174,0.060,153.2,209.3
|
||||
22000,99.3,0.173,0.059,153.2,209.5
|
||||
22000,102.7,0.177,0.058,153.5,209.6
|
||||
22000,106.3,0.179,0.060,153.7,209.7
|
||||
22000,110.0,0.179,0.059,153.9,210.0
|
||||
22000,113.4,0.182,0.055,154.5,210.1
|
||||
22000,117.0,0.185,0.056,155.2,210.0
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
|
@@ -0,0 +1,21 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
22000,4.5350,45.1,0.229,0.099,151.0,208.2
|
||||
22000,4.5360,46.7,0.229,0.096,151.3,207.8
|
||||
22000,4.5371,49.5,0.218,0.093,151.5,207.8
|
||||
22000,4.5381,53.0,0.206,0.081,151.5,207.7
|
||||
22000,4.5392,57.0,0.203,0.080,151.7,207.8
|
||||
22000,4.5403,61.7,0.194,0.073,151.7,208.1
|
||||
22000,4.5413,66.2,0.190,0.073,151.7,208.2
|
||||
22000,4.5424,71.0,0.183,0.069,151.9,208.4
|
||||
22000,4.5434,75.8,0.177,0.065,152.2,208.4
|
||||
22000,4.5445,80.2,0.175,0.061,152.3,208.7
|
||||
22000,4.5455,85.3,0.174,0.061,152.4,208.6
|
||||
22000,4.5466,90.0,0.172,0.057,152.4,208.8
|
||||
22000,4.5476,94.1,0.171,0.058,152.5,209.1
|
||||
22000,4.5487,98.4,0.170,0.057,152.6,209.3
|
||||
22000,4.5497,102.6,0.170,0.057,152.7,209.5
|
||||
22000,4.5508,106.7,0.173,0.058,152.8,209.6
|
||||
22000,4.5518,110.3,0.174,0.053,153.0,209.9
|
||||
22000,4.5529,114.3,0.175,0.054,153.2,209.9
|
||||
22000,4.5540,118.7,0.179,0.054,153.8,210.1
|
||||
22000,4.5550,122.2,0.181,0.054,154.5,210.2
|
||||
|
@@ -0,0 +1 @@
|
||||
energy,gap,lu_bpmsum,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
|
@@ -0,0 +1,49 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpmsum,lu_Xnorm,lu_Ynorm,bcu_bpmsum,bcu_x,bcu_y,samcam_x,samcam_y
|
||||
8000,-5.55286,0.04620,10382.0,0.379,0.033,18703.1,52.99,-2.43,5.80,-4.14
|
||||
8000,-5.55214,0.07155,10235.3,0.224,0.031,18875.3,32.89,-1.90,3.28,-2.77
|
||||
8000,-5.55106,0.09660,10155.7,0.061,0.028,19050.1,12.94,-1.35,0.74,-1.51
|
||||
8000,-5.55060,0.12182,10114.6,-0.106,0.027,19252.7,-7.66,-1.17,-1.65,-0.76
|
||||
8000,-5.55019,0.14665,10160.7,-0.265,0.026,19396.7,-26.18,-1.09,-3.81,-0.36
|
||||
8000,-5.55156,0.09607,10148.6,0.061,0.031,19026.9,13.57,-2.09,1.09,-3.13
|
||||
10000,-5.54291,0.01022,2145.7,0.395,0.016,1868.8,57.74,-2.20,5.52,-2.71
|
||||
10000,-5.54193,0.03547,2119.8,0.223,0.012,1888.9,35.16,-1.53,3.19,-1.74
|
||||
10000,-5.54112,0.06052,2115.2,0.041,0.010,1901.9,13.97,-0.88,0.97,-0.60
|
||||
10000,-5.53993,0.08536,2125.5,-0.146,0.010,1909.1,-7.71,-0.39,-0.88,0.21
|
||||
10000,-5.53949,0.11065,2135.9,-0.326,0.009,1918.2,-28.53,-0.10,-3.06,0.73
|
||||
10000,-5.54126,0.06029,2112.4,0.038,0.013,1902.3,13.15,-1.30,1.00,-1.26
|
||||
12400,-5.53642,-0.01161,1782.3,0.388,0.022,657.9,277.26,-1.42,16.68,-1.23
|
||||
12400,-5.53584,0.01365,1738.8,0.226,0.022,564.8,278.98,-1.21,17.51,-0.86
|
||||
12400,-5.53465,0.03877,1731.9,0.050,0.021,471.9,279.66,-1.04,17.41,-0.62
|
||||
12400,-5.53410,0.06384,1734.4,-0.126,0.021,386.5,280.28,-0.83,18.10,-0.14
|
||||
12400,-5.53311,0.08874,1732.0,-0.296,0.020,308.4,281.61,-0.73,18.66,-0.46
|
||||
12400,-5.53485,0.03841,1747.4,0.050,0.023,472.2,279.84,-1.26,17.85,-0.81
|
||||
15000,-5.53253,-0.02426,695.1,0.421,0.022,866.3,62.69,-0.41,4.32,-0.26
|
||||
15000,-5.53230,0.00104,674.9,0.253,0.022,861.4,43.33,-0.29,2.93,0.14
|
||||
15000,-5.53088,0.02619,680.6,0.071,0.023,866.8,20.76,-0.07,0.83,0.76
|
||||
15000,-5.53015,0.05115,677.3,-0.114,0.023,865.9,-0.27,0.16,-1.30,1.36
|
||||
15000,-5.52958,0.07602,681.4,-0.292,0.023,870.8,-23.02,0.32,-3.59,1.77
|
||||
15000,-5.53126,0.02545,679.7,0.072,0.024,866.9,20.39,-0.25,0.46,0.23
|
||||
18000,-5.52928,-0.03216,243.5,0.435,0.029,640.6,69.31,-0.13,5.19,0.32
|
||||
18000,-5.52882,-0.00703,239.0,0.274,0.028,631.6,49.69,0.09,3.54,0.90
|
||||
18000,-5.52757,0.01802,238.9,0.097,0.030,629.4,29.03,0.24,3.00,1.11
|
||||
18000,-5.52697,0.04316,238.0,-0.088,0.027,626.1,6.21,0.37,-0.28,1.66
|
||||
18000,-5.52659,0.06831,238.2,-0.264,0.027,617.7,-14.69,0.48,-2.01,1.87
|
||||
18000,-5.52807,0.01776,238.7,0.095,0.029,633.1,27.99,0.08,2.48,0.71
|
||||
20000,-5.52754,-0.03533,149.7,0.435,0.037,527.0,66.01,-0.08,5.24,0.54
|
||||
20000,-5.52694,-0.01034,147.6,0.285,0.043,521.3,47.09,0.16,3.74,1.26
|
||||
20000,-5.52627,0.01477,145.6,0.120,0.042,518.5,26.86,0.26,2.06,1.62
|
||||
20000,-5.52534,0.03981,146.5,-0.055,0.043,519.0,4.67,0.36,-0.09,1.78
|
||||
20000,-5.52508,0.06494,145.3,-0.225,0.042,517.6,-16.06,0.51,-1.62,2.37
|
||||
20000,-5.52659,0.01419,147.6,0.120,0.043,522.5,25.43,0.11,1.45,1.26
|
||||
22000,-5.52673,-0.03786,94.7,0.439,0.053,313.7,67.87,7.18,5.76,6.28
|
||||
22000,-5.52583,-0.01278,94.1,0.300,0.052,317.2,48.70,7.29,3.82,6.87
|
||||
22000,-5.52511,0.01219,93.3,0.150,0.053,318.1,28.92,7.35,1.98,7.38
|
||||
22000,-5.52459,0.03735,91.3,-0.004,0.053,312.0,11.65,7.40,0.96,7.75
|
||||
22000,-5.52372,0.06234,92.6,-0.162,0.051,315.6,-8.83,7.44,-0.71,7.89
|
||||
22000,-5.52560,0.01166,91.8,0.148,0.051,317.4,28.94,7.29,2.31,7.03
|
||||
25000,-5.52520,-0.04066,48.7,0.451,0.079,29.4,77.93,3.13,7.55,3.69
|
||||
25000,-5.52441,-0.01570,47.4,0.338,0.080,28.9,61.02,3.24,6.35,3.91
|
||||
25000,-5.52372,0.00941,47.9,0.200,0.082,29.0,44.01,3.26,4.56,4.15
|
||||
25000,-5.52285,0.03461,47.3,0.061,0.079,28.8,25.60,3.33,1.59,4.69
|
||||
25000,-5.52227,0.05956,47.3,-0.066,0.086,28.3,9.14,3.37,-0.05,4.98
|
||||
25000,-5.52407,0.00896,47.0,0.204,0.089,28.7,44.89,3.06,4.34,4.10
|
||||
|
@@ -0,0 +1,50 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpmsum,lu_Xnorm,lu_Ynorm,bcu_bpmsum,bcu_x,bcu_y,samcam_x,samcam_y
|
||||
8000,-5.54961,0.04605,10420.1,0.376,0.029,3631.0,49.15,0.67,11.52,5.97
|
||||
8000,-5.54898,0.07155,10266.3,0.220,0.027,3667.0,29.02,1.31,8.43,7.53
|
||||
8000,-5.54793,0.09656,10161.7,0.059,0.025,3697.5,11.59,1.91,6.77,8.73
|
||||
8000,-5.54753,0.12181,10166.7,-0.108,0.025,3752.0,-7.62,2.08,4.52,9.47
|
||||
8000,-5.54718,0.14661,10209.4,-0.268,0.027,3797.2,-25.53,1.91,2.31,9.32
|
||||
8000,-5.54866,0.09602,10151.4,0.060,0.030,3694.3,11.21,0.85,6.54,6.97
|
||||
10000,-5.53996,0.01018,2146.7,0.395,0.012,4173.7,66.21,1.79,12.24,7.50
|
||||
10000,-5.53888,0.03533,2129.8,0.223,0.012,4200.4,45.58,2.36,10.50,8.66
|
||||
10000,-5.53822,0.06040,2110.5,0.041,0.009,4217.4,23.42,2.99,8.02,9.71
|
||||
10000,-5.53729,0.08533,2123.7,-0.144,0.009,4260.4,1.73,3.14,5.71,9.93
|
||||
10000,-5.53651,0.11049,2146.2,-0.325,0.006,4305.9,-21.45,3.52,4.00,10.60
|
||||
10000,-5.53804,0.06020,2128.3,0.039,0.008,4249.9,22.88,2.71,7.66,9.10
|
||||
12400,-5.53337,-0.01144,1757.7,0.387,0.020,1127.9,58.33,2.14,10.95,9.30
|
||||
12400,-5.53288,0.01365,1743.4,0.225,0.020,1130.1,39.95,2.37,9.01,10.02
|
||||
12400,-5.53198,0.03880,1723.4,0.051,0.020,1129.9,21.41,2.61,7.42,10.79
|
||||
12400,-5.53123,0.06387,1726.8,-0.127,0.020,1140.3,0.12,2.72,4.85,11.23
|
||||
12400,-5.53050,0.08882,1727.8,-0.297,0.020,1142.7,-19.63,2.69,2.72,11.42
|
||||
12400,-5.53219,0.03821,1723.1,0.052,0.022,1130.2,20.94,2.23,7.10,9.85
|
||||
15000,-5.52989,-0.02420,705.4,0.420,0.020,836.9,69.62,2.37,11.75,9.80
|
||||
15000,-5.52923,0.00090,694.1,0.253,0.020,838.2,48.10,2.62,9.44,10.55
|
||||
15000,-5.52836,0.02601,681.9,0.074,0.020,831.4,28.62,2.82,8.14,10.89
|
||||
15000,-5.52743,0.05101,684.3,-0.113,0.020,837.3,6.72,3.04,6.66,11.74
|
||||
15000,-5.52688,0.07591,684.6,-0.288,0.020,837.2,-16.52,3.02,3.41,11.76
|
||||
15000,-5.52865,0.02558,681.3,0.073,0.021,833.9,27.52,2.50,7.92,10.32
|
||||
18000,-5.52676,-0.03221,243.0,0.439,0.026,634.8,75.86,2.82,12.73,10.09
|
||||
18000,-5.52612,-0.00702,238.4,0.278,0.025,626.2,55.97,2.96,11.24,10.60
|
||||
18000,-5.52531,0.01797,236.0,0.102,0.025,626.6,33.48,3.05,8.88,10.80
|
||||
18000,-5.52351,0.04318,243.1,-0.093,0.026,641.4,6.43,3.06,6.04,11.37
|
||||
18000,-5.52377,0.06826,237.3,-0.260,0.025,626.7,-11.72,3.15,4.89,11.57
|
||||
18000,-5.52575,0.01770,237.0,0.100,0.027,630.1,33.64,2.92,9.20,10.65
|
||||
20000,-5.52563,-0.03533,150.2,0.437,0.033,526.3,75.57,2.70,13.15,10.34
|
||||
20000,-5.52511,-0.01018,146.9,0.289,0.038,522.3,55.49,2.87,11.72,10.80
|
||||
20000,-5.52424,0.01472,145.2,0.127,0.038,520.9,35.38,2.91,9.80,11.07
|
||||
20000,-5.52293,0.03993,151.1,-0.055,0.039,526.7,11.34,3.04,7.27,11.70
|
||||
20000,-5.52270,0.06493,143.6,-0.216,0.040,519.3,-9.14,3.19,5.32,12.17
|
||||
20000,-5.52456,0.01452,145.2,0.125,0.039,522.2,34.39,2.85,9.25,10.98
|
||||
22000,-5.52438,-0.03785,95.3,0.442,0.050,307.4,74.28,8.27,13.62,17.13
|
||||
22000,-5.52351,-0.01287,94.0,0.309,0.052,306.3,56.94,8.33,12.47,17.58
|
||||
22000,-5.52293,0.01218,93.2,0.156,0.054,307.2,36.00,8.32,9.40,17.66
|
||||
22000,-5.52198,0.03724,91.8,-0.001,0.053,304.4,16.82,8.36,7.67,18.17
|
||||
22000,-5.52038,0.06232,95.9,-0.166,0.048,323.4,-11.03,8.43,3.74,18.77
|
||||
22000,-5.52334,0.01195,93.4,0.156,0.054,310.4,35.98,8.32,10.02,17.56
|
||||
25000,-5.52259,-0.04064,50.9,0.457,0.078,29.2,82.32,5.17,14.04,13.07
|
||||
25000,-5.52192,-0.01571,49.8,0.333,0.084,28.7,66.11,5.27,12.11,13.34
|
||||
25000,-5.52146,0.00935,49.5,0.200,0.084,28.4,48.09,5.35,9.55,13.67
|
||||
25000,-5.52038,0.03446,48.4,0.067,0.078,28.1,32.60,5.32,7.63,13.82
|
||||
25000,-5.52000,0.05949,47.6,-0.066,0.083,27.7,15.18,5.40,6.00,14.10
|
||||
25000,-5.52198,0.00916,48.5,0.204,0.085,28.1,48.98,5.29,9.77,13.60
|
||||
|
||||
|
@@ -0,0 +1,9 @@
|
||||
energy,calc_perp,actual_perp
|
||||
8000,0.0961,0.1716
|
||||
10000,0.0604,0.1549
|
||||
12400,0.0389,0.1239
|
||||
15000,0.0264,0.1273
|
||||
18000,0.0183,0.1242
|
||||
20000,0.0148,0.1322
|
||||
22000,0.0122,0.1089
|
||||
25000,0.0094,0.1293
|
||||
|
@@ -0,0 +1,7 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
12400,-5.54257,-0.01078,1691.2,0.385,0.022,154.5,207.5
|
||||
12400,-5.54190,0.01438,1661.5,0.220,0.021,151.8,207.5
|
||||
12400,-5.54071,0.03945,1650.8,0.043,0.021,149.4,207.8
|
||||
12400,-5.54013,0.06453,1660.1,-0.135,0.019,146.7,207.9
|
||||
12400,-5.53943,0.08952,1668.0,-0.309,0.018,144.3,207.8
|
||||
12400,-5.54117,0.03912,1656.2,0.043,0.021,149.4,207.9
|
||||
|
@@ -0,0 +1,37 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
8000,-5.55530,0.04620,10382.2,0.377,0.034,155.1,206.7
|
||||
8000,-5.55463,0.07151,10210.1,0.224,0.032,152.4,207.1
|
||||
8000,-5.55347,0.09661,10150.2,0.060,0.030,149.9,207.1
|
||||
8000,-5.55318,0.12173,10188.8,-0.105,0.027,147.2,207.1
|
||||
8000,-5.55286,0.14660,10257.9,-0.265,0.026,144.9,207.2
|
||||
8000,-5.55422,0.09602,10208.3,0.062,0.032,149.9,206.8
|
||||
10000,-5.54581,0.01000,2154.1,0.399,0.014,154.9,206.8
|
||||
10000,-5.54492,0.03521,2131.2,0.227,0.012,152.5,207.2
|
||||
10000,-5.54387,0.06022,2124.8,0.043,0.011,149.8,206.9
|
||||
10000,-5.54294,0.08527,2117.4,-0.142,0.010,147.2,207.1
|
||||
10000,-5.54245,0.11042,2132.4,-0.321,0.009,144.6,207.2
|
||||
10000,-5.54396,0.06000,2123.1,0.043,0.015,149.8,206.8
|
||||
12400,-5.53932,-0.01168,1777.2,0.393,0.025,154.7,208.1
|
||||
12400,-5.53857,0.01372,1753.2,0.226,0.023,151.9,208.0
|
||||
12400,-5.53758,0.03879,1741.0,0.051,0.023,149.3,207.8
|
||||
12400,-5.53680,0.06381,1746.4,-0.127,0.022,146.6,207.9
|
||||
12400,-5.53578,0.08885,1735.1,-0.297,0.021,144.3,207.9
|
||||
12400,-5.53784,0.03831,1738.9,0.053,0.024,149.4,207.9
|
||||
15000,-5.53508,-0.02455,702.0,0.424,0.025,155.1,207.9
|
||||
15000,-5.53491,0.00059,688.9,0.258,0.025,152.5,207.9
|
||||
15000,-5.53346,0.02566,686.8,0.076,0.025,149.7,207.5
|
||||
15000,-5.53282,0.05075,673.3,-0.108,0.023,147.2,207.7
|
||||
15000,-5.53201,0.07570,676.5,-0.287,0.023,144.6,207.8
|
||||
15000,-5.53387,0.02524,687.1,0.078,0.026,150.0,207.9
|
||||
18000,-5.53155,-0.03228,247.5,0.441,0.031,155.1,207.5
|
||||
18000,-5.53117,-0.00715,244.3,0.278,0.033,152.4,207.9
|
||||
18000,-5.52992,0.01783,240.1,0.100,0.029,149.9,207.9
|
||||
18000,-5.52894,0.04301,240.7,-0.085,0.029,147.3,207.7
|
||||
18000,-5.52873,0.06809,238.2,-0.259,0.028,144.9,207.9
|
||||
18000,-5.53033,0.01710,241.8,0.101,0.032,149.9,207.7
|
||||
20000,-5.53007,-0.03591,151.9,0.442,0.041,155.5,208.0
|
||||
20000,-5.52940,-0.01040,150.2,0.288,0.042,152.8,207.8
|
||||
20000,-5.52841,0.01479,143.4,0.122,0.045,150.1,207.8
|
||||
20000,-5.52754,0.03992,148.1,-0.056,0.042,147.5,207.7
|
||||
20000,-5.52720,0.06484,147.1,-0.223,0.040,145.0,207.7
|
||||
20000,-5.52897,0.01418,149.5,0.122,0.041,150.2,208.0
|
||||
|
@@ -0,0 +1,7 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
22000,-5.52975,-0.03800,95.9,0.445,0.057,155.6,208.2
|
||||
22000,-5.52920,-0.01307,95.4,0.305,0.054,153.2,208.1
|
||||
22000,-5.52841,0.01204,94.1,0.155,0.059,150.5,207.8
|
||||
22000,-5.52737,0.03716,91.9,-0.005,0.057,147.8,208.0
|
||||
22000,-5.52685,0.06211,90.4,-0.163,0.055,145.3,208.3
|
||||
22000,-5.52868,0.01139,93.3,0.156,0.058,150.5,207.9
|
||||
|
@@ -0,0 +1,7 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
25000,-5.52920,-0.09079,52.0,0.654,0.081,164.6,209.6
|
||||
25000,-5.52891,-0.06548,50.5,0.556,0.083,161.6,209.5
|
||||
25000,-5.52778,-0.04040,49.8,0.454,0.092,158.6,209.5
|
||||
25000,-5.52694,-0.01548,49.0,0.332,0.090,155.7,209.5
|
||||
25000,-5.52641,0.00966,47.2,0.207,0.088,152.7,209.4
|
||||
25000,-5.51861,-0.04039,29.1,0.349,0.120,149.6,208.4
|
||||
|
@@ -0,0 +1,6 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
25000,-5.52807,-0.04030,49.4,0.453,0.083,156.2,208.6
|
||||
25000,-5.52737,-0.01540,49.3,0.331,0.086,153.0,208.6
|
||||
25000,-5.52682,0.00982,47.5,0.208,0.088,150.5,208.3
|
||||
25000,-5.52612,0.03493,46.4,0.075,0.087,148.0,208.2
|
||||
25000,-5.52557,0.05990,47.5,-0.060,0.079,145.4,208.1
|
||||
|
@@ -0,0 +1,7 @@
|
||||
energy,dcm_pitch,dcm_perp,lu_bpms,lu_Xnorm,lu_Ynorm,xi_cam_x,xi_cam_y
|
||||
25000,-5.52821,-0.04084,50.0,0.455,0.088,157.8,209.4
|
||||
25000,-5.52786,-0.01596,49.2,0.338,0.087,155.0,209.1
|
||||
25000,-5.52714,0.00910,48.2,0.205,0.088,152.1,209.2
|
||||
25000,-5.52633,0.03430,47.3,0.074,0.094,149.2,209.0
|
||||
25000,-5.52589,0.05926,46.6,-0.062,0.092,146.4,209.2
|
||||
25000,-5.52743,0.00884,47.8,0.203,0.094,152.1,209.0
|
||||
|
@@ -0,0 +1,14 @@
|
||||
energy,23rd Sep,6th Sep,offset
|
||||
6000,-5.561,-5.5182,-0.0428
|
||||
8000,-5.5432,-5.5032,-0.04
|
||||
10000,-5.5349,-5.4956,-0.039300000000001
|
||||
12000,-5.5297,-5.4906,-0.0391
|
||||
14000,-5.5268,-5.4877,-0.0391
|
||||
16000,-5.5244,-5.4856,-0.0388
|
||||
18000,-5.5218,-5.4833,-0.0385
|
||||
20000,-5.5203,-5.482,-0.0383
|
||||
22000,-5.5194,-5.4807,-0.0387
|
||||
24000,-5.519,-5.4791,-0.0399
|
||||
26000,-5.5183,-5.4791,-0.0392
|
||||
28000,-5.5179,-5.4791,-0.0388
|
||||
30000,-5.518,,
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
3.000000,532.1747746692758
|
||||
3.375000,646.8383766556484
|
||||
3.750000,758.2370844371503
|
||||
4.125000,870.6457787689487
|
||||
4.500000,980.6793737229799
|
||||
4.875000,1080.7759963202259
|
||||
5.250000,1182.3265384715614
|
||||
5.625000,1290.697731056017
|
||||
6.000000,1376.2798011728055
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
1.000000,692.942650491312
|
||||
1.875000,755.6432908308136
|
||||
2.750000,819.8962183038443
|
||||
3.625000,883.0441749851776
|
||||
4.500000,944.625963858652
|
||||
5.375000,1004.513235574581
|
||||
6.250000,1061.1821742077382
|
||||
7.125000,1116.371127886505
|
||||
8.000000,1169.189245633994
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
3.000000,532.1747746692758
|
||||
3.375000,646.8383766556484
|
||||
3.750000,758.2370844371503
|
||||
4.125000,870.6457787689487
|
||||
4.500000,980.6793737229799
|
||||
4.875000,1080.7759963202259
|
||||
5.250000,1182.3265384715614
|
||||
5.625000,1290.697731056017
|
||||
6.000000,1376.2798011728055
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
1.000000,620.3258474297603
|
||||
1.875000,727.3412656967532
|
||||
2.750000,831.2895400246484
|
||||
3.625000,936.7106895320477
|
||||
4.500000,1039.8208898439514
|
||||
5.375000,1139.02499725308
|
||||
6.250000,1232.640351083367
|
||||
7.125000,1322.7239076386252
|
||||
8.000000,1408.4337046604637
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
3.000000,367.5626514183679
|
||||
3.250000,490.76539071940647
|
||||
3.500000,614.0409323259951
|
||||
3.750000,734.2089839347528
|
||||
4.000000,854.3453573633882
|
||||
4.250000,969.9637066596362
|
||||
4.500000,1084.8613752711697
|
||||
4.750000,1195.432631465686
|
||||
5.000000,1299.759493848411
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
1.000000,645.3410172392396
|
||||
1.875000,716.7857063422749
|
||||
2.750000,798.4006801804591
|
||||
3.625000,879.2062486869808
|
||||
4.500000,948.0120679453303
|
||||
5.375000,1010.590100145263
|
||||
6.250000,1067.4532506840437
|
||||
7.125000,1123.6687191435465
|
||||
8.000000,1176.749800578109
|
||||
|
@@ -0,0 +1,10 @@
|
||||
Roll,Y pos
|
||||
2.000000,329.981417633099
|
||||
2.250000,405.3057428861756
|
||||
2.500000,483.27540977301703
|
||||
2.750000,554.0746091974096
|
||||
3.000000,630.9466804651072
|
||||
3.250000,706.8771151250418
|
||||
3.500000,782.8947653437505
|
||||
3.750000,857.5768007188707
|
||||
4.000000,931.2567888482613
|
||||
|