Changeset 344 for trunk/archive/pslib/include/psAstrom.h
- Timestamp:
- Mar 31, 2004, 5:01:04 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/archive/pslib/include/psAstrom.h (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/archive/pslib/include/psAstrom.h
r343 r344 40 40 typedef struct { 41 41 // Telescope longitude, latitude and height are stored separately, since they don't change with pointing 42 double ra, dec; // !< Telescope boresight43 double ha; // !< Hour angle44 double zd; // !< Zenith distance45 double az; // !< Azimuth46 double lst; // !< Local Sidereal Time47 float mjd; // !< MJD of observation48 float rotAngle; // !< Rotator position angle49 float temp; // !< Air temperature, for estimating refraction50 float pressure; // !< Air pressure, for calculating refraction51 float humidity; // !< Relative humidity, for calculating refraction52 float exptime; // !< Exposure time42 double ra, dec; ///< Telescope boresight 43 double ha; ///< Hour angle 44 double zd; ///< Zenith distance 45 double az; ///< Azimuth 46 double lst; ///< Local Sidereal Time 47 float mjd; ///< MJD of observation 48 float rotAngle; ///< Rotator position angle 49 float temp; ///< Air temperature, for estimating refraction 50 float pressure; ///< Air pressure, for calculating refraction 51 float humidity; ///< Relative humidity, for calculating refraction 52 float exptime; ///< Exposure time 53 53 /* Derived quantities */ 54 float posAngle; // !< Position angle55 float parallactic; // !< Parallactic angle56 float airmass; // !< Airmass, calculated from zenith distance57 float pf; // !< Parallactic factor54 float posAngle; ///< Position angle 55 float parallactic; ///< Parallactic angle 56 float airmass; ///< Airmass, calculated from zenith distance 57 float pf; ///< Parallactic factor 58 58 char *cameraName; ///< name of camera which provided exposure 59 59 char *telescopeName; ///< name of telescope which provided exposure 60 psGrommit *grommit; // !< Data needed to convert from the sky to the tangent plane60 psGrommit *grommit; ///< Data needed to convert from the sky to the tangent plane 61 61 } psExposure; 62 62 … … 64 64 /** The fixed pattern residual offsets. These are specified via a coarse grid of x and y offsets. */ 65 65 typedef struct { 66 int nX, nY; // !< Number of elements in x and y67 double x0, y0; // !< Position of the lower-left corner of the grid on the focal plane68 double xScale, yScale; // !< Scale of the grid69 double **x, **y; // !< The grid of offsets in x and y66 int nX, nY; ///< Number of elements in x and y 67 double x0, y0; ///< Position of the lower-left corner of the grid on the focal plane 68 double xScale, yScale; ///< Scale of the grid 69 double **x, **y; ///< The grid of offsets in x and y 70 70 } psFixedPattern; 71 71 … … 82 82 psDistortion *TPtoFP; ///< Transformation term from 83 83 psDistortion *FPtoTP; ///< Transformation term from 84 psFixedPattern *pattern; // !< Fixed pattern residual offsets84 psFixedPattern *pattern; ///< Fixed pattern residual offsets 85 85 psExposure *exp; ///< information about this exposure 86 86 psPhotSystem colorPlus, colorMinus; ///< Colour reference 87 float rmsX, rmsY; // !< Dispersion in astrometric solution88 float chi2; // !< chi^2 of astrometric solution87 float rmsX, rmsY; ///< Dispersion in astrometric solution 88 float chi2; ///< chi^2 of astrometric solution 89 89 } psFPA; 90 90 … … 98 98 psMetaDataSet *md; ///< Chip-level metadata 99 99 psCoordXform *chipToFPA; ///< Transformations from chip coordinates to FPA coordinates 100 psCoordXform *FPAtoChip; // !< Transformations from FPA coordinates to chip100 psCoordXform *FPAtoChip; ///< Transformations from FPA coordinates to chip 101 101 102 102 struct psFPA *parentFPA; ///< FPA which contains this chip … … 108 108 int nReadouts; ///< number of readouts in this cell realization; each may have its 109 109 ///< own image, objects and overscan. 110 psReadout *readouts; // !< Readouts from the cell110 psReadout *readouts; ///< Readouts from the cell 111 111 psMetaDataSet *md; ///< Cell-level metadata 112 112 … … 120 120 /** a Readout: a collection of pixels */ 121 121 typedef struct { 122 const int x0, y0; // !< Offset from the lower-left corner123 const int nx, ny; // !< Image binning122 const int x0, y0; ///< Offset from the lower-left corner 123 const int nx, ny; ///< Image binning 124 124 psImage *image; ///< imaging area of cell 125 125 psDlist *objects; ///< objects derived from cell 126 126 psImage *overscan; ///< bias region (subimage) of cell 127 psMetaDataSet *md; // !< Readout-level metadata127 psMetaDataSet *md; ///< Readout-level metadata 128 128 } psReadout; 129 129 … … 138 138 /** returns Chip in FPA which contains the given FPA coordinate */ 139 139 psChip * 140 psChipInFPA (psChip *out, // !< Chip to return, or NULL140 psChipInFPA (psChip *out, ///< Chip to return, or NULL 141 141 const psFPA *fpa, ///< FPA description 142 142 const psCoord *coord ///< coordinate in FPA … … 145 145 /** returns Cell in Chip which contains the given chip coordinate */ 146 146 psCell * 147 psCellInChip(psCell *out, // !< Cell to return, or NULL147 psCellInChip(psCell *out, ///< Cell to return, or NULL 148 148 const psChip *chip, ///< chip description 149 149 const psCoord *coord ///< coordinate in chip … … 152 152 /** Return the cell in FPA which contains the given FPA coordinates */ 153 153 psCell * 154 psCellInFPA(psCell *out, // !< Cell to return, or NULL155 const psFPA *fpa, // !< FPA description156 const psCoord *coord // !< Coordinate in FPA154 psCellInFPA(psCell *out, ///< Cell to return, or NULL 155 const psFPA *fpa, ///< FPA description 156 const psCoord *coord ///< Coordinate in FPA 157 157 ); 158 158 … … 160 160 /** Convert (RA,Dec) to cell and cell coordinates */ 161 161 psCoord * 162 psCoordSkyToCell(psCoord *out, // !< Coordinates to return, or NULL163 psCell *cell, // !< Cell to return164 const psFPA *fpa // !< FPA description162 psCoordSkyToCell(psCoord *out, ///< Coordinates to return, or NULL 163 psCell *cell, ///< Cell to return 164 const psFPA *fpa ///< FPA description 165 165 ); 166 166 167 167 /** Convert cell and cell coordinate to (RA,Dec) */ 168 168 psCoord * 169 psCoordCellToSky(psCoord *out, // !< Coordinates to return, or NULL170 const psCell *cell, // !< Cell to get coordinates for171 const psCoord *coord // !< cell coordinates to transform169 psCoordCellToSky(psCoord *out, ///< Coordinates to return, or NULL 170 const psCell *cell, ///< Cell to get coordinates for 171 const psCoord *coord ///< cell coordinates to transform 172 172 ); 173 173 174 174 /** Quick and dirty cell to (RA,Dec) --- employs cellToSky transformation */ 175 175 psCoord * 176 psCoordCellToSkyQuick(psCoord *out, // !< Coordinates to return, or NULL177 const psCell *cell, // !< Cell description178 const psCoord *coord // !< cell coordinates to transform176 psCoordCellToSkyQuick(psCoord *out, ///< Coordinates to return, or NULL 177 const psCell *cell, ///< Cell description 178 const psCoord *coord ///< cell coordinates to transform 179 179 ); 180 180 181 181 /** Convert (RA,Dec) to tangent plane coords */ 182 182 psCoord * 183 psCoordSkyToTP(psCoord *out, // !< Coordinates to return, or NULL184 const psExposure *exp, // !< Exposure description185 const psCoord *coord // !< input Sky coordinate183 psCoordSkyToTP(psCoord *out, ///< Coordinates to return, or NULL 184 const psExposure *exp, ///< Exposure description 185 const psCoord *coord ///< input Sky coordinate 186 186 ); 187 187 188 188 /** Convert tangent plane coords to focal plane coordinates */ 189 189 psCoord * 190 psCoordTPtoFPA(psCoord *out, // !< Coordinates to return, or NULL191 const psFPA *fpa, // !< FPA description192 const psCoord *coord // !< input TP coordinate190 psCoordTPtoFPA(psCoord *out, ///< Coordinates to return, or NULL 191 const psFPA *fpa, ///< FPA description 192 const psCoord *coord ///< input TP coordinate 193 193 ); 194 194 195 195 /** converts the specified FPA coord to the coord on the given Chip */ 196 196 psCoord * 197 psCoordFPAtoChip (psCoord *out, // !< Coordinates to return, or NULL197 psCoordFPAtoChip (psCoord *out, ///< Coordinates to return, or NULL 198 198 const psChip *chip, ///< Chip of interest 199 199 const psCoord *coord ///< input FPA coordinate … … 202 202 /** converts the specified Chip coord to the coord on the given Cell */ 203 203 psCoord * 204 psCoordChiptoCell (psCoord *out, // !< Coordinates to return, or NULL204 psCoordChiptoCell (psCoord *out, ///< Coordinates to return, or NULL 205 205 const psCell *cell, ///< Cell of interest 206 206 const psCoord *coord ///< input Chip coordinate … … 209 209 /** converts the specified Cell coord to the coord on the parent Chip */ 210 210 psCoord * 211 psCoordCelltoChip (psCoord *out, // !< Coordinates to return, or NULL211 psCoordCelltoChip (psCoord *out, ///< Coordinates to return, or NULL 212 212 const psCell *cell, ///< Cell description 213 213 const psCoord *coord ///< input Cell coordinate … … 216 216 /** converts the specified Chip coord to the coord on the parent FPA */ 217 217 psCoord * 218 psCoordChiptoFPA (psCoord *out, // !< Coordinates to return, or NULL218 psCoordChiptoFPA (psCoord *out, ///< Coordinates to return, or NULL 219 219 const psChip *chip, ///< Chip description 220 220 const psCoord *coord ///< input Chip coordinate … … 223 223 /** Convert focal plane coords to tangent plane coordinates */ 224 224 psCoord * 225 psCoordFPAToTP(psCoord *out, // !< Coordinates to return, or NULL226 const psFPA *fpa, // !< FPA description227 const psCoord *coord // !< input FPA coordinate225 psCoordFPAToTP(psCoord *out, ///< Coordinates to return, or NULL 226 const psFPA *fpa, ///< FPA description 227 const psCoord *coord ///< input FPA coordinate 228 228 ); 229 229 230 230 /** Convert tangent plane coords to (RA,Dec) */ 231 231 psCoord * 232 psCoordTPtoSky(psCoord *out, // !< Coordinates to return, or NULL233 const psExposure *exp, // !< Exposure description234 const psCoord *coord // !< input TP coordinate232 psCoordTPtoSky(psCoord *out, ///< Coordinates to return, or NULL 233 const psExposure *exp, ///< Exposure description 234 const psCoord *coord ///< input TP coordinate 235 235 ); 236 236 237 237 /** Convert Cell coords to FPA coordinates */ 238 238 psCoord * 239 psCoordCellToFPA(psCoord *out, // !< Coordinates to return, or NULL240 const psCell *cell, // !< Cell description241 const psCoord *coord // !< Input cell coordinates239 psCoordCellToFPA(psCoord *out, ///< Coordinates to return, or NULL 240 const psCell *cell, ///< Cell description 241 const psCoord *coord ///< Input cell coordinates 242 242 ); 243 243 244 244 /** Get the airmass for a given position and sidereal time */ 245 245 float 246 psGetAirmass(const psCoord *coord, // !< Position on the sky247 double siderealTime, // !< Sidereal time248 float height // !< Height above sea level246 psGetAirmass(const psCoord *coord, ///< Position on the sky 247 double siderealTime, ///< Sidereal time 248 float height ///< Height above sea level 249 249 ); 250 250 251 251 /** Get the parallactic angle for a given position and sidereal time */ 252 252 float 253 psGetParallactic(const psCoord *coord, // !< Position on the sky254 double siderealTime // !< Sidereal time253 psGetParallactic(const psCoord *coord, ///< Position on the sky 254 double siderealTime ///< Sidereal time 255 255 ); 256 256 257 257 /** Estimate atmospheric refraction, along the parallactic */ 258 258 float 259 psGetRefraction(float colour, // !< Colour of object259 psGetRefraction(float colour, ///< Colour of object 260 260 psPhotSystem colorPlus, ///< Colour reference 261 261 psPhotSystem colorMinus, ///< Colour reference 262 const psExposure *exp // !< Telescope pointing information, for airmass, temp and pressure262 const psExposure *exp ///< Telescope pointing information, for airmass, temp and pressure 263 263 ); 264 264 265 265 /** Calculate the parallax factor */ 266 266 psCoord * 267 psGetParallaxFactor(const psExposure *exp // !< Exposure details267 psGetParallaxFactor(const psExposure *exp ///< Exposure details 268 268 ); 269 269 … … 272 272 /** Constructor */ 273 273 psExposure * 274 psExposureAlloc(double ra, double dec, // !< Telescope boresight275 double ha, // !< Hour angle276 double zd, // !< Zenith distance277 double az, // !< Azimuth278 double lst, // !< Local Sidereal Time279 float mjd, // !< MJD280 float rotAngle, // !< Rotator position angle281 float temp, // !< Temperature282 float pressure, // !< Pressure283 float humidity, // !< Relative humidity284 float exptime // !< Exposure time274 psExposureAlloc(double ra, double dec, ///< Telescope boresight 275 double ha, ///< Hour angle 276 double zd, ///< Zenith distance 277 double az, ///< Azimuth 278 double lst, ///< Local Sidereal Time 279 float mjd, ///< MJD 280 float rotAngle, ///< Rotator position angle 281 float temp, ///< Temperature 282 float pressure, ///< Pressure 283 float humidity, ///< Relative humidity 284 float exptime ///< Exposure time 285 285 ); 286 286 287 287 /** Destructor */ 288 288 void 289 psExposureFree(psExposure *restrict myExp // !< Object to destroy289 psExposureFree(psExposure *restrict myExp ///< Object to destroy 290 290 ); 291 291 /* \} */ // End of AstroGroup Functions
Note:
See TracChangeset
for help on using the changeset viewer.
