# ======= Flux coils =======


tmon1_fc_segment_lengths = \
    [(qubit_ports[0].x - cp1.end.x) / 3, -cp1.end.y + qubit_ports[0].y + 0.35e6,
     (qubit_ports[0].x - cp1.end.x) / 2 + 0.495e6 + 2e3, (-cp1.end.y + qubit_ports[0].y) / 3 - 120e3 + 7.5e3]
tmon1_fc = CPW_RL_Path(cp1.end,
                       "LRLRLRL",
                       fc_cpw_params,
                       240e3,
                       tmon1_fc_segment_lengths, [pi / 2, -pi / 2, -pi / 2],
                       trans_in=None)
tmon1_fc.place(canvas)

tmon1_fc_end = FluxCoil(tmon1_fc.end,
                        fc_cpw_params,
                        width=20e3,
                        trans_in=DTrans.R180)
tmon1_fc_end.place(canvas)

tmon2_fc_segment_lengths = \
    [0.5e6, (qubit_ports[1].x - cp2.end.x) - 0.5e6, -(-cp2.end.y + qubit_ports[1].y) / 2 + 0.26e6 + 4.25e3]
tmon2_fc = CPW_RL_Path(cp2.end,
                       "LRRLRL",
                       fc_cpw_params,
                       150e3,
                       tmon2_fc_segment_lengths, [-pi / 2, pi / 2, -pi / 2],
                       trans_in=None)
tmon2_fc.place(canvas)

tmon1_fc_end = FluxCoil(tmon2_fc.end,
                        fc_cpw_params,