def __init__(
        self,
        hold_time: cirq.Duration,
        coupling_mhz: cirq.TParamVal,
        rise_time: cirq.Duration | None = cirq.Duration(nanos=8),
        padding_time: cirq.Duration | None = cirq.Duration(nanos=2.5),
        q0_detune_mhz: cirq.TParamVal = 0.0,
        q1_detune_mhz: cirq.TParamVal = 0.0,
    ):
        """Inits CouplerPulse.

        Args:
            hold_time: Length of the 'plateau' part of the coupler trajectory.
            coupling_mhz: Target qubit-qubit coupling reached at the plateau.
            rise_time: Width of the rising (or falling) action of the trapezoidal pulse.
            padding_time: Symmetric padding around the coupler pulse.
            q0_detune_mhz: Detuning of the first qubit.
            q1_detune_mhz: Detuning of the second qubit.

        """
        self.hold_time = hold_time
        self.coupling_mhz = coupling_mhz
        self.rise_time = rise_time or cirq.Duration(nanos=8)
        self.padding_time = padding_time or cirq.Duration(nanos=2.5)
        self.q0_detune_mhz = q0_detune_mhz
        self.q1_detune_mhz = q1_detune_mhz
Inits CouplerPulse.

        Args:
            hold_time: Length of the 'plateau' part of the coupler trajectory.
            coupling_mhz: Target qubit-qubit coupling reached at the plateau.
            rise_time: Width of the rising (or falling) action of the trapezoidal pulse.
            padding_time: Symmetric padding around the coupler pulse.
            q0_detune_mhz: Detuning of the first qubit.
            q1_detune_mhz: Detuning of the second qubit.

        
cirq-google/cirq_google/experimental/ops/coupler_pulse.py