IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17254


Ignore:
Timestamp:
Mar 31, 2008, 2:19:39 PM (18 years ago)
Author:
eugene
Message:

cleanup equiv photcode calls

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c

    r17199 r17254  
    7878  Image *image;
    7979  Coords *mosaic;
     80  PhotCode *equiv;
    8081
    8182  value = NAN;
     
    8384  switch (field->ID) {
    8485    case MEAS_MAG: /* magnitudes are already determined above */
     86      equiv = GetPhotcodeEquivbyCode (measure[0].photcode);
     87
    8588      // we return the magnitude for this measure if:
    8689      if (field->photcode->type == PHOT_MAG) goto valid_photcode;
    8790      if ((field->photcode->type == PHOT_REF) && (measure[0].photcode == field->photcode->code)) goto valid_photcode;
    8891      if ((field->photcode->type == PHOT_DEP) && (measure[0].photcode == field->photcode->code)) goto valid_photcode;
    89       if ((field->photcode->type == PHOT_SEC) && (GetPhotcodeEquivCodebyCode (measure[0].photcode) == field->photcode->code)) goto valid_photcode;
     92
     93      if ((equiv != NULL) && (field->photcode->type == PHOT_SEC) && (equiv[0].code == field->photcode->code)) goto valid_photcode;
    9094      break;
    9195
     
    105109          break;
    106110        case MAG_CAL:
    107           value = PhotCal  (measure, average, secfilt, measure, GetPhotcodeEquivbyCode (measure[0].photcode));
     111          value = PhotCal  (measure, average, secfilt, measure, equiv);
    108112          break;
    109113        case MAG_AVE:
    110           value = PhotAve  (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt);
     114          value = PhotAve  (equiv, average, secfilt);
    111115          break;
    112116        case MAG_REF:
    113           value = PhotRef  (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt, measure);
     117          value = PhotRef  (equiv, average, secfilt, measure);
    114118          break;
    115119        case MAG_ERR:
    116120          if (field->photcode->type == PHOT_SEC) {
    117             value = PhotdM  (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt);
     121            value = PhotdM  (equiv, average, secfilt);
    118122          } else {
    119123            value = measure[0].dM;
     
    121125          break;
    122126        case MAG_CHISQ:
    123           value = PhotXm  (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt);
     127          value = PhotXm  (equiv, average, secfilt);
    124128          break;
    125129        case MAG_NCODE:
    126           Nsec = GetPhotcodeNsec (GetPhotcodeEquivCodebyCode (measure[0].photcode));
     130          if (equiv == NULL) {
     131            value = NAN;
     132            break;
     133          }
     134          Nsec = GetPhotcodeNsec (equiv);
    127135          if (Nsec == -1) break;
    128136          value = secfilt[Nsec].Ncode;
    129137          break;
    130138        case MAG_NPHOT:
    131           Nsec = GetPhotcodeNsec (GetPhotcodeEquivCodebyCode (measure[0].photcode));
     139          if (equiv == NULL) {
     140            value = NAN;
     141            break;
     142          }
     143          Nsec = GetPhotcodeNsec (equiv);
    132144          if (Nsec == -1) break;
    133145          value = secfilt[Nsec].Nused;
Note: See TracChangeset for help on using the changeset viewer.