IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 2, 2010, 5:19:09 PM (16 years ago)
Author:
eugene
Message:

hardwire a test search

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/relastro/src/high_speed_objects.c

    r28184 r28201  
    99
    1010  off_t i, j, m, J, Ni, ni, nj, Nj, *N1, Nslow, NgroupA, NgroupB;
    11   int *slowMoving, *groupA, *groupB, status, foundA, foundB, Nmatch;
     11  int *slowMoving, *groupA, *groupB, status, foundA, foundB, Nmatch, valid;
    1212  double *X1, *Y1;
    1313  double dX, dY, dR, RADIUS2;
    1414  Coords tcoords;
     15
     16  int ycode, yNsec, zcode, zNsec, jcode, jNsec, USNO_R, USNO_N, Nsecfilt;
     17
     18  Nsecfilt = GetPhotcodeNsecfilt();
     19
     20  ycode = GetPhotcodeCodebyName("y");
     21  yNsec = GetPhotcodeNsec(ycode);
     22 
     23  zcode = GetPhotcodeCodebyName("y");
     24  zNsec = GetPhotcodeNsec(zcode);
     25 
     26  jcode = GetPhotcodeCodebyName("J");
     27  jNsec = GetPhotcodeNsec(jcode);
     28 
     29  USNO_R = GetPhotcodeCodebyName("USNO_RED");
     30  USNO_N = GetPhotcodeCodebyName("USNO_N");
    1531
    1632  // high-speed between different surveys (easier case):
     
    6985    // * group A : require
    7086
     87    // 2MASS detections:
    7188    if (foundA && !foundB) {
    72       groupA[i] = TRUE;
    73       NgroupA ++;
    74       continue;
    75     }
    76 
    77     if (!foundA && foundB) {
    78       groupB[i] = TRUE;
    79       NgroupB ++;
    80       continue;
     89      // average-based tests:
     90      valid = TRUE;
     91      valid &= !(catalog[0].average[i].flags & 0x40000);
     92      valid &= (catalog[0].average[i].flags & 0x80000);
     93      valid &= (catalog[0].secfilt[i*Nsecfilt + yNsec].M < 1.0);
     94      valid &= (catalog[0].secfilt[i*Nsecfilt + zNsec].M < 1.0);
     95      // XXX ignoring the color restriction for now
     96     
     97      // measure-based tests:
     98      m = catalog[0].average[i].measureOffset;
     99      for (j = 0; valid && (j < catalog[0].average[i].Nmeasure); j++, m++) {
     100        if (catalog[0].measure[m].photcode == USNO_R) {
     101          valid &= ((catalog[0].measure[m].M > 20.0) || (catalog[0].measure[m].M < 1.0));
     102        }
     103        if (catalog[0].measure[m].photcode == USNO_N) {
     104          valid &= ((catalog[0].measure[m].M > 18.5) || (catalog[0].measure[m].M < 1.0));
     105        }
     106      }
     107
     108      // ((objflags & 524288) == 524288) &&
     109      // ((objflags & 262144) == 0) &&
     110      // (z<1.0) &&
     111      // (y<1.0) &&
     112      // ((yp[$i]-J)>1.25) && ((yp[$i]-J)<5.0) &&
     113      // ((USNO_RED<1.0)||(USNO_RED>20.0)) &&
     114      // ((USNO_N>18.0)||(USNO_N<1.0))
     115
     116      if (valid) {
     117        groupA[i] = TRUE;
     118        NgroupA ++;
     119        continue;
     120      }
     121    }
     122
     123    // PS1 detections:
     124    if (foundB && !foundA) {
     125
     126      // average-based tests:
     127      valid = TRUE;
     128      valid &= !(catalog[0].average[i].flags & 0x10000);
     129      valid &= (catalog[0].average[i].flags & 0x20000);
     130      valid &= (catalog[0].secfilt[i*Nsecfilt + jNsec].M < 1.0);
     131      valid &= (catalog[0].secfilt[i*Nsecfilt + yNsec].Nused > 1);
     132      valid &= (catalog[0].secfilt[i*Nsecfilt + yNsec].dM < 0.2);
     133      // XXX ignoring the z-band restriction for now
     134     
     135      // measure-based tests:
     136      m = catalog[0].average[i].measureOffset;
     137      for (j = 0; valid && (j < catalog[0].average[i].Nmeasure); j++, m++) {
     138        if (catalog[0].measure[m].photcode == USNO_R) {
     139          valid &= ((catalog[0].measure[m].M > 20.0) || (catalog[0].measure[m].M < 1.0));
     140        }
     141        if (catalog[0].measure[m].photcode == USNO_N) {
     142          valid &= ((catalog[0].measure[m].M > 18.5) || (catalog[0].measure[m].M < 1.0));
     143        }
     144      }
     145
     146      // (abs(glat)>15.0) &&
     147      // ((objflags & 65536) == 0) &&
     148      // ((objflags & 131072) == 131072) &&
     149      // (J<1.0) &&
     150      // (y:nphot>1) &&
     151      // (y:err<0.2) &&
     152      // ((USNO_RED>20.0)||(USNO_RED<1.0)) &&
     153      // ((USNO_N>18.5)||(USNO_N<1.0)) &&
     154      // ((z<1.0)||(z:nphot == 1)||((z:nphot>1)&&((z-y)>0.2)))
     155
     156      if (valid) {
     157        groupB[i] = TRUE;
     158        NgroupB ++;
     159        continue;
     160      }
    81161    }
    82162
     
    156236      Nj = N1[J];
    157237
    158       if (0) fprintf (stderr, "match %d = %lld %lld : %f %f : %f %f : %f\n",
     238      if (1) fprintf (stderr, "match %d = %lld %lld : %f %f : %f %f : %f\n",
    159239               Nmatch, (long long) i, (long long) J,
    160240               catalog[0].average[Ni].R, catalog[0].average[Ni].D,
Note: See TracChangeset for help on using the changeset viewer.