ERIS Pipeline Reference Manual 1.8.15
eris_ifu_constants.h
1/* $Id$
2 *
3 * This file is part of the ERIS Pipeline
4 * Copyright (C) 2002,2003 European Southern Observatory
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef ERIS_IFU_CONSTANTS_H
22#define ERIS_IFU_CONSTANTS_H
23
24#ifdef HAVE_CONFIG_H
25#include <config.h>
26#endif
27/*----------------------------------------------------------------------------*/
31/*----------------------------------------------------------------------------*/
32
35/*-----------------------------------------------------------------------------
36 Define
37 -----------------------------------------------------------------------------*/
38
39#define SLITLET_CNT 32
40#define SLITLET_WIDTH 64
41/*
42 * To model the wall brick like layout of the slitlets the slitlets
43 * are assigned to one of four blocks.
44 */
45#define SLITLET_BLOCK_CNT 4
46#define SLITLET_BLOCK0_CNT 15
47#define SLITLET_BLOCK1_CNT 15
48#define SLITLET_BLOCK2_CNT 1
49#define SLITLET_BLOCK3_CNT 1
50static const int slitlet_block[SLITLET_CNT] = { 0,1,0,1, 0,1,0,1,
51 0,1,0,1, 0,1,0,2,
52 3,1,0,1, 0,1,0,1,
53 0,1,0,1, 0,1,0,1};
54
55/* indices how to sort slitlets from top to down */
56static const int rowIndices[SLITLET_CNT] = { 8, 7, 9, 6, 10, 5, 11, 4,
57 12, 3, 13, 2, 14, 1, 15, 0,
58 31, 16, 30, 17, 29, 18, 28, 19,
59 27, 20, 26, 21, 25, 22, 24, 23};
60
61/* indices on detector from left to right */
62static const int rowIndicesDet[SLITLET_CNT] = { 0, 1, 2, 3, 4, 5, 6, 7,
63 8, 9, 10, 11, 12, 13, 14, 15,
64 16, 17, 18, 19, 20, 21, 22, 23,
65 24, 25, 26, 27, 28, 29, 30, 31};
66
67#define AR_LAMP 1
68#define KR_LAMP 2
69#define NE_LAMP 4
70#define XE_LAMP 8
71#define QTH_LAMP 16
72
73typedef enum {
74 OTHER_INSTRUMENT, SPIFFI, SPIFFIER, NIX, UNSET_INSTRUMENT
75} ifsInstrument;
76
77typedef enum {
78 UNDEFINED_BAND,
79 J_LOW, H_LOW, K_LOW,
80 J_SHORT, J_MIDDLE, J_LONG,
81 H_SHORT, H_MIDDLE, H_LONG,
82 K_SHORT, K_MIDDLE, K_LONG, B_PUPIL,
83 J_SPIFFI, H_SPIFFI, K_SPIFFI, HK_SPIFFI
84} ifsBand;
85
86typedef enum {
87 UNDEFINED_SCALE,
88 S250MAS,
89 S100MAS,
90 S25MAS,
91 PUPIL
92} ifsPreopticsScale;
93
94
95#endif