code: def get_branch(self, index):
          
          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
docs: 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