uataq.instruments.Instrument.plan_reads#

Instrument.plan_reads(group=None, time_range=None)[source]#

Plan which group to read each part of a time range from.

Parameters:
Returns:

(group, portion) pairs in time order. The portions are half-open, do not overlap, and lie within the requested range clipped to active_range. Usually a single pair.

Return type:

list[tuple[str, TimeRange]]

Raises:

Notes

With no group named, a range that crosses a group_dates boundary is split there. Each portion goes to the most preferred group whose window covers it – the default group, then the configured order, as in resolve_group() – and portions no group covers are skipped. An instrument without group_dates gets [(resolve_group(group), clipped range)], as before.