Source code for csaxs_bec.bec_ipython_client.plugins.cSAXS.cSAXS
# import builtins
# import datetime
# import os
# import subprocess
# import time
# from pathlib import Path
# import numpy as np
from bec_lib import bec_logger
# from bec_lib.alarm_handler import AlarmBase
# from bec_lib.pdf_writer import PDFWriter
from typeguard import typechecked
from csaxs_bec.bec_ipython_client.plugins.cSAXS.smaract import cSAXSInitSmaractStages
from csaxs_bec.bec_ipython_client.plugins.cSAXS.smaract import cSAXSSmaract
from csaxs_bec.bec_ipython_client.plugins.omny.omny_general_tools import OMNYTools
from csaxs_bec.bec_ipython_client.plugins.cSAXS.filter_transmission import cSAXSFilterTransmission
from csaxs_bec.bec_ipython_client.plugins.cSAXS.diagnostics import cSAXSDiagnostics
from csaxs_bec.bec_ipython_client.plugins.cSAXS.slits import cSAXSSlits
[docs]
class cSAXSError(Exception):
pass
[docs]
class cSAXS(
cSAXSInitSmaractStages,
cSAXSSmaract,
cSAXSFilterTransmission,
cSAXSSlits,
):
def __init__(self, client):
self.client = client
self.device_manager = client.device_manager
self.OMNYTools = OMNYTools(self.client)
self.diagnostics = cSAXSDiagnostics()
super().__init__(client=client)
# this is the csaxs master file that imports all routines from csaxs
# can be imported in the bec client by
# run in bec from folder /sls/x12sa/config/bec/production/csaxs_bec
# from csaxs_bec.bec_ipython_client.plugins.cSAXS.cSAXS import cSAXS
# csaxs = cSAXS(bec)
#
# then all commands can be accessed by for example
# csaxs._cSAXS_smaract_stages_.....