Changeset 20936 for trunk/Ohana/src/opihi/dvo/dbExtractAverages.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/dvo/dbExtractAverages.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/dvo/dbExtractAverages.c
r17201 r20936 40 40 41 41 /* return average.field based on the selection */ 42 d ouble dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) {42 dbValue dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) { 43 43 44 44 int i, Nsec; 45 d ouble value;45 dbValue value; 46 46 47 value = NAN; 47 value.Flt = NAN; 48 value.Int = 0; 48 49 49 50 /* assign vector values */ 50 51 switch (field->ID) { 51 52 case AVE_RA: 52 value = average[0].R;53 value.Flt = average[0].R; 53 54 break; 54 55 case AVE_DEC: 55 value = average[0].D;56 value.Flt = average[0].D; 56 57 break; 57 58 case AVE_GLON: … … 60 61 haveGalactic = TRUE; 61 62 } 62 value = GLON;63 value.Flt = GLON; 63 64 break; 64 65 case AVE_GLAT: … … 67 68 haveGalactic = TRUE; 68 69 } 69 value = GLAT;70 value.Flt = GLAT; 70 71 break; 71 72 case AVE_ELON: … … 74 75 haveEcliptic = TRUE; 75 76 } 76 value = ELON;77 value.Flt = ELON; 77 78 break; 78 79 case AVE_ELAT: … … 81 82 haveEcliptic = TRUE; 82 83 } 83 value = ELAT;84 value.Flt = ELAT; 84 85 break; 85 86 case AVE_RA_ERR: 86 value = average[0].dR;87 value.Flt = average[0].dR; 87 88 break; 88 89 case AVE_DEC_ERR: 89 value = average[0].dD;90 value.Flt = average[0].dD; 90 91 break; 91 92 92 93 case AVE_U_RA: 93 value = average[0].uR;94 value.Flt = average[0].uR; 94 95 break; 95 96 case AVE_U_DEC: 96 value = average[0].uD;97 value.Flt = average[0].uD; 97 98 break; 98 99 case AVE_U_RA_ERR: 99 value = average[0].duR;100 value.Flt = average[0].duR; 100 101 break; 101 102 case AVE_U_DEC_ERR: 102 value = average[0].duD;103 value.Flt = average[0].duD; 103 104 break; 104 105 105 106 case AVE_PAR: 106 value = average[0].P;107 value.Flt = average[0].P; 107 108 break; 108 109 case AVE_PAR_ERR: 109 value = average[0].dP;110 value.Flt = average[0].dP; 110 111 break; 111 112 112 113 case AVE_NMEAS: 113 value = average[0].Nmeasure;114 value.Int = average[0].Nmeasure; 114 115 break; 115 116 case AVE_NMISS: 116 value = average[0].Nmissing;117 value.Int = average[0].Nmissing; 117 118 break; 118 119 case AVE_Xp: 119 value = 0.01*average[0].Xp;120 value.Flt = 0.01*average[0].Xp; 120 121 break; 121 122 case AVE_FLAG: 122 value = average[0].code; 123 value.Int = average[0].code; 124 break; 125 case AVE_OBJID: 126 value.Int = average[0].objID; 127 break; 128 case AVE_CATID: 129 value.Int = average[0].catID; 123 130 break; 124 131 … … 126 133 switch (field->magMode) { 127 134 case MAG_AVE: 128 value = PhotAve (field->photcode, average, secfilt);135 value.Flt = PhotAve (field->photcode, average, secfilt); 129 136 break; 130 137 case MAG_REF: 131 value = PhotRef (field->photcode, average, secfilt, measure);138 value.Flt = PhotRef (field->photcode, average, secfilt, measure); 132 139 break; 133 140 case MAG_INST: … … 137 144 case MAG_CAL: 138 145 // XXX need to code this correctly: this returns just the first matching value 139 value = NAN;146 value.Flt = NAN; 140 147 for (i = 0; i < average[0].Nmeasure; i++) { 141 148 if (field->photcode->code != measure[i].photcode) continue; 142 value = measure[i].M;149 value.Flt = measure[i].M; 143 150 break; 144 151 } … … 146 153 case MAG_CHISQ: 147 154 // GetPhotcodeEquivCodebyCode (field->photcode) 148 value = PhotXm (field->photcode, average, secfilt);155 value.Flt = PhotXm (field->photcode, average, secfilt); 149 156 break; 150 157 case MAG_ERR: 151 158 // GetPhotcodeEquivCodebyCode (field->photcode) 152 if ( field->photcode->type == PHOT_REF) {159 if ((field->photcode->type == PHOT_REF) || (field->photcode->type == PHOT_DEP)) { 153 160 for (i = 0; i < average[0].Nmeasure; i++) { 154 161 if (field->photcode->code != measure[i].photcode) continue; 155 value = measure[i].dM;162 value.Flt = measure[i].dM; 156 163 break; 157 164 } 158 165 } else { 159 value = PhotdM (field->photcode, average, secfilt);166 value.Flt = PhotdM (field->photcode, average, secfilt); 160 167 } 161 168 break; … … 165 172 Nsec = GetPhotcodeNsec (field->photcode->code); 166 173 if (Nsec == -1) break; 167 value = secfilt[Nsec].Ncode;174 value.Int = secfilt[Nsec].Ncode; 168 175 break; 169 176 case MAG_NPHOT: 170 177 Nsec = GetPhotcodeNsec (field->photcode->code); 171 178 if (Nsec == -1) break; 172 value = secfilt[Nsec].Nused;179 value.Int = secfilt[Nsec].Nused; 173 180 break; 174 181 … … 176 183 break; 177 184 case AVE_dMAG: 178 value = PhotdM (field->photcode, average, secfilt);185 value.Flt = PhotdM (field->photcode, average, secfilt); 179 186 break; 180 187 case AVE_Xm: 181 value = PhotXm (field->photcode, average, secfilt);188 value.Flt = PhotXm (field->photcode, average, secfilt); 182 189 break; 183 190 case AVE_TYPE: … … 185 192 case AVE_TYPEFRAC: 186 193 break; 187 /*188 case AVE_NCODE:189 value = 0;190 for (i = 0; i < average[0].Nm; i++) {191 if (field->photcode->code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;192 value ++;193 }194 break;195 case AVE_NPHOT:196 value = 0;197 for (i = 0; i < average[0].Nm; i++) {198 if (field->photcode->code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;199 if (measure[i].flags & (ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM)) continue;200 value ++;201 }202 break;203 case AVE_NCRIT:204 break;205 */206 194 } 207 195 return (value);
Note:
See TracChangeset
for help on using the changeset viewer.
