Beginning beamtime March 29.03.2025
This commit is contained in:
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
@ -27,15 +27,15 @@ N_UNDS = list(range(3, 15 + 1))
|
|||||||
### SETTINGS ####
|
### SETTINGS ####
|
||||||
|
|
||||||
PSSS_MOVE = True
|
PSSS_MOVE = True
|
||||||
DCCM_MOVE = True
|
DCCM_MOVE = False
|
||||||
TRAJECTORY_FEEDBACK_DISABLE_ENABLE = False
|
TRAJECTORY_FEEDBACK_DISABLE_ENABLE = False
|
||||||
POINTING_FEEDFORWARD = False
|
POINTING_FEEDFORWARD = False
|
||||||
|
|
||||||
energy_offset_undulators = -14 # eV
|
energy_offset_undulators = -21 # eV
|
||||||
energy_offset_PSSS = -14 # eV
|
energy_offset_PSSS = -9 # eV
|
||||||
energy_offset_DCCM = -12 # 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__(
|
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 :)
|
# # don't allow setting these since there's no chic :)
|
||||||
# chic_fudge_offset = 0
|
# chic_fudge_offset = 0
|
||||||
|
@ -9,7 +9,7 @@ from slic.core.acquisition.detcfg import DetectorConfig
|
|||||||
detectors = [
|
detectors = [
|
||||||
"JF16T03V02", # 1.5M from 2025
|
"JF16T03V02", # 1.5M from 2025
|
||||||
# "JF16T03V01", # 1.5M from 2022
|
# "JF16T03V01", # 1.5M from 2022
|
||||||
"JF17T16V01", # 8M
|
# "JF17T16V01", # 8M
|
||||||
"JF20T01V01", # IO
|
"JF20T01V01", # IO
|
||||||
# "JF05T01V01", # 0.5M stripsel borrowed from Bernina, now registered in esc network
|
# "JF05T01V01", # 0.5M stripsel borrowed from Bernina, now registered in esc network
|
||||||
]
|
]
|
||||||
@ -31,10 +31,32 @@ detectors = [
|
|||||||
detectors = DetectorConfig(detectors)
|
detectors = DetectorConfig(detectors)
|
||||||
# detectors_with_config["JF16T03V01"]['save_dap_results'] = True
|
# detectors_with_config["JF16T03V01"]['save_dap_results'] = True
|
||||||
|
|
||||||
#detectors["JF16T03V01"]['remove_raw_files'] = True
|
# JF 1.5M default settings
|
||||||
#detectors["JF16T03V01"]['factor'] = 0.2 # Some useful compromise to save space.
|
detectors["JF16T03V02"]['remove_raw_files'] = True
|
||||||
#detectors["JF16T03V01"]['adc_to_energy'] = True
|
detectors["JF16T03V02"]['factor'] = 0.1 # Some useful compromise to save space.
|
||||||
#detectors["JF16T03V01"]['compression'] = True
|
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_with_config["JF16T03V01"]['disabled_modules'] = [0, 1] # bottom module:0, middle module:1, top module:2
|
||||||
|
|
||||||
|
@ -469,6 +469,10 @@ pvs_ODCC110 = [
|
|||||||
"SAROP31-ODCC110:MOT_ENY.RBV",
|
"SAROP31-ODCC110:MOT_ENY.RBV",
|
||||||
"SAROP31-ODCC110:MOT_OFS.RBV",
|
"SAROP31-ODCC110:MOT_OFS.RBV",
|
||||||
"SAROP31-ODCC110:MOT_TX1.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
|
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
|
# Huber vertical stage
|
||||||
@ -873,6 +891,7 @@ pv_channels = (
|
|||||||
# + pvs_smaract_xyz
|
# + pvs_smaract_xyz
|
||||||
+ pvs_diffractometer_1
|
+ pvs_diffractometer_1
|
||||||
+ pvs_diffractometer_2
|
+ pvs_diffractometer_2
|
||||||
|
+ pvs_DilSc_Lakeshore
|
||||||
+ pvs_huber_z
|
+ pvs_huber_z
|
||||||
+ pvs_JJ_slits
|
+ pvs_JJ_slits
|
||||||
# + pvs_attocube
|
# + pvs_attocube
|
||||||
@ -925,7 +944,7 @@ pv_channels_cristallina_beamline = (
|
|||||||
+ pvs_OKBV153
|
+ pvs_OKBV153
|
||||||
+ pvs_PSCD153
|
+ pvs_PSCD153
|
||||||
+ pvs_OKBH154
|
+ pvs_OKBH154
|
||||||
+ pvs_i0_chamber
|
+ pvs_i0_chamber
|
||||||
)
|
)
|
||||||
|
|
||||||
pv_channels_bernina_DCM = (
|
pv_channels_bernina_DCM = (
|
||||||
|
@ -159,14 +159,14 @@ BerninaDCM = BerninaMono("SAROP21-ODCM098")
|
|||||||
|
|
||||||
# Diffractometer
|
# Diffractometer
|
||||||
from crq_exp.diffractometer import Diffractometer
|
from crq_exp.diffractometer import Diffractometer
|
||||||
dm1 = Diffractometer("SARES30-CPCL-ECMC02")
|
dm1 = Diffractometer("SARES31-GPS")
|
||||||
dm2 = Diffractometer("SARES32-GPS")
|
dm2 = Diffractometer("SARES32-GPS")
|
||||||
|
|
||||||
# Set according to which diffractometer is being used
|
# Set according to which diffractometer is being used
|
||||||
diffractometer = dm1
|
diffractometer = dm1
|
||||||
|
|
||||||
# Dilution fridge
|
# Dilution fridge
|
||||||
from crq_exp.dilsc import Dilution
|
#from crq_exp.dilsc import Dilution
|
||||||
|
|
||||||
try:
|
try:
|
||||||
dilution = Dilution()
|
dilution = Dilution()
|
||||||
@ -178,6 +178,12 @@ except Exception as e:
|
|||||||
# MX adajustables
|
# MX adajustables
|
||||||
# import mx.mx_adjustables
|
# 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 ##################
|
################# Stand setup ##################
|
||||||
|
|
||||||
@ -187,7 +193,10 @@ from stand.time import Time
|
|||||||
|
|
||||||
|
|
||||||
adjs_for_spreadsheet = {
|
adjs_for_spreadsheet = {
|
||||||
#"Time": Time(),
|
"Time": Time(),
|
||||||
|
"T_reg": T_reg,
|
||||||
|
"T_plato": T_plato,
|
||||||
|
"T_chip":T_chip,
|
||||||
"Transmission": attenuator.trans1st,
|
"Transmission": attenuator.trans1st,
|
||||||
"Upstream Transmission": upstream_attenuator.trans1st,
|
"Upstream Transmission": upstream_attenuator.trans1st,
|
||||||
"Energy_setpoint": cr_photon_energy,
|
"Energy_setpoint": cr_photon_energy,
|
||||||
@ -204,11 +213,13 @@ adjs_for_spreadsheet = {
|
|||||||
|
|
||||||
if dilution is not None:
|
if dilution is not None:
|
||||||
adjs_dilsc = {
|
adjs_dilsc = {
|
||||||
"Magnet_X": dilution.x,
|
#"Magnet_X": dilution.x,
|
||||||
"Magnet_Y": dilution.y,
|
#"Magnet_Y": dilution.y,
|
||||||
"Magnet_Z": dilution.z,
|
#"Magnet_Z": dilution.z,
|
||||||
"DilSc_T_chip": dilution.T_chip,
|
"DilSc_T_chip": T_chip,
|
||||||
"DilSc_T_pucksensor": dilution.T_reg,
|
"DilSc_T_plato": T_plato,
|
||||||
|
#"DilSc_T_chip": dilution.T_chip,
|
||||||
|
"DilSc_T_pucksensor": T_reg,
|
||||||
}
|
}
|
||||||
adjs_for_spreadsheet.update(adjs_dilsc)
|
adjs_for_spreadsheet.update(adjs_dilsc)
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ class Diffractometer(Device):
|
|||||||
# This diffractometer also has extra swivel stages
|
# This diffractometer also has extra swivel stages
|
||||||
self.rotx = Motor(ID + ":ROTX")
|
self.rotx = Motor(ID + ":ROTX")
|
||||||
self.rotz = Motor(ID + ":ROTZ")
|
self.rotz = Motor(ID + ":ROTZ")
|
||||||
if ID == "SARES30-CPCL-ECMC02":
|
if ID == "SARES31-GPS":
|
||||||
self.name = "DM1: Cristallina dilution fridge diffractometer"
|
self.name = "DM1: Cristallina dilution fridge diffractometer"
|
||||||
|
|
||||||
# class Diffractometer(Device):
|
# class Diffractometer(Device):
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from slic.core.adjustable import Adjustable
|
from slic.core.adjustable import Adjustable, PVAdjustable
|
||||||
|
|
||||||
from slic.core.device import Device, SimpleDevice
|
from slic.core.device import Device, SimpleDevice
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ class Dilution(Device):
|
|||||||
self.address = 'dilsc.psi.ch:5000'
|
self.address = 'dilsc.psi.ch:5000'
|
||||||
self.dilsc = SecopClient(self.address)
|
self.dilsc = SecopClient(self.address)
|
||||||
self.dilsc.connect()
|
self.dilsc.connect()
|
||||||
|
|
||||||
self.x = MagnetCoil("X", self.dilsc, 'x', limit_low=-0.6, limit_high=0.6)
|
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.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)
|
self.z = MagnetCoil("Z", self.dilsc, 'z', limit_low=-5.2, limit_high=5.2)
|
||||||
|
@ -44,6 +44,9 @@ pgroup_scratch = "p19150" # Scratch
|
|||||||
# pgroup = "p22214" # CrQ in-house DilSc 2024-11-15
|
# pgroup = "p22214" # CrQ in-house DilSc 2024-11-15
|
||||||
# pgroup = "p22199" # CrQ commissioning PuMa 2024-11-22
|
# 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 = "p22226" # CrMX user Nogly 2025-02-21
|
||||||
|
|
||||||
|
pgroup = "p22478" # Cr-Q commissioning Mar-Apr 2025
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user