IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 25, 2014, 3:16:20 PM (12 years ago)
Author:
eugene
Message:

extend dbExtractAverages to handle lensobj and starpar values

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140904/Ohana/src/opihi/dvo/avmatch.c

    r37049 r37435  
    149149  }
    150150
    151   // check the requested fields : are all average/secfilt entries, or do we need measures?
    152   int needMeasures = FALSE;
    153   for (i = 0; !needMeasures && (i < Nfields); i++) {
    154     if (fields[i].photcode == NULL) continue; // assert this?
    155     if (fields[i].photcode[0].type == PHOT_REF) needMeasures = TRUE;
    156     if (fields[i].photcode[0].type == PHOT_DEP) needMeasures = TRUE;
    157   }
     151  // check the requested fields
     152  int needMeasure = dbFieldNeedMeasure (fields, Nfields);
     153  int needLensobj = dbFieldNeedLensobj (fields, Nfields);
     154  int needStarpar = dbFieldNeedStarpar (fields, Nfields);
    158155
    159156  /* create output storage vectors */
     
    194191    catalog.filename = HOST_ID ? hostfile : skylist[0].filename[i];
    195192    catalog.catflags = LOAD_AVES | LOAD_SECF;
    196     catalog.catflags |= needMeasures ? LOAD_MEAS : SKIP_MEAS;
     193    catalog.catflags |= needMeasure ? LOAD_MEAS    : SKIP_MEAS;
     194    catalog.catflags |= needLensobj ? LOAD_LENSOBJ : SKIP_LENSOBJ;
     195    catalog.catflags |= needStarpar ? LOAD_STARPAR : SKIP_STARPAR;
    197196    catalog.Nsecfilt = 0;
    198197
     
    219218      if (Ncat == -2) continue; // no matches to this point
    220219
    221       m = catalog.average[Ncat].measureOffset;
     220      Average *average = &catalog.average[Ncat];
     221
     222      m = average->measureOffset;
     223      Measure *measure = needMeasure ? &catalog.measure[m] : NULL;
     224
     225      m = average->lensobjOffset;
     226      Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL;
     227
     228      m = average->starparOffset;
     229      StarPar *starpar = needStarpar ? &catalog.starpar[m] : NULL;
     230
     231      m = j*Nsecfilt;
     232      SecFilt *secfilt = &catalog.secfilt[j*Nsecfilt];
    222233
    223234      // reset counters for saved fields, extract fields
    224235      dbExtractAveragesInitAve ();
    225236      for (n = 0; n < Nfields; n++) {
    226         values[n] = dbExtractAverages (&catalog.average[Ncat], &catalog.secfilt[Ncat*Nsecfilt], &catalog.measure[m], &fields[n]);
     237        values[n] = dbExtractAverages (average, secfilt, measure, lensobj, starpar, &fields[n]);
    227238      }
    228239
Note: See TracChangeset for help on using the changeset viewer.