def __call__(
        self,
        circuit: cirq.AbstractCircuit,
        *,
        lookahead_radius: int = 8,
        tag_inserted_swaps: bool = False,
        initial_mapper: cirq.AbstractInitialMapper | None = None,
        context: cirq.TransformerContext | None = None,
    ) -> cirq.AbstractCircuit:
        """Transforms the given circuit to make it executable on the device.

        This method calls self.route_circuit and returns the routed circuit. See docstring of
        `RouteCQC.route_circuit` for more details on routing.

        Args:
            circuit: the input circuit to be transformed.
            lookahead_radius: the maximum number of succeeding timesteps the algorithm will
                consider for ranking candidate swaps with the cost cost function.
            tag_inserted_swaps: whether or not a `cirq.RoutingSwapTag` should be attached to
                inserted swap operations.
            initial_mapper: an initial mapping strategy (placement) of logical qubits in the
                circuit onto physical qubits on the device. If not provided, defaults to an
                instance of `cirq.LineInitialMapper`.
            context: transformer context storing common configurable options for transformers.

        Returns:
            The routed circuit, which is equivalent to original circuit up to a final qubit
                permutation and where each 2-qubit operation is between adjacent qubits in the
                `device_graph`.

        Raises:
            ValueError: if circuit has operations that act on 3 or more qubits, except measurements.
        """
        routed_circuit, _, _ = self.route_circuit(
            circuit=circuit,
            lookahead_radius=lookahead_radius,
            tag_inserted_swaps=tag_inserted_swaps,
            initial_mapper=initial_mapper,
            context=context,
        )
        return routed_circuit
Transforms the given circuit to make it executable on the device.

        This method calls self.route_circuit and returns the routed circuit. See docstring of
        `RouteCQC.route_circuit` for more details on routing.

        Args:
            circuit: the input circuit to be transformed.
            lookahead_radius: the maximum number of succeeding timesteps the algorithm will
                consider for ranking candidate swaps with the cost cost function.
            tag_inserted_swaps: whether or not a `cirq.RoutingSwapTag` should be attached to
                inserted swap operations.
            initial_mapper: an initial mapping strategy (placement) of logical qubits in the
                circuit onto physical qubits on the device. If not provided, defaults to an
                instance of `cirq.LineInitialMapper`.
            context: transformer context storing common configurable options for transformers.

        Returns:
            The routed circuit, which is equivalent to original circuit up to a final qubit
                permutation and where each 2-qubit operation is between adjacent qubits in the
                `device_graph`.

        Raises:
            ValueError: if circuit has operations that act on 3 or more qubits, except measurements.
        
cirq-core/cirq/transformers/routing/route_circuit_cqc.py