1 package nom.tam.fits.header; 2 3 /* 4 * #%L 5 * nom.tam FITS library 6 * %% 7 * Copyright (C) 1996 - 2024 nom-tam-fits 8 * %% 9 * This is free and unencumbered software released into the public domain. 10 * 11 * Anyone is free to copy, modify, publish, use, compile, sell, or 12 * distribute this software, either in source code form or as a compiled 13 * binary, for any purpose, commercial or non-commercial, and by any 14 * means. 15 * 16 * In jurisdictions that recognize copyright laws, the author or authors 17 * of this software dedicate any and all copyright interest in the 18 * software to the public domain. We make this dedication for the benefit 19 * of the public at large and to the detriment of our heirs and 20 * successors. We intend this dedication to be an overt act of 21 * relinquishment in perpetuity of all present and future rights to this 22 * software under copyright law. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 27 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 28 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 29 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 30 * OTHER DEALINGS IN THE SOFTWARE. 31 * #L% 32 */ 33 34 /** 35 * This data dictionary contains FITS keywords that have been widely used within the astronomical community. It is 36 * recommended that these keywords only be used as defined here. These are the Keywords that describe the observation. 37 * 38 * <pre> 39 * See <a href= 40 "http://heasarc.gsfc.nasa.gov/docs/fcg/common_dict.html">http://heasarc.gsfc.nasa.gov/docs/fcg/common_dict.html</a> 41 * </pre> 42 * 43 * @author Richard van Nieuwenhoven 44 */ 45 public enum ObservationDescription implements IFitsHeader { 46 /** 47 * The value field shall contain a floating point number giving the air mass during the observation by a ground 48 * based telescope. The value of the airmass is often approximated by the secant of the elevation angle and has a 49 * value of 1.0 at the zenith and increases towards the horizon. This value is assumed to correspond to the start of 50 * the observation unless another interpretation is clearly explained in the comment field. 51 */ 52 AIRMASS(SOURCE.NOAO, HDU.ANY, VALUE.REAL, "air mass"), 53 /** 54 * The value field gives the declination of the observation. It may be expressed either as a floating point number 55 * in units of decimal degrees, or as a character string in 'dd:mm:ss.sss' format where the decimal point and number 56 * of fractional digits are optional. The coordinate reference frame is given by the RADECSYS keyword, and the 57 * coordinate epoch is given by the EQUINOX keyword. Example: -47.25944 or '-47:15:34.00'. 58 */ 59 DEC(SOURCE.NOAO, HDU.ANY, VALUE.STRING, "declination of the observed object"), 60 /** 61 * The value field shall contain a floating point number giving the nominal declination of the pointing direction in 62 * units of decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the coordinate 63 * epoch is given by the EQUINOX keyword. The precise definition of this keyword is instrument-specific, but 64 * typically the nominal direction corresponds to the direction to which the instrument was requested to point. The 65 * DEC_PNT keyword should be used to give the actual pointed direction. 66 */ 67 DEC_NOM(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "nominal declination of the observation"), 68 /** 69 * The value field shall contain a floating point number giving the declination of the observed object in units of 70 * decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the coordinate epoch is 71 * given by the EQUINOX keyword. 72 */ 73 DEC_OBJ(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "declination of the observed object"), 74 /** 75 * The value field shall contain a floating point number giving the declination of the pointing direction in units 76 * of decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the coordinate epoch is 77 * given by the EQUINOX keyword. The precise definition of this keyword is instrument-specific, but typically the 78 * pointed direction corresponds to the optical axis of the instrument. This keyword gives a mean value in cases 79 * where the pointing axis was not fixed during the entire observation. 80 */ 81 DEC_PNT(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "declination of the pointed direction of the instrument"), 82 /** 83 * The value field shall contain a floating point number giving the declination of the space craft (or telescope 84 * platform) X axis during the observation in decimal degrees. The coordinate reference frame is given by the 85 * RADECSYS keyword, and the coordinate epoch is given by the EQUINOX keyword. This keyword gives a mean value in 86 * cases where the axis was not fixed during the entire observation. 87 */ 88 DEC_SCX(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "declination of the X spacecraft axis"), 89 /** 90 * The value field shall contain a floating point number giving the declination of the space craft (or telescope 91 * platform) Z axis during the observation in decimal degrees. The coordinate reference frame is given by the 92 * RADECSYS keyword, and the coordinate epoch is given by the EQUINOX keyword. This keyword gives a mean value in 93 * cases where the axis was not fixed during the entire observation. 94 */ 95 DEC_SCZ(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "declination of the Z spacecraft axis"), 96 /** 97 * The value field shall contain a floating point number giving the geographic latitude from which the observation 98 * was made in units of degrees. 99 */ 100 LATITUDE(SOURCE.UCOLICK, HDU.ANY, VALUE.REAL, "geographic latitude of the observation"), 101 /** 102 * The value field shall contain a floating point number giving the angle between the direction of the observation 103 * (e.g., the optical axis of the telescope or the position of the target) and the moon, measured in degrees. 104 */ 105 MOONANGL(SOURCE.STScI, HDU.ANY, VALUE.REAL, "angle between the observation and the moon"), 106 /** 107 * The value field shall contain a character string giving a name for the observed object that conforms to the IAU 108 * astronomical object naming conventions. The value of this keyword is more strictly constrained than for the 109 * standard OBJECT keyword which in practice has often been used to record other ancillary information about the 110 * observation (e.g. filter, exposure time, weather conditions, etc.). 111 */ 112 OBJNAME(SOURCE.NOAO, HDU.ANY, VALUE.STRING, "AU name of observed object"), 113 /** 114 * The value field shall contain a character string which uniquely identifies the dataset contained in the FITS 115 * file. This is typically a sequence number that can contain a mixture of numerical and character values. Example: 116 * '10315-01-01-30A' 117 */ 118 OBS_ID(SOURCE.HEASARC, HDU.ANY, VALUE.STRING, "unique observation ID"), 119 /** 120 * The value field shall contain a floating point number giving the position angle of the y axis of the detector 121 * projected on the sky, in degrees east of north. This keyword is synonymous with the CROTA2 WCS keyword. 122 */ 123 ORIENTAT(SOURCE.STScI, HDU.IMAGE, VALUE.REAL, "position angle of image y axis (deg. E of N)"), 124 /** 125 * The value field shall contain a floating point number giving the position angle of the relevant aspect of 126 * telescope pointing axis and/or instrument on the sky in units of degrees east of north. It commonly applies to 127 * the orientation of a slit mask. 128 */ 129 PA_PNT(SOURCE.UCOLICK, HDU.ANY, VALUE.REAL, "position angle of the pointing"), 130 /** 131 * The value field gives the Right Ascension of the observation. It may be expressed either as a floating point 132 * number in units of decimal degrees, or as a character string in 'HH:MM:SS.sss' format where the decimal point and 133 * number of fractional digits are optional. The coordinate reference frame is given by the RADECSYS keyword, and 134 * the coordinate epoch is given by the EQUINOX keyword. Example: 180.6904 or '12:02:45.7'. 135 */ 136 RA(SOURCE.NOAO, HDU.ANY, VALUE.STRING, "R.A. of the observation"), 137 /** 138 * The value field shall contain a floating point number giving the nominal Right Ascension of the pointing 139 * direction in units of decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the 140 * coordinate epoch is given by the EQUINOX keyword. The precise definition of this keyword is instrument-specific, 141 * but typically the nominal direction corresponds to the direction to which the instrument was requested to point. 142 * The RA_PNT keyword should be used to give the actual pointed direction. 143 */ 144 RA_NOM(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "nominal R.A. of the observation"), 145 /** 146 * The value field shall contain a floating point number giving the Right Ascension of the observed object in units 147 * of decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the coordinate epoch is 148 * given by the EQUINOX keyword. 149 */ 150 RA_OBJ(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "R.A. of the observed object"), 151 /** 152 * The value field shall contain a floating point number giving the Right Ascension of the pointing direction in 153 * units of decimal degrees. The coordinate reference frame is given by the RADECSYS keyword, and the coordinate 154 * epoch is given by the EQUINOX keyword. The precise definition of this keyword is instrument-specific, but 155 * typically the pointed direction corresponds to the optical axis of the instrument. This keyword gives a mean 156 * value in cases where the pointing axis was not fixed during the entire observation. 157 */ 158 RA_PNT(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "R.A. of the pointed direction of the instrument"), 159 /** 160 * The value field shall contain a floating point number giving the Right Ascension of the space craft (or telescope 161 * platform) X axis during the observation in decimal degrees. The coordinate reference frame is given by the 162 * RADECSYS keyword, and the coordinate epoch is given by the EQUINOX keyword. This keyword gives a mean value in 163 * cases where the axis was not fixed during the entire observation. 164 */ 165 RA_SCX(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "R.A. of the X spacecraft axis"), 166 /** 167 * The value field shall contain a floating point number giving the Right Ascension of the space craft (or telescope 168 * platform) Y axis during the observation in decimal degrees. The coordinate reference frame is given by the 169 * RADECSYS keyword, and the coordinate epoch is given by the EQUINOX keyword. This keyword gives a mean value in 170 * cases where the axis was not fixed during the entire observation. 171 */ 172 RA_SCY(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "R.A. of the Y spacecraft axis"), 173 /** 174 * The value field shall contain a floating point number giving the Right Ascension of the space craft (or telescope 175 * platform) Z axis during the observation in decimal degrees. The coordinate reference frame is given by the 176 * RADECSYS keyword, and the coordinate epoch is given by the EQUINOX keyword. This keyword gives a mean value in 177 * cases where the axis was not fixed during the entire observation. 178 */ 179 RA_SCZ(SOURCE.HEASARC, HDU.ANY, VALUE.REAL, "R.A. of the Z spacecraft axis"), 180 /** 181 * The value field shall contain a floating point number giving the angle between the direction of the observation 182 * (e.g., the optical axis of the telescope or the position of the target) and the sun, measured in degrees. 183 */ 184 SUNANGLE(SOURCE.STScI, HDU.ANY, VALUE.REAL, "angle between the observation and the sun"); 185 186 private final FitsKey key; 187 188 ObservationDescription(IFitsHeader.SOURCE status, HDU hdu, VALUE valueType, String comment) { 189 key = new FitsKey(name(), status, hdu, valueType, comment); 190 } 191 192 @Override 193 public final FitsKey impl() { 194 return key; 195 } 196 }