added default lattice and orientations; clean up

This commit is contained in:
gac-furka
2022-04-26 15:38:39 +02:00
parent 360f4de5ca
commit a5dc401900
2 changed files with 39 additions and 37 deletions

View File

@ -19,10 +19,10 @@ from undulator import Mono
from undulator import Coupled_MonoUnd
from qspace import QSpace3D
from qspace import QSpace1D
from qspace import Wavelength
from qspace import HistoryDummy
dummy = DummyAdjustable(units="au")
mot_x = Motor("SATES30-RETRO:MOT_X", name="Retro X")
@ -30,20 +30,6 @@ mot_y = Motor("SATES30-RETRO:MOT_Y", name="Retro Y")
mot_z = Motor("SATES30-RETRO:MOT_Z", name="Retro Z")
mot_theta = Motor("SATES30-RETRO:MOT_RY", name="Retro Theta")
mu = Motor("SATES30-RIXS:MOT_SRY.VAL")
chi = Motor("SATES30-RIXS:MOT_SRZ.VAL")
phi = Motor("SATES30-RIXS:MOT_SRX.VAL")
nu = Motor("SATES30-RIXS:MOT_DRY.VAL")
wl = Wavelength(PVAdjustable("MACHINE:ENERGY"))
q = QSpace3D("SOMETHING:Q", mu, chi, phi, nu, wl)
fake_mu = HistoryDummy.init_from(q.motors.mu)
fake_chi = HistoryDummy.init_from(q.motors.chi)
fake_phi = HistoryDummy.init_from(q.motors.phi)
fake_nu = HistoryDummy.init_from(q.motors.nu)
fake_q = QSpace3D("FAKE:Q", fake_mu, fake_chi, fake_phi, fake_nu, wl)
#fake_q.set_lattice("FAKE:Q", fake_mu, fake_chi, fake_phi, fake_nu, wl)
retro = SimpleDevice("Retro Stages", x=mot_x, y=mot_y, z=mot_z, theta=mot_theta)
KBV_RX = PVAdjustable("SATOP31-OKBV178:W_RX.VAL", pvname_moving="SATOP31-OKBV178:MOVING", name = "KB_Vertical_RX")
@ -67,11 +53,36 @@ und = Undulators(n_unds, n_und_ref, chic_fudge_offset, name="z Athos Undulators"
mono_name = "Athos_mono"
pv_mono_name="SATOP11-OSGM087"
Mon = Mono(pv_mono_name=pv_mono_name, mono_name=mono_name)
MonUnd = Coupled_MonoUnd(n_unds, n_und_ref, chic_fudge_offset, unds_name="z Athos Undulators", pv_mono_name=pv_mono_name, mono_name=mono_name, delta=Mon2Unds_offset, name = ("Mono+Und"))
#Mon = PVAdjustable("SATOP11-OSGM087:SetEnergy", pvname_done_moving="SATOP11-OSGM087:MOVING", name="MONO")
Mon = Mono(pv_mono_name=pv_mono_name, mono_name=mono_name)
MonUnd = Coupled_MonoUnd(
n_unds, n_und_ref, chic_fudge_offset, unds_name="z Athos Undulators",
pv_mono_name=pv_mono_name, mono_name=mono_name, delta=Mon2Unds_offset,
name="Mono+Und"
)
wl = Wavelength(Mon)
mu = Motor("SATES30-RIXS:MOT_SRY.VAL")
chi = Motor("SATES30-RIXS:MOT_SRZ.VAL")
phi = Motor("SATES30-RIXS:MOT_SRX.VAL")
nu = Motor("SATES30-RIXS:MOT_DRY.VAL")
q = QSpace3D("SOMETHING:Q", mu, chi, phi, nu, wl)
fake_mu = HistoryDummy.init_from(mu)
fake_chi = HistoryDummy.init_from(chi)
fake_phi = HistoryDummy.init_from(phi)
fake_nu = HistoryDummy.init_from(nu)
fake_q = QSpace3D("FAKE:Q", fake_mu, fake_chi, fake_phi, fake_nu, wl)
#fake_q.set_lattice("FAKE:Q", fake_mu, fake_chi, fake_phi, fake_nu, wl)
fake_q.set_lattice("Y-hex", a=5.9, c=43.3)
fake_q.add_orientation((1,0,16), (0,0,1), None, "normal direction")
fake_q.add_orientation((-2,0,1), (0,1,0), None, "beam direction")
fake_q.calc_ub()
laser_delay = DelayStage("SLAAT31-LMOT-M808:MOT", name="Laser Delay")
laser_WP = Motor("SLAAT31-LMOT-M801:MOT", name="Laser WavePlate")

View File

@ -11,9 +11,6 @@ from slic.devices.device import Device
from slic.devices.simpledevice import SimpleDevice
from slic.utils.printing import printable_table
from undulator import Undulators
from undulator import Mono
from undulator import Coupled_MonoUnd
INDICES = {
"h": 0,
@ -246,23 +243,17 @@ def print_history(*adjs, enumerate_lines=True, make_legend=True):
# these point to the different motors
mu = Motor("SATES30-RIXS:MOT_SRY.VAL")
chi = Motor("SATES30-RIXS:MOT_SRZ.VAL")
phi = Motor("SATES30-RIXS:MOT_SRX.VAL")
nu = Motor("SATES30-RIXS:MOT_DRY.VAL")
## these point to the different motors
#mu = Motor("SATES30-RIXS:MOT_SRY.VAL")
#chi = Motor("SATES30-RIXS:MOT_SRZ.VAL")
#phi = Motor("SATES30-RIXS:MOT_SRX.VAL")
#nu = Motor("SATES30-RIXS:MOT_DRY.VAL")
# and this to the machine wavelength (maybe this needs to be calculated from the energy? then we should add a Wavelength wrapper...)
# wl = Wavelength(PVAdjustable("MACHINE:ENERGY"))
mono_name = "Athos_mono"
pv_mono_name="SATOP11-OSGM087"
## and this to the machine wavelength (maybe this needs to be calculated from the energy? then we should add a Wavelength wrapper...)
#wl = Wavelength(PVAdjustable("MACHINE:ENERGY"))
Mon = Mono(pv_mono_name=pv_mono_name, mono_name=mono_name)
wl = Wavelength(Mon)
# put it all together:
q = QSpace3D("SOMETHING:Q", mu, chi, phi, nu, wl)
## put it all together:
#q = QSpace3D("SOMETHING:Q", mu, chi, phi, nu, wl)
## in ipython
#q.set_lattice("SiO2", 4.913, 5.405)