def _list_crossmatch(
            self,
            dbRows):
        """*to a finer grain crossmatch of the input coordinates and the database results.*

        **Key Arguments:**
            - ``dbRows`` -- the rows return from the database on first crossmatch pass.

        **Return:**
            - ``matchIndices1`` -- indices of the coordinate in the original ra and dec lists
            - ``matches`` -- the matched database rows
        """
        self.log.debug('starting the ``_list_crossmatch`` method')

        dbRas = []
        dbRas[:] = [d[self.raCol] for d in dbRows]
        dbDecs = []
        dbDecs[:] = [d[self.decCol] for d in dbRows]

        # 12 SEEMS TO BE GIVING OPTIMAL SPEED FOR MATCHES (VERY ROUGH SPEED
        # TESTS)
        mesh = HTM(
            depth=12,
            log=self.log
        )

        if self.closest:
            maxmatch = 1
        else:
            maxmatch = 0
        matchIndices1, matchIndices2, seps = mesh.match(
            ra1=self.ra,
            dec1=self.dec,
            ra2=np.array(dbRas),
            dec2=np.array(dbDecs),
            radius=float(self.radius / (60. * 60.)),
            maxmatch=maxmatch  # 1 = match closest 1, 0 = match all
        )

        matches = []

        for m1, m2, s in zip(matchIndices1, matchIndices2, seps):
            if self.separations:
                dbRows[m2]["cmSepArcsec"] = s * (60. * 60.)
            matches.append(dbRows[m2])

        self.log.debug('completed the ``_list_crossmatch`` method')
        return matchIndices1, matches
def _list_crossmatch ( self , dbRows ) : self . log . debug ( 'starting the ``_list_crossmatch`` method' ) dbRas = [ ] dbRas [ : ] = [ d [ self . raCol ] for d in dbRows ] dbDecs = [ ] dbDecs [ : ] = [ d [ self . decCol ] for d in dbRows ] mesh = HTM ( depth = 12 , log = self . log ) if self . closest : maxmatch = 1 else : maxmatch = 0 matchIndices1 , matchIndices2 , seps = mesh . match ( ra1 = self . ra , dec1 = self . dec , ra2 = np . array ( dbRas ) , dec2 = np . array ( dbDecs ) , radius = float ( self . radius / ( 60. * 60. ) ) , maxmatch = maxmatch ) matches = [ ] for m1 , m2 , s in zip ( matchIndices1 , matchIndices2 , seps ) : if self . separations : dbRows [ m2 ] [ "cmSepArcsec" ] = s * ( 60. * 60. ) matches . append ( dbRows [ m2 ] ) self . log . debug ( 'completed the ``_list_crossmatch`` method' ) return matchIndices1 , matches
*to a finer grain crossmatch of the input coordinates and the database results.*

        **Key Arguments:**
            - ``dbRows`` -- the rows return from the database on first crossmatch pass.

        **Return:**
            - ``matchIndices1`` -- indices of the coordinate in the original ra and dec lists
            - ``matches`` -- the matched database rows