@@ -83,8 +83,6 @@ class PGMMonochromator(PSIDeviceBase, PGMMonochromatorBase):
|
||||
e2 (float): End energy in eV.
|
||||
"""
|
||||
self.energy_range = [e1, e2]
|
||||
self._progress_active = False
|
||||
self._progress_done_emitted = False
|
||||
|
||||
########################################
|
||||
# Beamline Specific Implementations #
|
||||
@@ -99,8 +97,6 @@ class PGMMonochromator(PSIDeviceBase, PGMMonochromatorBase):
|
||||
"""
|
||||
self._sync_config_guard = False
|
||||
self._last_sync_update_ts = 0.0
|
||||
self._progress_active = False
|
||||
self._progress_done_emitted = False
|
||||
self.readback.name = self.name
|
||||
self.max_speed = 0.038 # maximum speed in degrees per second
|
||||
self.energy_range = []
|
||||
@@ -120,8 +116,6 @@ class PGMMonochromator(PSIDeviceBase, PGMMonochromatorBase):
|
||||
Called while staging the device.
|
||||
Information about the upcoming scan can be accessed from the scan_info (self.scan_info.msg) object.
|
||||
"""
|
||||
self._progress_active = False
|
||||
self._progress_done_emitted = False
|
||||
self.energy_range = []
|
||||
|
||||
def on_unstage(self) -> DeviceStatus | StatusBase | None:
|
||||
@@ -141,7 +135,6 @@ class PGMMonochromator(PSIDeviceBase, PGMMonochromatorBase):
|
||||
|
||||
def on_stop(self) -> None:
|
||||
"""Called when the device is stopped."""
|
||||
self._progress_active = False
|
||||
self.energy_range = []
|
||||
|
||||
def on_destroy(self) -> None:
|
||||
@@ -225,13 +218,6 @@ class PGMMonochromator(PSIDeviceBase, PGMMonochromatorBase):
|
||||
"""
|
||||
if len(self.energy_range) != 2:
|
||||
return
|
||||
# if bool(self.done.get()):
|
||||
# if not self._progress_done_emitted:
|
||||
# self.progress.put(value=100, max_value=100, done=True)
|
||||
# self._progress_done_emitted = True
|
||||
# return
|
||||
|
||||
self._progress_done_emitted = False
|
||||
|
||||
e1, e2 = self.energy_range
|
||||
if e1 == e2:
|
||||
|
||||
@@ -125,20 +125,10 @@ class OTFScan(ScanBase):
|
||||
"""
|
||||
self.actions.pre_scan_all_devices()
|
||||
|
||||
self.actions.set(
|
||||
device=[
|
||||
self.dev.mirror_theta.base_velocity,
|
||||
self.dev.grating_beta.base_velocity,
|
||||
self.dev.mirror_theta.velocity,
|
||||
self.dev.grating_beta.velocity,
|
||||
],
|
||||
value=[
|
||||
self.default_velocity / 10,
|
||||
self.default_velocity / 10,
|
||||
self.default_velocity,
|
||||
self.default_velocity,
|
||||
],
|
||||
)
|
||||
self.dev.mirror_theta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.grating_beta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.mirror_theta.velocity.put(self.default_velocity)
|
||||
self.dev.grating_beta.velocity.put(self.default_velocity)
|
||||
|
||||
# Move to the first energy
|
||||
self.mono.set(self.e1).wait()
|
||||
@@ -147,6 +137,7 @@ class OTFScan(ScanBase):
|
||||
e1=self.e1, e2=self.e2, travel_time=self.time * 60
|
||||
)
|
||||
self.dev.mono.set_progress_range(e1=self.e1, e2=self.e2)
|
||||
|
||||
self.dev.mirror_theta.base_velocity.put(theta_speed / 10)
|
||||
self.dev.grating_beta.base_velocity.put(beta_speed / 10)
|
||||
self.dev.mirror_theta.velocity.put(theta_speed)
|
||||
@@ -182,6 +173,10 @@ class OTFScan(ScanBase):
|
||||
self.dev.signals.store_updates.put(0)
|
||||
self.actions.complete_all_devices()
|
||||
self.mono.sync_with_undulator.put(0)
|
||||
self.dev.mirror_theta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.grating_beta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.mirror_theta.velocity.put(self.default_velocity)
|
||||
self.dev.grating_beta.velocity.put(self.default_velocity)
|
||||
|
||||
@scan_hook
|
||||
def unstage(self):
|
||||
@@ -205,20 +200,10 @@ class OTFScan(ScanBase):
|
||||
"""
|
||||
self.dev.signals.store_updates.put(0)
|
||||
self.mono.sync_with_undulator.put(0)
|
||||
self.actions.set(
|
||||
device=[
|
||||
self.dev.mirror_theta.base_velocity,
|
||||
self.dev.grating_beta.base_velocity,
|
||||
self.dev.mirror_theta.velocity,
|
||||
self.dev.grating_beta.velocity,
|
||||
],
|
||||
value=[
|
||||
self.default_velocity / 10,
|
||||
self.default_velocity / 10,
|
||||
self.default_velocity,
|
||||
self.default_velocity,
|
||||
],
|
||||
)
|
||||
self.dev.mirror_theta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.grating_beta.base_velocity.put(self.default_velocity / 10)
|
||||
self.dev.mirror_theta.velocity.put(self.default_velocity)
|
||||
self.dev.grating_beta.velocity.put(self.default_velocity)
|
||||
|
||||
#######################################################
|
||||
######### Helper methods for the scan logic ###########
|
||||
|
||||
Reference in New Issue
Block a user