docs: def convert_multiPointSource(self, node):
          """
          Convert the given node into a MultiPointSource object.
  
          :param node: a node with tag multiPointGeometry
          :returns: a :class:`openquake.hazardlib.source.MultiPointSource`
          """
          geom = node.multiPointGeometry
          lons, lats = zip(*split_coords_2d(~geom.posList))
          msr = valid.SCALEREL[~node.magScaleRel]()
          return source.MultiPointSource(
              source_id=node['id'],
              name=node['name'],
              tectonic_region_type=node.attrib.get('tectonicRegion'),
              mfd=self.convert_mfdist(node),
              magnitude_scaling_relationship=msr,
              rupture_aspect_ratio=~node.ruptAspectRatio,
              upper_seismogenic_depth=~geom.upperSeismoDepth,
              lower_seismogenic_depth=~geom.lowerSeismoDepth,
              nodal_plane_distribution=self.convert_npdist(node),
              hypocenter_distribution=self.convert_hpdist(node),
              mesh=geo.Mesh(F32(lons), F32(lats)),
              temporal_occurrence_model=self.get_tom(node))