Returns in what branch(es) is the qpoint. There can be several
        branches.

        Args:
            index: the qpoint index

        Returns:
            A list of dictionaries [{"name","start_index","end_index","index"}]
            indicating all branches in which the qpoint is. It takes into
            account the fact that one qpoint (e.g., \\Gamma) can be in several
            branches

def get_branch(self, index):
        """
        Returns in what branch(es) is the qpoint. There can be several
        branches.

        Args:
            index: the qpoint index

        Returns:
            A list of dictionaries [{"name","start_index","end_index","index"}]
            indicating all branches in which the qpoint is. It takes into
            account the fact that one qpoint (e.g., \\Gamma) can be in several
            branches
        """
        to_return = []
        for i in self.get_equivalent_qpoints(index):
            for b in self.branches:
                    if b["start_index"] <= i <= b["end_index"]:
                        to_return.append({"name": b["name"],
                                          "start_index": b["start_index"],
                                          "end_index": b["end_index"],
                                          "index": i})
        return to_return