docs: def update(self, src):
          """
          Update the attributes sources, min_mag, max_mag
          according to the given source.
  
          :param src:
              an instance of :class:
              `openquake.hazardlib.source.base.BaseSeismicSource`
          """
          assert src.tectonic_region_type == self.trt, (
              src.tectonic_region_type, self.trt)
          if not src.min_mag:  # if not set already
              src.min_mag = self.min_mag.get(self.trt) or self.min_mag['default']
          # checking mutex ruptures
          if (not isinstance(src, NonParametricSeismicSource) and
                  self.rup_interdep == 'mutex'):
              msg = "Mutually exclusive ruptures can only be "
              msg += "modelled using non-parametric sources"
              raise ValueError(msg)
  
          nr = get_set_num_ruptures(src)
          if nr == 0:  # the minimum_magnitude filters all ruptures
              return
          self.tot_ruptures += nr
          self.sources.append(src)
          _, max_mag = src.get_min_max_mag()
          prev_max_mag = self.max_mag
          if prev_max_mag is None or max_mag > prev_max_mag:
              self.max_mag = max_mag