View Javadoc
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 }