This file is indexed.

/usr/include/astrometry/ucac3.h is in libastrometry-dev 0.70+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
/*
# This file is part of the Astrometry.net suite.
# Licensed under a 3-clause BSD style license - see LICENSE
*/

#ifndef UCAC3_H
#define UCAC3_H

#include <stdint.h>

#define UCAC3_RECORD_SIZE 84

struct ucac3_entry {
	// (in brackets are the name, format, and units in the UCAC3 data files)
	// [degrees] (ra, I4: mas)
	double ra;
	// [degrees] (spd, I4: mas)
	double dec;

	// [degrees] (sigra, I2, mas)
	// error in RA*cos(Dec)
	float sigma_ra;
	// [degrees] (sigdc, I2, mas)
	float sigma_dec;

	// fit model mag
	// [mag] (im1, I2: millimag)
	// value 18.000 is used to flag errors
	float mag;

	// aperture mag
	// [mag] (im2, I2: millimag)
	// value 18.000 is used to flag errors
	float apmag;

	// [mag] (sigmag, I2: millimag)
	float mag_err;

	// (objt, I1)
    // -2 = warning: object could be from possible streak
    // -1 = warning: object is near overexposed star
	// 0 = good star
	// 1 = good star (data copied from another entry)
	// 2 = warning: contains at least 1 overexposed image
	// 3 = warning: all images are overexposed or "bad"
	int8_t objtype;

	// (dsf, I1)
	// 0 = single star
	// 1 = primary of pair with unreal secondary = single
	// 2 = forced separation, on same frame
	// 3 = blended image, some CCD frames show single star, some double
	// 4 = forced separation, 2 objects on same frame number
	// 5 = primary   component of real double
	// 6 = secondary component of real double
	// 7 = other "odd" case  
	int8_t doublestar;

	// (na1: I1)
	// total # of CCD images of this star
	uint8_t navail;

	// (nu1: I1)
	// # of CCD images used for this star
	uint8_t nused;

	// (us1: I1)
	// # catalogs (epochs) used for proper motions
 	uint8_t npm;

	// (cn1: I1)
	// total numb. catalogs (epochs) initial match
	uint8_t nmatch;

	// Central epoch for mean RA/Dec
	// [yr] (cepra/cepdc, I2, 0.01 yr - 1900)
	float epoch_ra;
	float epoch_dec;

	// Proper motion in RA*cos(Dec), Dec
	// [arcsec/yr] (pmrac/pmdc, I4, 0.1 mas/yr)
	float pm_ra;
	float pm_dec;

	// [arcsec/pr] (sigpmr/sigpmd, I2, 0.1 mas/yr)
	float sigma_pm_ra;
	float sigma_pm_dec;

	// 2MASS pts_key star identifier
	// (id2m, I4)
	uint32_t twomass_id;

	// 2MASS J mag
	// (jmag, I2, millimag)
	float jmag;

	// 2MASS H mag
	// (hmag, I2, millimag)
	float hmag;

	// 2MASS K_s mag
	// (kmag, I2, millimag)
	float kmag;

	// e2mpho I*1 * 3         2MASS error photom. (1/100 mag)
	float jmag_err;
	float hmag_err;
	float kmag_err;

	// icqflg I*1 * 3         2MASS cc_flg*10 + phot.qual.flag
	/*
	 (cc_flg*10 + ph_qual) consisting of the contamination flag (0 to 5) 
	 and the photometric quality flag (0 to 8).  

	 0 =  cc_flg  2MASS 0, no artifacts or contamination
	 1 =  cc_flg  2MASS p, source may be contaminated by a latent image
	 2 =  cc_flg  2MASS c, photometric confusion
	 3 =  cc_flg  2MASS d, diffraction spike confusion
	 4 =  cc_flg  2MASS s, electronic stripe
	 5 =  cc_flg  2MASS b, bandmerge confusion

	 0 =  no ph_qual flag
	 1 =  ph_qual 2MASS X, no valid brightness estimate
	 2 =  ph_qual 2MASS U, upper limit on magnitude
	 3 =  ph_qual 2MASS F, no reliable estimate of the photometric error
	 4 =  ph_qual 2MASS E, goodness-of-fit quality of profile-fit poor
	 5 =  ph_qual 2MASS A, valid measurement, [jhk]snr>10 AND [jhk]cmsig<0.10857
	 6 =  ph_qual 2MASS B, valid measurement, [jhk]snr> 7 AND [jhk]cmsig<0.15510
	 7 =  ph_qual 2MASS C, valid measurement, [jhk]snr> 5 AND [jhk]cmsig<0.21714
	 8 =  ph_qual 2MASS D, valid measurement, no [jhk]snr OR [jhk]cmsig req.
	 
	 For example icqflg = 05 is decoded to be cc_flg=0, and ph_qual=5, meaning
	 no artifacts or contamination from cc_flg and 2MASS qual flag = "A" .
	 */
	uint8_t twomass_jflags;
	uint8_t twomass_hflags;
	uint8_t twomass_kflags;

	// SuperCosmos Bmag / R2mag / Imag
	// (smB / smR2 / smI, I2 millimag)
	float bmag;
	float r2mag;
	float imag;

	// clbl   I*1             SC star/galaxy classif./quality flag
	/*
	 clbl is a combination of the SuperCOSMOS "meanclass" and
	 modified "blend" flag (meanclass + 10*blend) originally for each
	 magnitude (B, R1, R2, I).  The flag provided here is the maximum
	 value over all bands for each of the 2 flags. The SuperCOSMOS mean 
	 class flag is an estimate of image class based on unit-weighted mean 
	 of individual classes from (B, R1, R2, I).  The SuperCOSMOS modified 
	 blend flag indicates if blending is detected.
	 
	 The "meanclass" has the following meaning from SuperCOSMOS:
	 1 = galaxy
	 2 = star
	 3 = unclassifiable
	 4 = noise

	 The modified "blend" flag has the following meaning:
	 0 = no blending
	 1 = possible blending detected
	 */
	uint8_t clbl;

	// SuperCosmos quality flag Bmag/R2mag/Imag
	// (qfB/qfR2/qfI, I1)
	/*
	 This is a modified quality flag from the "qualB", "qualR2",
	 and "qualI" quality flag from SuperCOSMOS, which gives an indication
	 of the quality of the image from the three bands (B, R2, I).  The
	 modified quality flag qfB, qfR2, and qfI have the following meaning:

	 -1 = qual blank    in SuperCOSMOS, no flag given
     0 = qual zero     in SuperCOSMOS, no problems detected
     1 = qual < 128    in SuperCOSMOS, reliable image
     2 = qual < 65535  in SuperCOSMOS, problems detected
     3 = qual >= 65535 in SuperCOSMOS, spurious detection
	 */
	uint8_t bquality;
	uint8_t r2quality;
	uint8_t iquality;

	// mmf flag for 10 major catalogs matched
	// (catflg, I * 10)
	/*
	 The catflg provides reference to 10 major catalogs used
     in the computation of the proper motions and catalog matching.
     Each of the 10 numbers range from 0 to 6 and are the "mmf" 
     (multiple match flag) with respect to each of the 10 following
     catalogs:

           Hip, Tycho, AC2000, AGK2B, AGK2H, ZA, BY, Lick, SC, SPM
     catflg 1     2       3      4      5     6   7   8     9   10

     The value for each byte, the mmf flag, has the following meaning:

     0 = star not matched with this catalog
     1 = unique match,  not involving a double star
     2 = closest match, not involving a double, likely o.k. 
     3 = unique match,  and involving a double star
     4 = closest match, and involving a double, likely o.k.
     5 = maybe o.k. smallest sep. match in both directions
     6 = same as 5, but involving a double star
	 */
	uint8_t matchflags[10];

	// Yale SPM object type (g-flag)
	// (g1, I1)
	/*
	 The g-flag from the Yale San Juan first epoch Southern
	 Proper Motion data (YSJ1, SPM) has the following meaning:

     0 = no info
     1 = matched with 2MASS extended source list
     2 = LEDA  galaxy
     3 = known QSO
	 */
	uint8_t yale_gflag;
	// Yale SPM input cat.  (c-flag)
	// (c1, I1)
	/*
	 The c-flag from the Yale San Juan first epoch Southern
	 Proper Motion data (YSJ1, SPM) indicates which input catalog
	 has been used to identify stars for pipeline processing:
	 
     1 = Hipparcos
     2 = Tycho2
     3 = UCAC2
     4 = 2MASS psc
     5 = 2MASS xsc (extended sources, largely (but not all!) galaxies)
     6 = LEDA  (confirmed galaxies, Paturel et al. 2005)
     7 = QSO   (Veron-Cetty & Veron 2006)
	 */
	uint8_t yale_cflag;

	// LEDA galaxy match flag
	// (leda, I1)
	/*
	 This flag is either 0 (no match) or contains the log of
	 the apparent total diameter for I-band (object size) information
	 copied from the LEDA catalog (galaxies).  A size value of less
	 than 1 has been rounded up to 1.
	 */
	uint8_t leda_flag;

	// 2MASS extend.source flag
	// (x2m, I1)
	/*
	 This flag is either 0 (no match) or contains the length of
	 the semi-major axis of the fiducial ellipse at the K-band 
	 (object size) information copied from the 2MASS extended source
	 catalog.  If the size is larger than 127, the flag was set to 127.
	 */
	uint8_t twomass_extsource_flag;

	// MPOS star number; identifies HPM stars
	// (rn, I4)
	/*
	 MPOS running star numbers over 140 million indicate high
	 proper motion stars which were identified in UCAC pixel data from
	 matches with known HPM stars.  The position given for those HPM
	 stars is the unweighted mean of the CCD observations and the
	 proper motion is copied from the literature catalog.
	 */
	uint32_t mpos;
};

typedef struct ucac3_entry ucac3_entry;

int ucac3_parse_entry(ucac3_entry* entry, const void* encoded);

#endif