def METHOD_NAME(cls):
    circuit = SymmetricCircuit(
        Coil(
            x=1.5,
            z=6.0,
            current=1e6,
            dx=0.25,
            dz=0.5,
            j_max=1e-5,
            b_max=100,
            ctype="PF",
            name="PF_2",
        ),
        Coil(
            x=1.5,
            z=-6.0,
            current=1e6,
            dx=0.25,
            dz=0.5,
            j_max=1e-5,
            b_max=100,
            ctype="PF",
            name="PF_4",
        ),
    )
    coil2 = Coil(
        x=4.0,
        z=10.0,
        current=2e6,
        dx=0.5,
        dz=0.33,
        j_max=5.0e-6,
        b_max=50.0,
        name="PF_1",
    )
    coil3 = Coil(
        x=4.0,
        z=20.0,
        current=7e6,
        dx=0.5,
        dz=0.33,
        j_max=np.nan,
        b_max=50.0,
        name="PF_3",
    )
    cls.coilset = CoilSet(circuit, coil2, coil3)
    max_coil_shifts = {
        "x_shifts_lower": -2.0,
        "x_shifts_upper": 1.0,
        "z_shifts_lower": -1.0,
        "z_shifts_upper": 5.0,
    }
    cls.pfregions = {}
    xup = cls.coilset.x[cls.coilset._control_ind] + max_coil_shifts["x_shifts_upper"]
    xlo = cls.coilset.x[cls.coilset._control_ind] + max_coil_shifts["x_shifts_lower"]
    zup = cls.coilset.z[cls.coilset._control_ind] + max_coil_shifts["z_shifts_upper"]
    zlo = cls.coilset.z[cls.coilset._control_ind] + max_coil_shifts["z_shifts_lower"]
    for name, xl, xu, zl, zu in zip(cls.coilset.name, xup, xlo, zup, zlo):
        cls.pfregions[name] = RegionInterpolator(
            make_polygon({"x": [xl, xu, xu, xl, xl], "z": [zl, zl, zu, zu, zl]})
        )
    cls.optimiser = CoilsetPositionCOP(
        cls.coilset, None, None, PositionMapper(cls.pfregions)
    )