aboutsummaryrefslogtreecommitdiff
path: root/noao/onedspec/irsiids/idsmtn.h
blob: 5fa3c73e17edbbf59bcdac7fb9896f67a8dc4769 (plain) (blame)
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
# Definitions for the Mountain format IDS tape reader:

define	MAX_RANGES	100
define	DUMMY		3	# Value returned if DUMMY IDS record is read

define	NBITS_CHAR		(SZB_CHAR * NBITS_BYTE)
define	SZ_IDS_RECORD		(2108 * 16 / NBITS_CHAR)
define	NPIX_IDS_REC		1024
define	LEN_USER_AREA		2880
define	SZ_IDS_ID		64
define	NBITS_VN_3WRD_FP	48
define	NBITS_VN_2WRD_FP	32
define	NBITS_VN_LONG_INT	32
define	NBITS_VN_INT		16
define	NBITS_FORTH_CHAR	8
define	DATA_BYTE		9			# First byte of data
define	NBYTES_DATA	(1024 * 32 / NBITS_BYTE)	# Number of data bytes
define	NBYTES_INT	(NBITS_INT / NBITS_BYTE)
define	NBYTES_VN_3WRD_FP	6
define	NBYTES_VN_2WRD_FP	4
define	NBITS_2WRD_HIGH		8
define	WRD2_EXP_OFFSET		25
define	NBITS_2WRD_EXP		6
define	WRD2_MANT_SIGN		24
define	WRD2_EXP_SIGN		31
define	NSIG_VN_BITS		15
define	VN_LONG_SIGN		31
define	WRD3_MANT_SIGN		31
define	WRD3_EXP_SIGN		47
define	MAX_NCOEFF		25


# The control parameter structure is defined below:

define	LEN_CP		10 + SZ_FNAME + 1

define	IS_REDUCED	Memi[$1]
define	LONG_HEADER	Memi[$1+1]
define	PRINT_PIXELS	Memi[$1+2]
define	MAKE_IMAGE	Memi[$1+3]
define	OFFSET		Memi[$1+4]
define	DATA_TYPE	Memi[$1+5]
define	IRAF_FILE	Memc[P2C($1+10)]


# The header structure is defined below:

define	LEN_IDS			40 + SZ_IDS_ID + 1

define	HA			Memr[P2R($1)]
define	AIRMASS			Memr[P2R($1+1)]
define	RA			Memr[P2R($1+2)]
define	DEC			Memr[P2R($1+3)]
define	W0			Memr[P2R($1+4)]
define	WPC			Memr[P2R($1+5)]
define	LINE			Memi[$1+6]
define	NP1			Memi[$1+7]
define	NP2			Memi[$1+8]
define	ITM			Memr[P2R($1+9)]
define	BEAM			Memi[$1+10]
define	W			Memi[$1+11]
define	UT			Memr[P2R($1+13)]
define	ST			Memr[P2R($1+14)]
define	DF_FLAG			Memi[$1+15]
define	SM_FLAG			Memi[$1+16]
define	QF_FLAG			Memi[$1+17]
define	DC_FLAG			Memi[$1+18]
define	QD_FLAG			Memi[$1+19]
define	EX_FLAG			Memi[$1+20]
define	BS_FLAG			Memi[$1+21]
define	CA_FLAG			Memi[$1+22]
define	CO_FLAG			Memi[$1+23]
define	OFLAG			Memi[$1+24]
define	POINT			Memi[$1+25]	
define	DRA			Memi[$1+26]
define	DDEC			Memi[$1+27]
define	ALPHA_ID		Memc[P2C($1+35)]
define	LABEL			Memc[P2C($1+40)]


# Bit offsets to various IDS header words are defined below:

define	NREC_OFFSET	((0 * 16) + 1)
define	RFLAGS_OFFSET	((1 * 16) + 1)
define	ITM_OFFSET	((2 * 16) + 1)
define	DATA_OFFSET	((4 * 16) + 1)
define	W0_OFFSET	((2052 * 16) + 1)
define	WPC_OFFSET	((2055 * 16) + 1)
define	NP1_OFFSET	((2058 * 16) + 1)
define	NP2_OFFSET	((2059 * 16) + 1)
define	OFLAG_OFFSET	((2060 * 16) + 1)
define	SMODE_OFFSET	((2061 * 16) + 1)
define	UT_OFFSET	((2062 * 16) + 1)
define	ST_OFFSET	((2064 * 16) + 1)
define	BEAM_OFFSET	((2066 * 16) + 1)
define	HA_OFFSET	((2067 * 16) + 1)
define	RA_OFFSET	((2070 * 16) + 1)
define	DEC_OFFSET	((2073 * 16) + 1)
define	DRA_OFFSET	((2076 * 16) + 1)
define	DDEC_OFFSET	((2077 * 16) + 1)
define	LABEL_OFFSET	((2078 * 16) + 1)