########################################################################################################## ########################################################################################################## ########################################################################################################## ### JUNGFRAU DETECTORS from slic.core.acquisition.detcfg import DetectorConfig # TODO: JF settings regarding raw conversion, compression, etc. detectors = [ "JF16T03V02", # 1.5M from 2025 # "JF16T03V01", # 1.5M from 2022 # "JF17T16V01", # 8M "JF20T01V01", # IO # "JF05T01V01", # 0.5M stripsel borrowed from Bernina, now registered in esc network ] # ALLOWED_PARAMS = dict( # adc_to_energy = bool, # compression = bool, # crystfel_lists_laser = bool, # disabled_modules = Sequence, # double_pixels_action = ["mask", "interp", "keep"], # downsample = tuple, # factor = Number, # geometry = bool, # remove_raw_files = bool, # roi = dict, # TODO: test with these definitions: {'beam': [1775, 1875, 1070, 1170]} achtung: doesnt work with geometry = True # save_dap_results = bool # ) detectors = DetectorConfig(detectors) # detectors_with_config["JF16T03V01"]['save_dap_results'] = True # JF 1.5M default settings detectors["JF16T03V02"]['remove_raw_files'] = True detectors["JF16T03V02"]['factor'] = 0.1 # Some useful compromise to save space. detectors["JF16T03V02"]['adc_to_energy'] = True detectors["JF16T03V02"]['compression'] = True detectors["JF16T03V02"]['save_dap_results'] = False detectors["JF16T03V02"]['geometry'] = True # I0 JF default settings detectors["JF20T01V01"]['remove_raw_files'] = True detectors["JF20T01V01"]['factor'] = 1 # Some useful compromise to save space. detectors["JF20T01V01"]['adc_to_energy'] = True detectors["JF20T01V01"]['compression'] = True detectors["JF20T01V01"]['save_dap_results'] = False detectors["JF20T01V01"]['geometry'] = False detectors_I0_only = DetectorConfig(["JF20T01V01"]) # I0 JF settings with finer resolution detectors["JF20T01V01"]['remove_raw_files'] = True detectors["JF20T01V01"]['factor'] = 0.1 # Less space saving but more resolution detectors["JF20T01V01"]['adc_to_energy'] = True detectors["JF20T01V01"]['compression'] = True detectors["JF20T01V01"]['save_dap_results'] = False detectors["JF20T01V01"]['geometry'] = False # detectors_with_config["JF16T03V01"]['disabled_modules'] = [0, 1] # bottom module:0, middle module:1, top module:2 #detectors["JF17T16V01"]['disabled_modules'] = [0, 1, 2, 3, # 9, 10, 11, # 12, 13, 14, 15] # bottom module:0, middle module:1, top module:2 #detectors["JF17T16V01"]['remove_raw_files'] = True # We switched off quite a few modules, let's not keep all the raw data. #detectors["JF17T16V01"]['compression'] = True #detectors["JF17T16V01"]['adc_to_energy'] = True # We switched off quite a few modules, let's not keep all the raw data. #detectors["JF17T16V01"]['factor'] = 0.2 # Some useful compromise to save space. #detectors["JF17T16V01"]['save_dap_results'] = False #detectors["JF17T16V01"]['geometry'] = False detectors_MX = DetectorConfig() detectors_MX.add("JF17T16V01", adc_to_energy=True, compression=True, crystfel_lists_laser=True, double_pixels_action="mask", factor=12.00, remove_raw_files=True, save_dap_results=True, geometry=False) ########################################################################################################## ########################################################################################################## ########################################################################################################## ### BS CHANNELS ########################################################################### #### CAMERAS COLLECTED camera_channels = [ # "SARES30-CAMS156-PCO1:FPICTURE", # PCO edge camera for the wavefront analysis (from Alvra) # "SARES30-CAMS156-SMX-OAV:FPICTURE", # SwissMX OAV camera picture # "SARES30-CAMS156-SMX-OAV.jet_projection", #SWISSMX oav jET PROJECTION # "SARES30-CAMS156-XE:FPICTURE", # X-ray eye ] ########################################################################### #### MACHINE # RF phases and amplitudes channels_RF = [ "SINSB01-RLLE-DSP:PHASE-VS", "SINSB02-RLLE-DSP:PHASE-VS", "SINSB03-RLLE-DSP:PHASE-VS", "SINSB04-RLLE-DSP:PHASE-VS", "SINXB01-RLLE-DSP:PHASE-VS", "SINDI01-RLLE-DSP:PHASE-VS", "S10CB01-RLLE-DSP:PHASE-VS", "S10CB02-RLLE-DSP:PHASE-VS", "S10CB03-RLLE-DSP:PHASE-VS", "S10CB04-RLLE-DSP:PHASE-VS", "S10CB05-RLLE-DSP:PHASE-VS", "S10CB06-RLLE-DSP:PHASE-VS", "S10CB07-RLLE-DSP:PHASE-VS", "S10CB08-RLLE-DSP:PHASE-VS", "S10CB09-RLLE-DSP:PHASE-VS", "S20CB01-RLLE-DSP:PHASE-VS", "S20CB02-RLLE-DSP:PHASE-VS", "S20CB03-RLLE-DSP:PHASE-VS", "S20CB04-RLLE-DSP:PHASE-VS", "S30CB01-RLLE-DSP:PHASE-VS", "S30CB02-RLLE-DSP:PHASE-VS", "S30CB03-RLLE-DSP:PHASE-VS", "S30CB04-RLLE-DSP:PHASE-VS", "S30CB05-RLLE-DSP:PHASE-VS", "S30CB06-RLLE-DSP:PHASE-VS", "S30CB07-RLLE-DSP:PHASE-VS", "S30CB08-RLLE-DSP:PHASE-VS", "S30CB09-RLLE-DSP:PHASE-VS", "S30CB10-RLLE-DSP:PHASE-VS", "S30CB11-RLLE-DSP:PHASE-VS", "S30CB12-RLLE-DSP:PHASE-VS", "S30CB13-RLLE-DSP:PHASE-VS", "S30CB14-RLLE-DSP:PHASE-VS", "SINEG01-RLLE-DSP:AMPLT-VS", "SINSB01-RLLE-DSP:AMPLT-VS", "SINSB02-RLLE-DSP:AMPLT-VS", "SINSB03-RLLE-DSP:AMPLT-VS", "SINSB04-RLLE-DSP:AMPLT-VS", "SINXB01-RLLE-DSP:AMPLT-VS", "SINDI01-RLLE-DSP:AMPLT-VS", "S10CB01-RLLE-DSP:AMPLT-VS", "S10CB02-RLLE-DSP:AMPLT-VS", "S10CB03-RLLE-DSP:AMPLT-VS", "S10CB04-RLLE-DSP:AMPLT-VS", "S10CB05-RLLE-DSP:AMPLT-VS", "S10CB06-RLLE-DSP:AMPLT-VS", "S10CB07-RLLE-DSP:AMPLT-VS", "S10CB08-RLLE-DSP:AMPLT-VS", "S10CB09-RLLE-DSP:AMPLT-VS", "S20CB01-RLLE-DSP:AMPLT-VS", "S20CB02-RLLE-DSP:AMPLT-VS", "S20CB03-RLLE-DSP:AMPLT-VS", "S20CB04-RLLE-DSP:AMPLT-VS", "S30CB01-RLLE-DSP:AMPLT-VS", "S30CB02-RLLE-DSP:AMPLT-VS", "S30CB03-RLLE-DSP:AMPLT-VS", "S30CB04-RLLE-DSP:AMPLT-VS", "S30CB05-RLLE-DSP:AMPLT-VS", "S30CB06-RLLE-DSP:AMPLT-VS", "S30CB07-RLLE-DSP:AMPLT-VS", "S30CB08-RLLE-DSP:AMPLT-VS", "S30CB09-RLLE-DSP:AMPLT-VS", "S30CB10-RLLE-DSP:AMPLT-VS", "S30CB11-RLLE-DSP:AMPLT-VS", "S30CB12-RLLE-DSP:AMPLT-VS", "S30CB13-RLLE-DSP:AMPLT-VS", "S30CB14-RLLE-DSP:AMPLT-VS", ] ########################################################################### #### FRONT-END #################### # Gas intensity monitor PBPG050 channels_gas_monitor = [ "SARFE10-PBPG050:PHOTON-ENERGY-PER-PULSE-AVG", # "SARFE10-PBPG050:SLOW-X", # "SARFE10-PBPG050:SLOW-Y", "SARFE10-PBIG050-EVR0:CALCI", # good for correlations with total beam intensity "SARFE10-PBPG050:HAMP-INTENSITY-CAL", ] ################### # Beam position and intensity monitor PBPS053 channels_PBPS053 = [ "SARFE10-PBPS053:INTENSITY", "SARFE10-PBPS053:XPOS", "SARFE10-PBPS053:YPOS", ] ################### # Spectrometer PSSS059 channels_PSSS059 = [ "SARFE10-PSSS059:FIT-COM", "SARFE10-PSSS059:FIT-FWHM", "SARFE10-PSSS059:FIT-RES", "SARFE10-PSSS059:FIT-RMS", "SARFE10-PSSS059:SPECT-COM", "SARFE10-PSSS059:SPECT-RES", "SARFE10-PSSS059:SPECT-RMS", "SARFE10-PSSS059:SPECTRUM_Y_SUM", "SARFE10-PSSS059:SPECTRUM_X", "SARFE10-PSSS059:SPECTRUM_Y", # "SARFE10-PSSS059:FPICTURE", "SARFE10-PSSS059:processing_parameters", ] ################### # Spectrometer PSSS059, large bandwidth camera channels_PSSS059_LB = [ "SARFE10-PSSS059-LB:FIT-COM", "SARFE10-PSSS059-LB:FIT-FWHM", "SARFE10-PSSS059-LB:FIT-RES", "SARFE10-PSSS059-LB:FIT-RMS", "SARFE10-PSSS059-LB:SPECT-COM", "SARFE10-PSSS059-LB:SPECT-RES", "SARFE10-PSSS059-LB:SPECT-RMS", "SARFE10-PSSS059-LB:SPECTRUM_X", "SARFE10-PSSS059-LB:SPECTRUM_Y", "SARFE10-PSSS059-LB:SPECTRUM_Y_SUM", "SARFE10-PSSS059-LB:processing_parameters", # "SARFE10-PSSS059-LB:FPICTURE", # only in special circumstances "SARFE10-PSSS059-LB:FIT-BRT", ] ########################################################################### #### BERNINA BRANCH until DCM ################### # Bernina beam intensity and position monitor PBPS113 (alias PBPS103) channels_PBPS113_bernina = [ "SAROP21-PBPS103:INTENSITY", "SAROP21-PBPS103:INTENSITY_UJ", "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD0", "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD1", "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD2", "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD3", "SAROP21-PBPS103:XPOS", "SAROP21-PBPS103:YPOS", ] ################### # Bernina screen PPRM113 channels_PPRM113_bernina = [ "SAROP21-PPRM113:intensity", "SAROP21-PPRM113:x_center_of_mass", "SAROP21-PPRM113:x_fit_amplitude", "SAROP21-PPRM113:x_fit_mean", "SAROP21-PPRM113:x_fit_offset", "SAROP21-PPRM113:x_fit_standard_deviation", "SAROP21-PPRM113:x_fwhm", "SAROP21-PPRM113:x_profile", "SAROP21-PPRM113:x_rms", "SAROP21-PPRM113:y_center_of_mass", "SAROP21-PPRM113:y_fit_amplitude", "SAROP21-PPRM113:y_fit_mean", "SAROP21-PPRM113:y_fit_offset", "SAROP21-PPRM113:y_fit_standard_deviation", "SAROP21-PPRM113:y_fwhm", "SAROP21-PPRM113:y_profile", "SAROP21-PPRM113:y_rms", # "SAROP31-PPRM113:FPICTURE", # full pictures for debugging purposes at the moment, from _ib process ] ########################################################################### #### CRISTALLINA BRANCH ################### ## Beam position and intensity monitor PBPS113 channels_PBPS113 = [ "SAROP31-PBPS113:INTENSITY", "SAROP31-PBPS113:INTENSITY_UJ", "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD0", "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD1", "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD2", "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD3", "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD4", "SAROP31-PBPS113:XPOS", "SAROP31-PBPS113:YPOS", ] channels_PBPS113_waveforms = [ "SAROP31-PBPS113:Lnk9Ch0-WF-DATA", "SAROP31-PBPS113:Lnk9Ch1-WF-DATA", "SAROP31-PBPS113:Lnk9Ch2-WF-DATA", "SAROP31-PBPS113:Lnk9Ch3-WF-DATA", "SAROP31-PBPS113:Lnk9Ch4-WF-DATA", "SAROP31-PBPS113:Lnk9Ch5-WF-DATA", "SAROP31-PBPS113:Lnk9Ch6-WF-DATA", "SAROP31-PBPS113:Lnk9Ch7-WF-DATA", "SAROP31-PBPS113:Lnk9Ch8-WF-DATA", "SAROP31-PBPS113:Lnk9Ch9-WF-DATA", "SAROP31-PBPS113:Lnk9Ch10-WF-DATA", "SAROP31-PBPS113:Lnk9Ch11-WF-DATA", "SAROP31-PBPS113:Lnk9Ch12-WF-DATA", "SAROP31-PBPS113:Lnk9Ch13-WF-DATA", "SAROP31-PBPS113:Lnk9Ch14-WF-DATA", "SAROP31-PBPS113:Lnk9Ch15-WF-DATA", ] ################### # Diode PDIM113 channels_PDIM113 = [ "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD4", ] ################### # Beam profile monitor PPRM113 channels_PPRM113 = [ "SAROP31-PPRM113:intensity", "SAROP31-PPRM113:x_center_of_mass", "SAROP31-PPRM113:x_fit_amplitude", "SAROP31-PPRM113:x_fit_mean", "SAROP31-PPRM113:x_fit_offset", "SAROP31-PPRM113:x_fit_standard_deviation", "SAROP31-PPRM113:x_fwhm", "SAROP31-PPRM113:x_profile", "SAROP31-PPRM113:x_rms", "SAROP31-PPRM113:y_center_of_mass", "SAROP31-PPRM113:y_fit_amplitude", "SAROP31-PPRM113:y_fit_mean", "SAROP31-PPRM113:y_fit_offset", "SAROP31-PPRM113:y_fit_standard_deviation", "SAROP31-PPRM113:y_fwhm", "SAROP31-PPRM113:y_profile", "SAROP31-PPRM113:y_rms", # "SAROP31-PPRM113:FPICTURE", # full pictures for debugging purposes at the moment, from _ib process ] ################### # Beam position and intensity monitor PBPS149 channels_PBPS149 = [ "SAROP31-PBPS149:INTENSITY", "SAROP31-PBPS149:INTENSITY_UJ", "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD0", "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD1", "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD2", "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD3", "SAROP31-PBPS149:XPOS", "SAROP31-PBPS149:YPOS", ] ####################### # Profile monitor PPRM150 (from _proc process) channels_PPRM150 = [ "SAROP31-PPRM150:intensity", "SAROP31-PPRM150:x_center_of_mass", "SAROP31-PPRM150:x_fit_amplitude", "SAROP31-PPRM150:x_fit_mean", "SAROP31-PPRM150:x_fit_offset", "SAROP31-PPRM150:x_fit_standard_deviation", "SAROP31-PPRM150:x_fwhm", "SAROP31-PPRM150:x_profile", "SAROP31-PPRM150:x_rms", "SAROP31-PPRM150:y_center_of_mass", "SAROP31-PPRM150:y_fit_amplitude", "SAROP31-PPRM150:y_fit_mean", "SAROP31-PPRM150:y_fit_offset", "SAROP31-PPRM150:y_fit_standard_deviation", "SAROP31-PPRM150:y_fwhm", "SAROP31-PPRM150:y_profile", "SAROP31-PPRM150:y_rms", # "SAROP31-PPRM150:FPICTURE", # full pictures for debugging purposes at the moment, from _ib process ] #################### # Diode under screen between the KB's PSCD153 channels_PSCD153 = [ "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD4", ] ########################################################################### #### GENERAL PURPOSE EXPERIMENT ####################### # Cristallina event reciever channels_EVR = [ "SAR-CVME-TIFALL6:EvtSet", ] ####################### # Digitizer channels_digitizer = [ # extra non-beam synchronous channels: #"SARES30-LTIM01-EVR0:DUMMY_PV1_NBS", #"SARES30-LTIM01-EVR0:DUMMY_PV2_NBS", #"SARES30-LTIM01-EVR0:DUMMY_PV3_NBS", #"SARES30-LTIM01-EVR0:DUMMY_PV4_NBS", # other EVR channels: "SARES30-LSCP1-FNS:CH0:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH1:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH2:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH3:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH4:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH5:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH6:VAL_GET", # Signal-Background "SARES30-LSCP1-FNS:CH7:VAL_GET", # Signal-Background "SARES30-LSCP1-CRISTA1:CH0:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH1:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH2:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH3:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH4:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH5:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH6:1", # Waveform signal "SARES30-LSCP1-CRISTA1:CH7:1", # Waveform signal # "SARES30-LSCP1-CRISTA1:CH2:1", # Waveform trigger "SARES30-LTIM01-EVR0:CALCI", # Calculated intensity ] ####################### # X-ray eye channels_Xeye = [ "SARES30-CAMS156-XE:intensity", "SARES30-CAMS156-XE:x_center_of_mass", "SARES30-CAMS156-XE:x_fit_amplitude", "SARES30-CAMS156-XE:x_fit_mean", "SARES30-CAMS156-XE:x_fit_offset", "SARES30-CAMS156-XE:x_fit_standard_deviation", "SARES30-CAMS156-XE:x_fwhm", "SARES30-CAMS156-XE:x_profile", "SARES30-CAMS156-XE:x_rms", "SARES30-CAMS156-XE:y_center_of_mass", "SARES30-CAMS156-XE:y_fit_amplitude", "SARES30-CAMS156-XE:y_fit_mean", "SARES30-CAMS156-XE:y_fit_offset", "SARES30-CAMS156-XE:y_fit_standard_deviation", "SARES30-CAMS156-XE:y_fwhm", "SARES30-CAMS156-XE:y_profile", "SARES30-CAMS156-XE:y_rms", # "SARES30-CAMS156-XE:FPICTURE", ] ########################################################################### #### CRISTALLINA-Q EXPERIMENT ####################### # Diffractometer 1 bs_channels ID_dm1 = "SARES31-GPS" diffractometer_1_bs = [ ID_dm1 + ":ROT2THETA-BS", ID_dm1 + ":ROTTHETA-BS", ID_dm1 + ":TRX-BS", ID_dm1 + ":TRY-BS", ID_dm1 + ":TRZ-BS", ID_dm1 + ":TD-BS", ID_dm1 + ":TRXBASE-BS", ID_dm1 + ":TRYBASE-BS", ID_dm1 + ":TRYBASE-Avg-BS", ID_dm1 + "::CALC1", ID_dm1 + "::CALC2", ID_dm1 + "::CALC3", ID_dm1 + "::CALC4", ] ID_dm2 = "SARES32-GPS" diffractometer_2_bs = [ ID_dm2 + ":ROT2THETA-BS", ID_dm2 + ":ROTTHETA-BS", ID_dm2 + ":TRX-BS", ID_dm2 + ":TRY-BS", ID_dm2 + ":TRZ-BS", ID_dm2 + ":TD-BS", ID_dm2 + ":TRXBASE-BS", ID_dm2 + ":TRYBASE-BS", ID_dm2 + ":TRYBASE-Avg-BS", ID_dm2 + "::CALC1", ID_dm2 + "::CALC2", ID_dm2 + "::CALC3", ID_dm2 + "::CALC4", ] ########################################################################### #### CHANNEL GROUPS bs_channels = ( channels_gas_monitor # + channels_RF + channels_PBPS053 + channels_PSSS059 + channels_PSSS059_LB + channels_PBPS113 # + channels_PBPS113_waveforms + channels_PDIM113 # + channels_PPRM113 + channels_PBPS149 # + channels_PBPS149_waveforms # + channels_PPRM150 # only if screen is inserted + channels_PSCD153 + channels_EVR + channels_digitizer # + channels_Xeye + diffractometer_1_bs + diffractometer_2_bs # + camera_channels ) bs_channels_cristallina_beamline = ( channels_gas_monitor # + channels_RF + channels_PBPS053 + channels_PSSS059 + channels_PSSS059_LB + channels_PBPS113 # + channels_PBPS113_waveforms + channels_PDIM113 # + channels_PPRM113 + channels_PBPS149 # + channels_PBPS149_waveforms # + channels_PPRM150 # only if screen is inserted + channels_PSCD153 + channels_EVR ) bs_channels_bernina_DCM = ( channels_gas_monitor # + channels_RF + channels_PBPS053 + channels_PSSS059 + channels_PSSS059_LB + channels_PBPS113_bernina # + channels_PPRM113_bernina )