@@ -35,7 +35,22 @@ class XasSimpleScan(ScanBase):
|
||||
gui_config = {
|
||||
"Movement Parameters": ["start", "stop"],
|
||||
"Scan Parameters": ["scan_time", "scan_duration", "monitored_readout_cycle"],
|
||||
"Universal Trigger 1": ["univ1_trig_source", "univ1_trig_mode"],
|
||||
"Universal Trigger 1": [
|
||||
"univ1_trig_source",
|
||||
"univ1_trig_mode",
|
||||
"univ1_trig_delay",
|
||||
"univ1_trig_pulselen",
|
||||
"univ1_trig_period",
|
||||
"univ1_trig_ntrig",
|
||||
],
|
||||
"Universal Trigger 2": [
|
||||
"univ2_trig_source",
|
||||
"univ2_trig_mode",
|
||||
"univ2_trig_delay",
|
||||
"univ2_trig_pulselen",
|
||||
"univ2_trig_period",
|
||||
"univ2_trig_ntrig",
|
||||
],
|
||||
}
|
||||
|
||||
def __init__(
|
||||
@@ -47,6 +62,16 @@ class XasSimpleScan(ScanBase):
|
||||
scan_duration: Annotated[float, ScanArgument(display_name="Scan Duration", description="Total scan duration.", units=Units.s, ge=0.05)],
|
||||
univ1_trig_source: Annotated[Literal['EPICS', 'INPOS', 'SCAN'], ScanArgument(display_name="Source", description="Universal trigger 1 source")],
|
||||
univ1_trig_mode: Annotated[Literal['PULSE', 'CONDITION'], ScanArgument(display_name="Mode", description="Universal trigger 1 mode")],
|
||||
univ1_trig_delay: Annotated[float, ScanArgument(display_name="Delay", description="Start delay for a trigger sequence", units=Units.s, ge=0)],
|
||||
univ1_trig_pulselen: Annotated[float, ScanArgument(display_name="Pulse length", description="Pulse length of trigger", units=Units.s, ge=0)],
|
||||
univ1_trig_period: Annotated[float, ScanArgument(display_name="Period", description="Period of a trigger", units=Units.s, ge=0)],
|
||||
univ1_trig_ntrig: Annotated[int, ScanArgument(display_name="N of triggers", description="Number of triggers to be fired", ge=0)],
|
||||
univ2_trig_source: Annotated[Literal['EPICS', 'INPOS', 'SCAN'], ScanArgument(display_name="Source", description="Universal trigger 2 source")],
|
||||
univ2_trig_mode: Annotated[Literal['PULSE', 'CONDITION'], ScanArgument(display_name="Mode", description="Universal trigger 2 mode")],
|
||||
univ2_trig_delay: Annotated[float, ScanArgument(display_name="Delay", description="Start delay for a trigger sequence", units=Units.s, ge=0)],
|
||||
univ2_trig_pulselen: Annotated[float, ScanArgument(display_name="Pulse length", description="Pulse length of trigger", units=Units.s, ge=0)],
|
||||
univ2_trig_period: Annotated[float, ScanArgument(display_name="Period", description="Period of a trigger", units=Units.s, ge=0)],
|
||||
univ2_trig_ntrig: Annotated[int, ScanArgument(display_name="N of triggers", description="Number of triggers to be fired", ge=0)],
|
||||
motor: Annotated[DeviceBase | None, ScanArgument(display_name="Motor", description="Bragg motor device.")] = None,
|
||||
daq: Annotated[DeviceBase | None, ScanArgument(display_name="DAQ", description="NIDAQ device.")] = None,
|
||||
monitored_readout_cycle: Annotated[float, ScanArgument(display_name="Monitored Readout Cycle", description="Delay between monitored readouts.",units=Units.s, gt=0)] = 1,
|
||||
@@ -77,7 +102,22 @@ class XasSimpleScan(ScanBase):
|
||||
self.daq = daq if daq is not None else self.dev["nidaq"]
|
||||
self.monitored_readout_cycle = monitored_readout_cycle
|
||||
self.positions = np.array([self.start, self.stop], dtype=float)
|
||||
self.univ1_trig = {"source": univ1_trig_source, "mode": univ1_trig_mode}
|
||||
self.univ1_trig = {
|
||||
"source": univ1_trig_source,
|
||||
"mode": univ1_trig_mode,
|
||||
"delay": univ1_trig_delay,
|
||||
"pulselen": univ1_trig_pulselen,
|
||||
"period": univ1_trig_period,
|
||||
"ntrig": univ1_trig_ntrig,
|
||||
}
|
||||
self.univ2_trig = {
|
||||
"source": univ2_trig_source,
|
||||
"mode": univ2_trig_mode,
|
||||
"delay": univ2_trig_delay,
|
||||
"pulselen": univ2_trig_pulselen,
|
||||
"period": univ2_trig_period,
|
||||
"ntrig": univ2_trig_ntrig,
|
||||
}
|
||||
|
||||
# We pass on the arguments as "additional_scan_parameters" in the scan info
|
||||
self.update_scan_info(
|
||||
@@ -189,6 +229,22 @@ class XasSimpleScanWithXrd(XasSimpleScan):
|
||||
"Low Energy Break": ["break_enable_low", "break_time_low", "cycle_low"],
|
||||
"High Energy Break": ["break_enable_high", "break_time_high", "cycle_high"],
|
||||
"XRD Triggers": ["exp_time", "n_of_trigger"],
|
||||
"Universal Trigger 1": [
|
||||
"univ1_trig_source",
|
||||
"univ1_trig_mode",
|
||||
"univ1_trig_delay",
|
||||
"univ1_trig_pulselen",
|
||||
"univ1_trig_period",
|
||||
"univ1_trig_ntrig",
|
||||
],
|
||||
"Universal Trigger 2": [
|
||||
"univ2_trig_source",
|
||||
"univ2_trig_mode",
|
||||
"univ2_trig_delay",
|
||||
"univ2_trig_pulselen",
|
||||
"univ2_trig_period",
|
||||
"univ2_trig_ntrig",
|
||||
],
|
||||
}
|
||||
|
||||
def __init__(
|
||||
@@ -242,6 +298,22 @@ class XasAdvancedScan(XasSimpleScan):
|
||||
"Movement Parameters": ["start", "stop"],
|
||||
"Scan Parameters": ["scan_time", "scan_duration", "monitored_readout_cycle"],
|
||||
"Spline Parameters": ["p_kink", "e_kink"],
|
||||
"Universal Trigger 1": [
|
||||
"univ1_trig_source",
|
||||
"univ1_trig_mode",
|
||||
"univ1_trig_delay",
|
||||
"univ1_trig_pulselen",
|
||||
"univ1_trig_period",
|
||||
"univ1_trig_ntrig",
|
||||
],
|
||||
"Universal Trigger 2": [
|
||||
"univ2_trig_source",
|
||||
"univ2_trig_mode",
|
||||
"univ2_trig_delay",
|
||||
"univ2_trig_pulselen",
|
||||
"univ2_trig_period",
|
||||
"univ2_trig_ntrig",
|
||||
],
|
||||
}
|
||||
|
||||
def __init__(
|
||||
@@ -282,6 +354,22 @@ class XasAdvancedScanWithXrd(XasAdvancedScan):
|
||||
"Low Energy Break": ["break_enable_low", "break_time_low", "cycle_low"],
|
||||
"High Energy Break": ["break_enable_high", "break_time_high", "cycle_high"],
|
||||
"XRD Triggers": ["exp_time", "n_of_trigger"],
|
||||
"Universal Trigger 1": [
|
||||
"univ1_trig_source",
|
||||
"univ1_trig_mode",
|
||||
"univ1_trig_delay",
|
||||
"univ1_trig_pulselen",
|
||||
"univ1_trig_period",
|
||||
"univ1_trig_ntrig",
|
||||
],
|
||||
"Universal Trigger 2": [
|
||||
"univ2_trig_source",
|
||||
"univ2_trig_mode",
|
||||
"univ2_trig_delay",
|
||||
"univ2_trig_pulselen",
|
||||
"univ2_trig_period",
|
||||
"univ2_trig_ntrig",
|
||||
],
|
||||
}
|
||||
|
||||
def __init__(
|
||||
|
||||
Reference in New Issue
Block a user