- Timestamp:
- Feb 8, 2009, 12:38:05 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20090208/Ohana/src/opihi/dvo/photometry.c
r17200 r21419 2 2 3 3 /* match code to measure */ 4 # define TESTCODE(C,M) \5 if (C != NULL) { \6 switch (C[0].type) { \7 case PHOT_DEP:\8 case PHOT_REF:\9 if (C[0].code != M.photcode) continue;\10 break;\11 case PHOT_SEC:\12 if (C[0].code != GetPhotcodeEquivCodebyCode (M.photcode)) continue; \13 break;\14 default:\15 break;\16 } }4 # define TESTCODE(C,M) \ 5 if (C != NULL) { \ 6 switch (C[0].type) { \ 7 case PHOT_DEP: \ 8 case PHOT_REF: \ 9 if (C[0].code != M.photcode) continue; \ 10 break; \ 11 case PHOT_SEC: \ 12 if (C[0].code != GetPhotcodeEquivCodebyCode (M.photcode)) continue; \ 13 break; \ 14 default: \ 15 break; \ 16 } } 17 17 18 18 /* exclusions based on measure.params */ 19 # define TESTMEASURE(M) \ 20 if (ApplySelections[SelectionParam]) { \ 21 if (TimeSelect && (M.t < tzero)) continue; \ 22 if (TimeSelect && (M.t > tend)) continue; \ 23 if (ErrSelect && (M.dM > ErrValue)) continue; \ 19 # define TESTMEASURE(M) \ 20 if (ApplySelections[SelectionParam]) { \ 21 if (TimeSelect && (M.t < tzero)) continue; \ 22 if (TimeSelect && (M.t > tend)) continue; \ 23 if (ErrSelect && (M.dM > ErrValue)) continue; \ 24 if (iMagSelect && (PhotInst (&M) < iMagMin)) continue; \ 25 if (FlagSelect && (M.dbFlags != FlagValue)) continue; \ 24 26 if (TypeSelect && (TypeValue != GetMeasureTypeCode (&M))) continue; \ 25 if (iMagSelect && (PhotInst (&M) < iMagMin)) continue; \ 26 if (FlagSelect && (M.dbFlags != FlagValue)) continue; \ 27 } 28 29 # define SETMAG(MOUT,MEAS,MODE) \ 30 MOUT = NAN; \ 31 if (MODE == MAG_INST) MOUT = PhotInst (&MEAS); \ 32 if (MODE == MAG_CAT) MOUT = PhotCat (&MEAS); \ 33 if (MODE == MAG_SYS) MOUT = PhotSys (&MEAS, average, secfilt); \ 34 if (MODE == MAG_REL) MOUT = PhotRel (&MEAS, average, secfilt); \ 27 } 28 29 # define SETMAG(MOUT,MEAS,MODE) \ 30 MOUT = NAN; \ 31 if (MODE == MAG_INST) MOUT = PhotInst (&MEAS); \ 32 if (MODE == MAG_CAT) MOUT = PhotCat (&MEAS); \ 33 if (MODE == MAG_SYS) MOUT = PhotSys (&MEAS, average, secfilt); \ 34 if (MODE == MAG_REL) MOUT = PhotRel (&MEAS, average, secfilt); \ 35 35 if (MODE == MAG_CAL) MOUT = PhotCal (&MEAS, average, secfilt, measure, GetPhotcodeEquivbyCode (MEAS.photcode)); \ 36 36 if (MODE == MAG_AVE) MOUT = PhotAve (GetPhotcodeEquivbyCode (MEAS.photcode), average, secfilt); \ 37 37 if (MODE == MAG_REF) MOUT = PhotRef (GetPhotcodeEquivbyCode (MEAS.photcode), average, secfilt, measure); \ 38 if (ApplySelections[SelectionParam]) { \39 if (MagSelect && (MOUT > MagMax)) continue; \40 if (MagSelect && (MOUT < MagMin)) continue; \38 if (ApplySelections[SelectionParam]) { \ 39 if (MagSelect && (MOUT > MagMax)) continue; \ 40 if (MagSelect && (MOUT < MagMin)) continue; \ 41 41 } 42 42 … … 182 182 if (!strcasecmp (parname, "dec")) param = MEAS_DEC; 183 183 if (!strcasecmp (parname, "mag")) param = MEAS_MAG; 184 // if (!strcasecmp (parname, "dmag")) param = MEAS_dMAG;185 184 if (!strcasecmp (parname, "airmass")) param = MEAS_AIRMASS; 186 185 if (!strcasecmp (parname, "exptime")) param = MEAS_EXPTIME; … … 190 189 if (!strcasecmp (parname, "dD")) param = MEAS_DEC_OFFSET; 191 190 if (!strcasecmp (parname, "fwhm")) param = MEAS_FWHM; 192 // if (!strcasecmp (parname, "dophot")) param = MEAS_DOPHOT;193 191 if (!strcasecmp (parname, "FLAGS")) param = MEAS_DB_FLAGS; 194 192 if (!strcasecmp (parname, "XCCD")) param = MEAS_XCCD; … … 198 196 if (!strcasecmp (parname, "help")) { 199 197 gprint (GP_ERR, "value may be one of the following:\n"); 200 gprint (GP_ERR, " ra dR dec dD mag dmag Mrel Mcal photcode time fwhm dophotxccd yccd xmosaic ymosaic flags\n");198 gprint (GP_ERR, " ra dR dec dD mag dmag Mrel Mcal photcode time fwhm xccd yccd xmosaic ymosaic flags\n"); 201 199 gprint (GP_ERR, "value may also be a valid photcode\n"); 202 200 gprint (GP_ERR, "photcodes or 'mag' may have optional magnitude type: mag,[Minst, Mcat, Msys, Mrel, Mcal]\n"); … … 311 309 312 310 if (VarConfig ("ZERO_PT", "%lf", &ZERO_POINT) == (char *) NULL) { 313 gprint (GP_ERR, "ZERO_PT undefined in config\n");314 return (FALSE);311 gprint (GP_ERR, "ZERO_PT undefined in config\n"); 312 return (FALSE); 315 313 } 316 314 SetZeroPoint (ZERO_POINT); … … 324 322 325 323 if (VarConfig ("PHOTCODE_FILE", "%s", MasterPhotcodeFile) == (char *) NULL) { 326 gprint (GP_ERR, "PHOTCODE_FILE undefined in config\n");327 return (FALSE);324 gprint (GP_ERR, "PHOTCODE_FILE undefined in config\n"); 325 return (FALSE); 328 326 } 329 327 if (!LoadPhotcodes (CatdirPhotcodeFile, MasterPhotcodeFile)) { … … 642 640 break; 643 641 case AVE_FLAG: 644 value = average[0]. code;642 value = average[0].flags; 645 643 break; 646 644 case AVE_MAG: … … 659 657 value = NAN; 660 658 for (i = 0; i < average[0].Nmeasure; i++) { 661 if (code[0].code != measure[i].photcode) continue;662 value = measure[i].M;659 if (code[0].code != measure[i].photcode) continue; 660 value = measure[i].M; 663 661 } 664 662 break; … … 675 673 break; 676 674 case AVE_TYPEFRAC: 677 value = DetermineTypefrac (average, measure, code); 675 // value = DetermineTypefrac (average, measure, code); 676 value = NAN; 678 677 break; 679 678 case AVE_NCODE: … … 719 718 if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[k].photcode))) continue; 720 719 Nc ++; 721 if ( measure[k].dophot!= TypefracType) continue;720 if ((measure[k].photFlags >> 16) != TypefracType) continue; 722 721 Nt ++; 723 722 } … … 744 743 745 744 int GetMeasureTypeCode (Measure *measure) { 746 switch ( measure[0].dophot) {745 switch ((measure[0].photFlags >> 16)) { 747 746 case 0: 748 747 case 1: … … 770 769 if (IsDophot) { 771 770 772 if ( measure[0].dophot== 4) return (FALSE);771 if ((measure[0].photFlags >> 16) == 4) return (FALSE); 773 772 return (TRUE); 774 773 … … 866 865 if (ErrSelect) { 867 866 dM = PhotdM (code, average, secfilt); 868 if (dM > ErrValue) return ( NAN);867 if (dM > ErrValue) return (FALSE); 869 868 } 870 869 … … 1137 1136 value = average[0].D - measure[0].dD / 3600.0; 1138 1137 break; 1139 # if (0)1140 case MEAS_dMAG: /* OK */1141 value = measure[0].dM;1142 break;1143 1138 case MEAS_DOPHOT: /* OK */ 1144 value = measure[0].dophot; 1145 break; 1146 # endif 1139 value = (measure[0].photFlags >> 16); 1140 break; 1147 1141 case MEAS_AIRMASS: /* OK */ 1148 1142 value = measure[0].airmass;
Note:
See TracChangeset
for help on using the changeset viewer.
