IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2014, 3:04:25 PM (12 years ago)
Author:
eugene
Message:

update dbExtractAverages for new photcode-based element UI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140610/Ohana/src/libdvo/src/dbExtractAverages.c

    r37004 r37010  
    181181      break;
    182182
     183    case AVE_PHOT:
     184      // if we request mag:ave, use equiv for photcode (ie a given measure, say GPC1.g.XY01, will return g for mag:ave)
     185      if  (field->photcode->type == PHOT_MAG) {
     186        // this is an error
     187        break;
     188      }
     189
     190      // if we ask for 2MASS_K, etc (REF values), return NAN unless measure->code matches
     191      if (field->photcode->type == PHOT_REF) {
     192        // need to ensure measure exists.
     193        break;
     194      }
     195
     196      // if we ask for GPC1.g.XY03:rel, etc (DEP values), return NAN unless measure->code matches
     197      if (field->photcode->type == PHOT_DEP) {
     198        // again.
     199        break;
     200      }
     201
     202      switch (field->magOption) {
     203        case MAG_OPTION_MAG:
     204          switch (field->magLevel) {
     205            case MAG_LEVEL_AVE:
     206              value.Flt = PhotAve  (field->photcode, average, secfilt, field->magClass, field->magSource);
     207              break;
     208            case MAG_LEVEL_REF:
     209              // why is measure needed here?
     210              // PhotRef  (field->photcode, average, secfilt, measure, field->magClass, field->magSource);
     211              break;
     212            case MAG_LEVEL_INST:
     213            case MAG_LEVEL_CAT:
     214            case MAG_LEVEL_SYS:
     215            case MAG_LEVEL_REL:
     216            case MAG_LEVEL_CAL:
     217            case MAG_LEVEL_NONE:
     218              break;
     219          }
     220          break;
     221
     222        case MAG_OPTION_ERR:
     223          switch (field->magLevel) {
     224            case MAG_LEVEL_AVE:
     225            case MAG_LEVEL_REF:
     226              value.Flt = PhotAveErr (field->photcode, average, secfilt, field->magClass, field->magSource); 
     227              break;
     228            case MAG_LEVEL_INST:
     229            case MAG_LEVEL_CAT:
     230            case MAG_LEVEL_SYS:
     231            case MAG_LEVEL_REL:
     232            case MAG_LEVEL_CAL:
     233            case MAG_LEVEL_NONE:
     234              break;
     235          }
     236          break;
     237
     238        case MAG_OPTION_FLUX:
     239          switch (field->magLevel) {
     240            case MAG_LEVEL_AVE:
     241              value.Flt = PhotFluxAve  (field->photcode, average, secfilt, field->magClass, field->magSource);
     242              break;
     243            case MAG_LEVEL_REF:
     244              // value.Flt = PhotFluxRef  (equiv, average, secfilt, measure, field->magClass, field->magSource);
     245              break;
     246            case MAG_LEVEL_INST:
     247            case MAG_LEVEL_CAT:
     248            case MAG_LEVEL_SYS:
     249            case MAG_LEVEL_REL:
     250            case MAG_LEVEL_CAL:
     251            case MAG_LEVEL_NONE:
     252              break;
     253          }
     254          break;
     255
     256        case MAG_OPTION_FLUX_ERR:
     257          switch (field->magLevel) {
     258            case MAG_LEVEL_AVE:
     259            case MAG_LEVEL_REF:
     260              // value.Flt = PhotFluxAveErr (equiv, average, secfilt, field->magClass, field->magSource); 
     261              break;
     262            case MAG_LEVEL_INST:
     263            case MAG_LEVEL_CAT:
     264            case MAG_LEVEL_SYS:
     265            case MAG_LEVEL_REL:
     266            case MAG_LEVEL_CAL:
     267            case MAG_LEVEL_NONE:
     268              break;
     269          }
     270          break;
     271
     272        case MAG_OPTION_STDEV:
     273        case MAG_OPTION_CHISQ:
     274        case MAG_OPTION_MIN:
     275        case MAG_OPTION_MAX:
     276        case MAG_OPTION_NCODE: {
     277          int Nsec = GetPhotcodeNsec (field->photcode->code);
     278          if (Nsec == -1) break;
     279          value.Int = secfilt[Nsec].Ncode;
     280          break;
     281        }
     282        case MAG_OPTION_NPHOT: {
     283          int Nsec = GetPhotcodeNsec (field->photcode->code);
     284          if (Nsec == -1) break;
     285          value.Int = secfilt[Nsec].Nused;
     286          break;
     287        }
     288        case MAG_OPTION_UC_DIST:
     289        case MAG_OPTION_STACK_DET_ID:
     290          value.Int = PhotStackID (field->photcode, average, secfilt);
     291          break;
     292        case MAG_OPTION_FLAGS: {
     293          int Nsec = GetPhotcodeNsec (field->photcode->code);
     294          if (Nsec == -1) break;
     295          value.Int = secfilt[Nsec].flags;
     296          break;
     297        }
     298        case MAG_OPTION_NONE:
     299          break;
     300      }
     301      break;
     302
    183303# if (0)
    184     case AVE_MAG:
    185304      switch (field->magMode) {
    186305        case MAG_AVE:
Note: See TracChangeset for help on using the changeset viewer.