def MustrainCoeff(HKL, SGData):
    """Needs a doc string"""
    laue = SGData['SGLaue']
    uniq = SGData['SGUniq']
    h, k, l = HKL
    Strm = []
    if laue in ['m3', 'm3m']:
        Strm.append(h ** 4 + k ** 4 + l ** 4)
        Strm.append(3.0 * ((h * k) ** 2 + (h * l) ** 2 + (k * l) ** 2))
    elif laue in ['6/m', '6/mmm', '3m1']:
        Strm.append(h ** 4 + k ** 4 + 2.0 * k * h ** 3 + 2.0 * h * k ** 3 +
            3.0 * (h * k) ** 2)
        Strm.append(l ** 4)
        Strm.append(3.0 * ((h * l) ** 2 + (k * l) ** 2 + h * k * l ** 2))
    elif laue in ['31m', '3']:
        Strm.append(h ** 4 + k ** 4 + 2.0 * k * h ** 3 + 2.0 * h * k ** 3 +
            3.0 * (h * k) ** 2)
        Strm.append(l ** 4)
        Strm.append(3.0 * ((h * l) ** 2 + (k * l) ** 2 + h * k * l ** 2))
        Strm.append(4.0 * l * h ** 3)
    elif laue in ['3R', '3mR']:
        Strm.append(h ** 4 + k ** 4 + l ** 4)
        Strm.append(3.0 * ((h * k) ** 2 + (h * l) ** 2 + (k * l) ** 2))
        Strm.append(2.0 * (h * l ** 3 + l * k ** 3 + k * h ** 3) + 2.0 * (l *
            h ** 3 + k * l ** 3 + l * k ** 3))
        Strm.append(4.0 * (k * l * h ** 2 + h * l * k ** 2 + h * k * l ** 2))
    elif laue in ['4/m', '4/mmm']:
        Strm.append(h ** 4 + k ** 4)
        Strm.append(l ** 4)
        Strm.append(3.0 * (h * k) ** 2)
        Strm.append(3.0 * ((h * l) ** 2 + (k * l) ** 2))
    elif laue in ['mmm']:
        Strm.append(h ** 4)
        Strm.append(k ** 4)
        Strm.append(l ** 4)
        Strm.append(3.0 * (h * k) ** 2)
        Strm.append(3.0 * (h * l) ** 2)
        Strm.append(3.0 * (k * l) ** 2)
    elif laue in ['2/m']:
        Strm.append(h ** 4)
        Strm.append(k ** 4)
        Strm.append(l ** 4)
        Strm.append(3.0 * (h * k) ** 2)
        Strm.append(3.0 * (h * l) ** 2)
        Strm.append(3.0 * (k * l) ** 2)
        if uniq == 'a':
            Strm.append(2.0 * k * l ** 3)
            Strm.append(2.0 * l * k ** 3)
            Strm.append(4.0 * k * l * h ** 2)
        elif uniq == 'b':
            Strm.append(2.0 * l * h ** 3)
            Strm.append(2.0 * h * l ** 3)
            Strm.append(4.0 * h * l * k ** 2)
        elif uniq == 'c':
            Strm.append(2.0 * h * k ** 3)
            Strm.append(2.0 * k * h ** 3)
            Strm.append(4.0 * h * k * l ** 2)
    else:
        Strm.append(h ** 4)
        Strm.append(k ** 4)
        Strm.append(l ** 4)
        Strm.append(3.0 * (h * k) ** 2)
        Strm.append(3.0 * (h * l) ** 2)
        Strm.append(3.0 * (k * l) ** 2)
        Strm.append(2.0 * k * h ** 3)
        Strm.append(2.0 * h * l ** 3)
        Strm.append(2.0 * l * k ** 3)
        Strm.append(2.0 * h * k ** 3)
        Strm.append(2.0 * l * h ** 3)
        Strm.append(2.0 * k * l ** 3)
        Strm.append(4.0 * k * l * h ** 2)
        Strm.append(4.0 * h * l * k ** 2)
        Strm.append(4.0 * k * h * l ** 2)
    return Strm
