TriggerGeneratorNode#

class FIREQ_SYSTEM.trigger_generator_node.TriggerGeneratorNode(*args: Any, **kwargs: Any)[source]#

Bases: _GenericNode

Object representing the trigger generator system.

Configuration dictionary keys:

  • _name (str): Name of the trigger generator node instance.

  • _ll_handler (TriggerGeneratorDriver): Low-level handler for the trigger generator.

  • $experiment_duration (float): Duration of the experiment shot, in ns.

nodetype = 'trigger_generator'#
wraps = ['TriggerGeneratorDriver']#
update_hw_shots() → bool[source]#

Update the number of hardware shots.

set_experiment_duration(duration: float) → int[source]#

Set the experiment duration.

Parameters:

duration (float) – Duration of the experiment in nanoseconds

Returns:

Error code (0 on success)

Return type:

int

create_child(name: str, of_type: str, **kwargs: dict[str, Any]) → _DelayItem[source]#

Create a child node of the specified type.

Parameters:
  • name (str) – Name of the child node

  • of_type (str) – Type of child node — currently only "delay" is supported

  • kwargs (dict[str, Any]) – Additional arguments for the child node

Returns:

The created child node

Return type:

_DelayItem

Raises:

ValueError – If a child with the same name already exists or the type is not supported

start_experiment() → None[source]#

Start the experiment by calling the low-level handler.

is_done() → bool[source]#

Check if the experiment is finished.

Returns:

True if the experiment is finished, False if still running

Return type:

bool