quchip.control.field

Solve-time coherent field controls.

Field inputs share the sequence scheduling grammar with classical drive lines, but they stay independent of BaseDrive and ControlEquipment. Their target is an external SLH exposure rather than a device or coupling.

Classes

CoherentInput(exposure, *[, label])

Coherent incident field bound to one external network exposure.

ControlEndpoint(*args, **kwargs)

Structural endpoint accepted by the sequence scheduling grammar.

class quchip.control.field.ControlEndpoint(*args, **kwargs)[source]

Bases: Protocol

Structural endpoint accepted by the sequence scheduling grammar.

Existing BaseDrive implementations satisfy this protocol without inheritance. A field endpoint supplies the same label, target-label, and signal-building boundary, but it owns different downstream physics.

label: str
property target_label: str | None

Return the endpoint’s device, coupling, or field-exposure label.

signal(pulse, target)[source]

Build the complete analytic signal for one scheduled pulse.

class quchip.control.field.CoherentInput(exposure, *, label=None)[source]

Bases: object

Coherent incident field bound to one external network exposure.

The scheduled analytic signal is interpreted directly as beta(t) = A(t) exp(i theta) exp(-i 2*pi*f*t) in 1/sqrt(ns), so abs(beta)**2 is photon flux in photons/ns.

Parameters:
  • exposure (str or object) – External network exposure label.

  • label (str, optional) – Endpoint label, generated if omitted.

exposure: str
label: str
property target_label: str

Return the external exposure receiving the incident field.

signal(pulse, target=None)[source]

Build beta from the pulse’s envelope, phase, carrier, and timing.

Parameters:
  • pulse (object) – Scheduled pulse record.

  • target (object, optional) – Ignored. Accepted to satisfy the control-endpoint protocol.