def METHOD_NAME(gid):
    # (1) Build a segment tree
    tree = arbor.segment_tree()
    # Soma (tag=1) with radius 6 μm, modelled as cylinder of length 2*radius
    s = tree.append(
        arbor.mnpos, arbor.mpoint(-12, 0, 0, 6), arbor.mpoint(0, 0, 0, 6), tag=1
    )
    # (b0) Single dendrite (tag=3) of length 50 μm and radius 2 μm attached to soma.
    b0 = tree.append(s, arbor.mpoint(0, 0, 0, 2), arbor.mpoint(50, 0, 0, 2), tag=3)
    # Attach two dendrites (tag=3) of length 50 μm to the end of the first dendrite.
    # (b1) Radius tapers from 2 to 0.5 μm over the length of the dendrite.
    tree.append(
        b0,
        arbor.mpoint(50, 0, 0, 2),
        arbor.mpoint(50 + 50 / sqrt(2), 50 / sqrt(2), 0, 0.5),
        tag=3,
    )
    # (b2) Constant radius of 1 μm over the length of the dendrite.
    tree.append(
        b0,
        arbor.mpoint(50, 0, 0, 1),
        arbor.mpoint(50 + 50 / sqrt(2), -50 / sqrt(2), 0, 1),
        tag=3,
    )
    # Associate labels to tags
    labels = arbor.label_dict(
        {
            "soma": "(tag 1)",
            "dend": "(tag 3)",
            # (2) Mark location for synapse at the midpoint of branch 1 (the first dendrite).
            "synapse_site": "(location 1 0.5)",
            # Mark the root of the tree.
            "root": "(root)",
        }
    )
    # (3) Create a decor and a cable_cell
    decor = (
        arbor.decor()
        # Put hh dynamics on soma, and passive properties on the dendrites.
        .paint('"soma"', arbor.density("hh")).paint('"dend"', arbor.density("pas"))
        # (4) Attach a single synapse.
        .place('"synapse_site"', arbor.synapse("expsyn"), "syn")
        # Attach a detector with threshold of -10 mV.
        .place('"root"', arbor.threshold_detector(-10), "detector")
    )
    return arbor.cable_cell(tree, decor, labels)