BroadenLeft

class caqtus.device.sequencer.channel_commands.timing.BroadenLeft(
input_: ChannelOutput,
width: Expression,
)

Bases: ChannelOutput

Indicates that output should go high before the input pulses go high.

The output y(t) of this operation should be high when any of the input x(s) is high for s in [t, t + width].

The operation is only valid for boolean inputs, and it will produce a boolean output.

It is meant to be used to compensate for finite rise times in the hardware. For example, if a shutter takes 10 ms to open, and we want to open it at time t, we can use this operation to start opening the shutter at time t - 10 ms.

evaluate(
required_time_step: TimeStep,
prepend: int,
append: int,
shot_context: ShotContext,
)

Evaluate the output of a channel with the required parameters.

Parameters:
  • required_time_step – The time step in which to evaluate the output, in ns.

  • prepend – The number of time steps to add at the beginning of the output.

  • append – The number of time steps to add at the end of the output.

  • shot_context – Contains information about the current to evaluate the output.