def METHOD_NAME(gid):
    # Build a segment tree
    tree = arbor.segment_tree()
    # Soma with radius 5 μm and length 2 * radius = 10 μm, (tag = 1)
    s = tree.append(
        arbor.mnpos, arbor.mpoint(-10, 0, 0, 5), arbor.mpoint(0, 0, 0, 5), tag=1
    )
    # Single dendrite with radius 2 μm and length 40 μm, (tag = 2)
    tree.append(s, arbor.mpoint(0, 0, 0, 2), arbor.mpoint(40, 0, 0, 2), tag=2)
    # Label dictionary for cell components
    labels = arbor.label_dict(
        {
            # Mark location for synapse site at midpoint of dendrite (branch 0  soma + dendrite)
            "synapse_site": "(location 0 0.6)",
            # Gap junction site at connection point of soma and dendrite
            "gj_site": "(location 0 0.2)",
            # Label root of the tree
            "root": "(root)",
        }
    ).add_swc_tags()
    # Paint dynamics onto the cell, hh on soma and passive properties on dendrite
    decor = (
        arbor.decor()
        .paint('"soma"', arbor.density("hh"))
        .paint('"dend"', arbor.density("pas"))
        # Attach one synapse and gap junction each on their labeled sites
        .place('"synapse_site"', arbor.synapse("expsyn"), "syn")
        .place('"gj_site"', arbor.junction("gj"), "gj")
        # Attach detector to cell root
        .place('"root"', arbor.threshold_detector(-10), "detector")
    )
    return arbor.cable_cell(tree, decor, labels)