@classmethod
def diamond(cls, a):
    """Factory for Diamond type FCC like Si and Ge

        :param a: unit cell length
        """
    self = cls.cubic(a, lattice_type='F')
    self.selection_rules.append(lambda h, k, l: not (h % 2 == 0 and k % 2 ==
        0 and l % 2 == 0 and (h + k + l) % 4 != 0))
    return self
