de_twin.column.CorrectorUnit#
- class de_twin.column.CorrectorUnit(side, *, seed=0, clock, lock, tuned=True, ht_kv=200.0, drift_rates=None, drift_step_s=1.0, operator=None, beam_check=None, label=None, host='127.0.0.1')[source]#
Bases:
objectOne corrector (one CEOS-RPC server): probe (STEM, port 7072) or image (TEM, 7071).
Normally built by
Corrector; everything is in nm / seconds of the injected clock. Thread-safe through the owner’s lock.- Parameters:
- __init__(side, *, seed=0, clock, lock, tuned=True, ht_kv=200.0, drift_rates=None, drift_step_s=1.0, operator=None, beam_check=None, label=None, host='127.0.0.1')[source]#
- Parameters:
Methods
__init__(side, *[, seed, tuned, ht_kv, ...])aberration(name)getAberration: (x, y, status) from the last measurement (metres / rad).
endpoint()CorrectorFactory::describe.info()CorrectorInfo::toString(getCorrectorInfo).perturb([kind, scale])Detune:
"ht"(HT change, cold start) or"mode"(probe/function mode).post_correct(name[, value, target, select, ...])value/targetin nm (rad for WD); None = omitted.post_get_config(name)post_put_alignment(data)post_set_config(name, value)post_tableau([tab_type, angle_mrad, max_fit])residual([t])Ground truth: native + corrector offset + drift at time
t(default now).set_beam_tilt(x, y[, relative, wait_s, sleeper])CorrectorService::setBeamTilt (radians).
set_residual(name, value_nm)Test / expert knob: make the residual
nameexactlyvalue_nmnow.simulate_measurement([kind, tab, ...])Run the tableau / C1A1 analysis on the current aberrations (no side effects other than the measurement noise stream).
status()total([t])What a measurement sees: residual + the operator's focus (C1) and stig (A1).
wait([timeout, sleeper])Wait (on the clock) until the running command finishes.
Attributes
- residual(t=None)[source]#
Ground truth: native + corrector offset + drift at time
t(default now).- Parameters:
t (float | None)
- Return type:
- total(t=None)[source]#
What a measurement sees: residual + the operator’s focus (C1) and stig (A1).
- Parameters:
t (float | None)
- Return type:
- set_residual(name, value_nm)[source]#
Test / expert knob: make the residual
nameexactlyvalue_nmnow.
- perturb(kind='mode', scale=1.0)[source]#
Detune:
"ht"(HT change, cold start) or"mode"(probe/function mode).
- wait(timeout=None, sleeper=None)[source]#
Wait (on the clock) until the running command finishes. Returns the state.
- simulate_measurement(kind='tableau', tab='Standard', angle_mrad=0.0, max_fit='', t=None)[source]#
Run the tableau / C1A1 analysis on the current aberrations (no side effects other than the measurement noise stream). Returns a result or an error string.
- post_correct(name, value=None, target=None, select='', *, beam_tilt_managed=False)[source]#
value/targetin nm (rad for WD); None = omitted.