Changeset 12332 for trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
- Timestamp:
- Mar 8, 2007, 12:21:18 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r6683 r12332 10 10 11 11 for (i = 0; i < Nvalues; i++) { 12 out[i].dR_PS = in[i].dR * 0.01; 13 out[i].dD_PS = in[i].dD * 0.01; 14 out[i].M_PS = in[i].M * 0.001; 15 out[i].dM_PS = in[i].dM * 0.001; 16 out[i].dt_PS = in[i].dt * 0.001; 17 out[i].Mcal_PS = in[i].Mcal * 0.001; 18 out[i].Mgal_PS = in[i].Mgal * 0.001; 19 out[i].airmass_PS = in[i].airmass * 0.001; 12 out[i].dR = in[i].dR * 0.01; 13 out[i].dD = in[i].dD * 0.01; 14 out[i].M = in[i].M * 0.001; 15 out[i].dM = in[i].dM * 0.001; 16 out[i].dt = in[i].dt * 0.001; 17 out[i].Mcal = in[i].Mcal * 0.001; 18 out[i].Mgal = in[i].Mgal * 0.001; 19 out[i].airmass = in[i].airmass * 0.001; 20 out[i].FWx = in[i].FWx; 21 out[i].FWy = in[i].fwy * in[i].FWx * 0.01; 22 out[i].theta = in[i].theta*(0x10000 / 0x100); 23 out[i].dophot = in[i].dophot; 24 out[i].photcode = in[i].source; 25 out[i].t = in[i].t; 26 out[i].averef = in[i].averef; 27 out[i].flags = in[i].flags; 28 29 /* these can be determined if needed / desired */ 30 out[i].Xccd = 0; 31 out[i].Yccd = 0; 32 out[i].dXccd = 0; 33 out[i].dYccd = 0; 34 35 /* these do not have a corresponding value */ 36 out[i].stargal = 0; 37 out[i].Sky = 0; 38 out[i].dSky = 0; 39 out[i].qPSF = 0; 40 41 /* XXX add these later */ 42 out[i].detID_hi = 0; 43 out[i].detID_lo = 0; 44 out[i].imageID_hi = 0; 45 out[i].imageID_lo = 0; 46 } 47 return (out); 48 } 49 50 /* convert internal measures to elixir-format measures */ 51 MeasureElixir *MeasureInternalToElixir (Measure *in, int Nvalues) { 52 53 int i; 54 MeasureElixir *out; 55 56 ALLOCATE (out, MeasureElixir, Nvalues); 57 58 for (i = 0; i < Nvalues; i++) { 59 out[i].dR = in[i].dR * 100.0; 60 out[i].dD = in[i].dD * 100.0; 61 out[i].M = in[i].M * 1000.0; 62 out[i].dM = in[i].dM * 1000.0; 63 out[i].dt = in[i].dt * 1000.0; 64 out[i].Mcal = in[i].Mcal * 1000.0; 65 out[i].Mgal = in[i].Mgal * 1000.0; 66 out[i].airmass = in[i].airmass * 1000.0; 20 67 out[i].FWx = in[i].FWx; 21 out[i]. FWy = in[i].fwy * in[i].FWx * 0.01;22 out[i].theta = in[i].theta ;68 out[i].fwy = in[i].FWy * 100.0 / in[i].FWx; 69 out[i].theta = in[i].theta*(0x100/ 0x10000); 23 70 out[i].dophot = in[i].dophot; 24 out[i].source = in[i]. source;71 out[i].source = in[i].photcode; 25 72 out[i].t = in[i].t; 26 73 out[i].averef = in[i].averef; … … 30 77 } 31 78 32 /* convert internal measures to elixir-format measures */33 MeasureElixir *MeasureInternalToElixir (Measure *in, int Nvalues) {34 35 int i;36 MeasureElixir *out;37 38 ALLOCATE (out, MeasureElixir, Nvalues);39 40 for (i = 0; i < Nvalues; i++) {41 out[i].dR = in[i].dR_PS * 100.0;42 out[i].dD = in[i].dD_PS * 100.0;43 out[i].M = in[i].M_PS * 1000.0;44 out[i].dM = in[i].dM_PS * 1000.0;45 out[i].dt = in[i].dt_PS * 1000.0;46 out[i].Mcal = in[i].Mcal_PS * 1000.0;47 out[i].Mgal = in[i].Mgal_PS * 1000.0;48 out[i].airmass = in[i].airmass_PS * 1000.0;49 out[i].FWx = in[i].FWx;50 out[i].fwy = 100.0 * in[i].FWy / in[i].FWx;51 out[i].theta = in[i].theta;52 out[i].dophot = in[i].dophot;53 out[i].source = in[i].source;54 out[i].t = in[i].t;55 out[i].averef = in[i].averef;56 out[i].flags = in[i].flags;57 }58 return (out);59 }60 61 79 /* convert elixir-format averages to internal averages */ 62 Average *AverageElixirToInternal (AverageElixir *in, int Nvalues ) {80 Average *AverageElixirToInternal (AverageElixir *in, int Nvalues, SecFilt **primary) { 63 81 64 82 int i; … … 66 84 67 85 ALLOCATE (out, Average, Nvalues); 86 ALLOCATE (*primary, SecFilt, Nvalues); 68 87 69 88 for (i = 0; i < Nvalues; i++) { 70 89 out[i].R = in[i].R; 71 90 out[i].D = in[i].D; 72 out[i].M = in[i].M * 0.001;73 out[i].dM = in[i].dM * 0.001;74 91 out[i].Xp = in[i].Xp; 75 out[i].Xm = in[i].Xm;76 92 out[i].Nm = in[i].Nm; 77 93 out[i].Nn = in[i].Nn; … … 79 95 out[i].offset = in[i].offset; 80 96 out[i].missing = in[i].missing; 81 out[i].Xg = in[i].Xg;82 97 83 98 /* these don't exist in Elixir */ … … 90 105 out[i].P = 0; 91 106 out[i].dP = 0; 107 108 /* XXX add these later */ 109 out[i].objID_hi = 0; 110 out[i].objID_lo = 0; 111 112 primary[0][i].M = in[i].M * 0.001; 113 primary[0][i].dM = in[i].dM * 0.001; 114 primary[0][i].Xm = in[i].Xm; 115 primary[0][i].Ncode = 0; 116 primary[0][i].Nused = 0; 117 118 // XXX drop this or keep this? 119 // primary[0][i].Xg = in[i].Xg; 92 120 } 93 121 return (out); … … 95 123 96 124 /* convert internal averages to elixir-format averages */ 97 AverageElixir *AverageInternalToElixir (Average *in, int Nvalues ) {125 AverageElixir *AverageInternalToElixir (Average *in, int Nvalues, SecFilt *primary) { 98 126 99 127 int i; … … 105 133 out[i].R = in[i].R; 106 134 out[i].D = in[i].D; 107 out[i].M = in[i].M * 1000.0;108 out[i].dM = in[i].dM * 1000.0;109 135 out[i].Xp = in[i].Xp; 110 out[i].Xm = in[i].Xm;111 136 out[i].Nm = in[i].Nm; 112 137 out[i].Nn = in[i].Nn; … … 114 139 out[i].offset = in[i].offset; 115 140 out[i].missing = in[i].missing; 116 out[i].Xg = in[i].Xg; 141 142 out[i].M = primary[i].M * 1000.0; 143 out[i].dM = primary[i].dM * 1000.0; 144 out[i].Xm = primary[i].Xm; 145 // out[i].Xg = in[i].Xg; 117 146 } 118 147 return (out); … … 128 157 129 158 for (i = 0; i < Nvalues; i++) { 130 out[i].M_PS = in[i].M * 0.001; 131 out[i].dM_PS = in[i].dM * 0.001; 132 out[i].Xm = in[i].Xm; 159 out[i].M = in[i].M * 0.001; 160 out[i].dM = in[i].dM * 0.001; 161 out[i].Xm = in[i].Xm; 162 out[i].Ncode = 0; 163 out[i].Nused = 0; 133 164 } 134 165 return (out); … … 144 175 145 176 for (i = 0; i < Nvalues; i++) { 146 out[i].M = in[i].M _PS* 1000.0;147 out[i].dM = in[i].dM _PS* 1000.0;177 out[i].M = in[i].M * 1000.0; 178 out[i].dM = in[i].dM * 1000.0; 148 179 out[i].Xm = in[i].Xm; 149 180 } … … 166 197 out[i].tzero = in[i].tzero; 167 198 out[i].nstar = in[i].nstar; 168 out[i].secz _PS= in[i].secz * 0.001;199 out[i].secz = in[i].secz * 0.001; 169 200 out[i].NX = in[i].NX; 170 201 out[i].NY = in[i].NY; 171 out[i].apmifit _PS= in[i].apmifit * 0.001;172 out[i].dapmifit _PS= in[i].dapmifit * 0.001;173 out[i].Mcal _PS= in[i].Mcal * 0.001;174 out[i].dMcal _PS= in[i].dMcal * 0.001;202 out[i].apmifit = in[i].apmifit * 0.001; 203 out[i].dapmifit = in[i].dapmifit * 0.001; 204 out[i].Mcal = in[i].Mcal * 0.001; 205 out[i].dMcal = in[i].dMcal * 0.001; 175 206 out[i].Xm = in[i].Xm; 176 out[i]. source = in[i].source;207 out[i].photcode = in[i].source; 177 208 out[i].exptime = in[i].exptime; 178 209 out[i].detection_limit = in[i].detection_limit; … … 199 230 out[i].Mxyyy = in[i].Mxyyy; 200 231 out[i].Myyyy = in[i].Myyyy; 232 233 /* XXX add these later */ 234 out[i].imageID_hi = 0; 235 out[i].imageID_lo = 0; 201 236 } 202 237 return (out); … … 218 253 out[i].tzero = in[i].tzero; 219 254 out[i].nstar = in[i].nstar; 220 out[i].secz = in[i].secz _PS* 1000.0;255 out[i].secz = in[i].secz * 1000.0; 221 256 out[i].NX = in[i].NX; 222 257 out[i].NY = in[i].NY; 223 out[i].apmifit = in[i].apmifit _PS* 1000.0;224 out[i].dapmifit = in[i].dapmifit _PS* 1000.0;225 out[i].Mcal = in[i].Mcal _PS* 1000.0;226 out[i].dMcal = in[i].dMcal _PS* 1000.0;258 out[i].apmifit = in[i].apmifit * 1000.0; 259 out[i].dapmifit = in[i].dapmifit * 1000.0; 260 out[i].Mcal = in[i].Mcal * 1000.0; 261 out[i].dMcal = in[i].dMcal * 1000.0; 227 262 out[i].Xm = in[i].Xm; 228 out[i].source = in[i]. source;263 out[i].source = in[i].photcode; 229 264 out[i].exptime = in[i].exptime; 230 265 out[i].detection_limit = in[i].detection_limit;
Note:
See TracChangeset
for help on using the changeset viewer.
