Beginning beamtime March 29.03.2025

This commit is contained in:
2025-03-29 18:03:04 +01:00
parent ea8b8d6058
commit 22c061d83e
8 changed files with 79 additions and 24 deletions

0
.gitignore vendored Normal file → Executable file
View File

View File

@ -27,15 +27,15 @@ N_UNDS = list(range(3, 15 + 1))
### SETTINGS ####
PSSS_MOVE = True
DCCM_MOVE = True
DCCM_MOVE = False
TRAJECTORY_FEEDBACK_DISABLE_ENABLE = False
POINTING_FEEDFORWARD = False
energy_offset_undulators = -14 # eV
energy_offset_PSSS = -14 # eV
energy_offset_DCCM = -12 # eV
energy_offset_undulators = -21 # eV
energy_offset_PSSS = -9 # eV
energy_offset_DCCM = -11 # eV
DCCM_RX2_energy_offset = 25.8 # eV
DCCM_RX2_energy_offset = 32.4 # eV
################
@ -147,7 +147,7 @@ class PhotonEnergy(Adjustable):
"""
def __init__(
self, n_unds=N_UNDS, n_und_ref=None, scaled=True, ID="ARAMIS_UNDULATORS", name="Aramis Undulators", units="eV"
self, n_unds=N_UNDS, n_und_ref=None, scaled=True, ID="ARAMIS_UNDULATORS", name="Cristallina photon energy", units="eV"
):
# # don't allow setting these since there's no chic :)
# chic_fudge_offset = 0

View File

@ -9,7 +9,7 @@ from slic.core.acquisition.detcfg import DetectorConfig
detectors = [
"JF16T03V02", # 1.5M from 2025
# "JF16T03V01", # 1.5M from 2022
"JF17T16V01", # 8M
# "JF17T16V01", # 8M
"JF20T01V01", # IO
# "JF05T01V01", # 0.5M stripsel borrowed from Bernina, now registered in esc network
]
@ -31,10 +31,32 @@ detectors = [
detectors = DetectorConfig(detectors)
# detectors_with_config["JF16T03V01"]['save_dap_results'] = True
#detectors["JF16T03V01"]['remove_raw_files'] = True
#detectors["JF16T03V01"]['factor'] = 0.2 # Some useful compromise to save space.
#detectors["JF16T03V01"]['adc_to_energy'] = True
#detectors["JF16T03V01"]['compression'] = 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

View File

@ -469,6 +469,10 @@ pvs_ODCC110 = [
"SAROP31-ODCC110:MOT_ENY.RBV",
"SAROP31-ODCC110:MOT_OFS.RBV",
"SAROP31-ODCC110:MOT_TX1.RBV",
"SAROP31-ODCC110:ENC_RX11",
"SAROP31-ODCC110:ENC_RX12",
"SAROP31-ODCC110:ENC_RX21",
"SAROP31-ODCC110:ENC_RX22",
]
@ -799,6 +803,20 @@ pvs_diffractometer_2 = [
ID_dm2 + ":m0s028-Drv01-TrqAct", # ROTTHETA Mot torque
]
###############################
# DilSc
ID_DilSc_LakeShore = "SARES31-DIL-LS1"
pvs_DilSc_Lakeshore = [
ID_DilSc_LakeShore + "A_KELVIN",
ID_DilSc_LakeShore + "7_KELVIN",
ID_DilSc_LakeShore + "8_KELVIN",
ID_DilSc_LakeShore + "A_RES",
ID_DilSc_LakeShore + "7_RES",
ID_DilSc_LakeShore + "8_RES",
]
###############################
# Huber vertical stage
@ -873,6 +891,7 @@ pv_channels = (
# + pvs_smaract_xyz
+ pvs_diffractometer_1
+ pvs_diffractometer_2
+ pvs_DilSc_Lakeshore
+ pvs_huber_z
+ pvs_JJ_slits
# + pvs_attocube
@ -925,7 +944,7 @@ pv_channels_cristallina_beamline = (
+ pvs_OKBV153
+ pvs_PSCD153
+ pvs_OKBH154
+ pvs_i0_chamber
+ pvs_i0_chamber
)
pv_channels_bernina_DCM = (

View File

@ -159,14 +159,14 @@ BerninaDCM = BerninaMono("SAROP21-ODCM098")
# Diffractometer
from crq_exp.diffractometer import Diffractometer
dm1 = Diffractometer("SARES30-CPCL-ECMC02")
dm1 = Diffractometer("SARES31-GPS")
dm2 = Diffractometer("SARES32-GPS")
# Set according to which diffractometer is being used
diffractometer = dm1
# Dilution fridge
from crq_exp.dilsc import Dilution
#from crq_exp.dilsc import Dilution
try:
dilution = Dilution()
@ -178,6 +178,12 @@ except Exception as e:
# MX adajustables
# import mx.mx_adjustables
# Temporary quick hack thermometer addition for stand
#TODO: make in a thermometer class ...
T_reg = PVAdjustable('SARES31-DIL-LS1:A_KELVIN')
T_plato = PVAdjustable('SARES31-DIL-LS1:7_KELVIN')
T_chip = PVAdjustable('SARES31-DIL-LS1:8_KELVIN')
################# Stand setup ##################
@ -187,7 +193,10 @@ from stand.time import Time
adjs_for_spreadsheet = {
#"Time": Time(),
"Time": Time(),
"T_reg": T_reg,
"T_plato": T_plato,
"T_chip":T_chip,
"Transmission": attenuator.trans1st,
"Upstream Transmission": upstream_attenuator.trans1st,
"Energy_setpoint": cr_photon_energy,
@ -204,11 +213,13 @@ adjs_for_spreadsheet = {
if dilution is not None:
adjs_dilsc = {
"Magnet_X": dilution.x,
"Magnet_Y": dilution.y,
"Magnet_Z": dilution.z,
"DilSc_T_chip": dilution.T_chip,
"DilSc_T_pucksensor": dilution.T_reg,
#"Magnet_X": dilution.x,
#"Magnet_Y": dilution.y,
#"Magnet_Z": dilution.z,
"DilSc_T_chip": T_chip,
"DilSc_T_plato": T_plato,
#"DilSc_T_chip": dilution.T_chip,
"DilSc_T_pucksensor": T_reg,
}
adjs_for_spreadsheet.update(adjs_dilsc)

View File

@ -36,7 +36,7 @@ class Diffractometer(Device):
# This diffractometer also has extra swivel stages
self.rotx = Motor(ID + ":ROTX")
self.rotz = Motor(ID + ":ROTZ")
if ID == "SARES30-CPCL-ECMC02":
if ID == "SARES31-GPS":
self.name = "DM1: Cristallina dilution fridge diffractometer"
# class Diffractometer(Device):

View File

@ -2,7 +2,7 @@
"""
from slic.core.adjustable import Adjustable
from slic.core.adjustable import Adjustable, PVAdjustable
from slic.core.device import Device, SimpleDevice
@ -21,7 +21,7 @@ class Dilution(Device):
self.address = 'dilsc.psi.ch:5000'
self.dilsc = SecopClient(self.address)
self.dilsc.connect()
self.x = MagnetCoil("X", self.dilsc, 'x', limit_low=-0.6, limit_high=0.6)
self.y = MagnetCoil("Y", self.dilsc, 'y', limit_low=-0.6, limit_high=0.6)
self.z = MagnetCoil("Z", self.dilsc, 'z', limit_low=-5.2, limit_high=5.2)

View File

@ -44,6 +44,9 @@ pgroup_scratch = "p19150" # Scratch
# pgroup = "p22214" # CrQ in-house DilSc 2024-11-15
# pgroup = "p22199" # CrQ commissioning PuMa 2024-11-22
pgroup = "p22259" # Cr-Bl commissioning Jan 2025
# pgroup = "p22259" # Cr-Bl commissioning Jan 2025
# pgroup = "p22226" # CrMX user Nogly 2025-02-21
pgroup = "p22478" # Cr-Q commissioning Mar-Apr 2025