docs: def get(self, rlzi, grp=None):
          """
          :param rlzi: a realization index
          :param grp: None (all groups) or a string of the form "grp-XX"
          :returns: the hazard curves for the given realization
          """
          self.init()
          assert self.sids is not None
          pmap = probability_map.ProbabilityMap(len(self.imtls.array), 1)
          grps = [grp] if grp is not None else sorted(self.pmap_by_grp)
          array = self.rlzs_assoc.by_grp()
          for grp in grps:
              for gsim_idx, rlzis in enumerate(array[grp]):
                  for r in rlzis:
                      if r == rlzi:
                          pmap |= self.pmap_by_grp[grp].extract(gsim_idx)
                          break
          return pmap