00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef MUSE_INSTRUMENT_H
00023 #define MUSE_INSTRUMENT_H
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 static const double kMuseSpaxelSizeX_WFM = 0.2;
00038 static const double kMuseSpaxelSizeY_WFM = 0.2;
00039 static const double kMuseSpaxelSizeX_NFM = 0.025;
00040 static const double kMuseSpaxelSizeY_NFM = 0.025;
00041
00042
00043 static const double kMuseAverageFWHM_x = 1.6;
00044 static const double kMuseAverageFWHM_y = 1.6;
00045
00046
00047
00048 static const int kMuseOutputXRight = 4096;
00049 static const int kMuseOutputYTop = 4112;
00050
00051 static const int kMusePreOverscanSize = 32;
00052
00053
00054 static const float kMuseSaturationLimit = 65500.;
00055
00056
00057 static const int kMuseNumIFUs = 24;
00058
00059
00060 static const unsigned short kMuseSlicesPerCCD = 48;
00061
00062 static const int kMuseSliceSearchRegion = 200;
00063
00064 static const int kMuseSliceMaxWidth = 100;
00065
00066 static const int kMuseSliceNominalWidth = 75;
00067
00068
00069 static const float kMuseSliceLoLikelyWidth = 72.2;
00070 static const float kMuseSliceHiLikelyWidth = 82.2;
00071
00072
00073
00074 static const int kMuseSliceMaxEdgeWidth = 10;
00075
00076
00077 static const float kMuseSpectralSamplingA = 1.25;
00078
00079
00080 static const double kMuseSliceSlitWidthA = 2.61;
00081
00082
00083 static const float kMuseNominalLambdaMin = 4650.;
00084 static const float kMuseNominalLambdaMax = 9300.;
00085
00086 static const float kMuseNominalCutoff = 4750;
00087
00088 static const float kMuseLambdaMinX = 4150.;
00089 static const float kMuseLambdaMaxX = 9800.;
00090
00091 static const float kMuseArcMaxCenteringError = 1.25;
00092
00093 static const float kMuseArcMinFWHM = 1.0;
00094 static const float kMuseArcMaxFWHM = 5.0;
00095
00096 static const float kMuseArcMinFlux = 50.0;
00097
00098
00099 static const int kMuseTypicalCubeSizeX = 300;
00100 static const int kMuseTypicalCubeSizeY = 288;
00101
00102
00103
00104
00105
00106 static const unsigned char kMuseGeoSliceSky[] = {
00107 9, 8, 1, 10, 7, 2, 11, 6, 3, 12, 5, 4,
00108 21, 20, 13, 22, 19, 14, 23, 18, 15, 24, 17, 16,
00109 33, 32, 25, 34, 31, 26, 35, 30, 27, 36, 29, 28,
00110 45, 44, 37, 46, 43, 38, 47, 42, 39, 48, 41, 40
00111 };
00112
00113
00114 static const float kMuseCUmpmDX = 2.9450,
00115 kMuseCUmpmDY = 0.6135;
00116
00117
00118 static const unsigned char kMuseCUmpmSpotsPerSlice = 3;
00119
00120
00121
00122
00123
00124
00125 static const double kMuseAmpl1[][2] = {
00126 { 2500., 0.12042285 },
00127 { 2600., 0.10860598 },
00128 { 2700., 0.10029241 },
00129 { 2800., 0.1010473 },
00130 { 2900., 0.11258141 },
00131 { 3000., 0.12635038 },
00132 { 3100., 0.13448966 },
00133 { 3200., 0.13880026 },
00134 { 3300., 0.1423209 },
00135 { 3400., 0.14222383 },
00136 { 3500., 0.14018333 },
00137 { 3600., 0.13863897 },
00138 { 3700., 0.14285144 },
00139 { 3800., 0.15266077 },
00140 { 3900., 0.16535348 },
00141 { 4000., 0.1770276 },
00142 { 4100., 0.18605701 },
00143 { 4200., 0.19385006 },
00144 { 4300., 0.20142353 },
00145 { 4400., 0.20986195 },
00146 { 4500., 0.21819498 },
00147 { 4600., 0.22561278 },
00148 { 4700., 0.23293989 },
00149 { 4800., 0.23908501 },
00150 { 4900., 0.24622256 },
00151 { 5000., 0.25217267 },
00152 { 5100., 0.25847973 },
00153 { 5200., 0.2651326 },
00154 { 5300., 0.27124827 },
00155 { 5400., 0.27774291 },
00156 { 5500., 0.28288282 },
00157 { 5600., 0.28884646 },
00158 { 5700., 0.29560289 },
00159 { 5800., 0.30107169 },
00160 { 5900., 0.30661891 },
00161 { 6000., 0.31317781 },
00162 { 6100., 0.3185658 },
00163 { 6200., 0.3247822 },
00164 { 6300., 0.33013667 },
00165 { 6400., 0.33590527 },
00166 { 6500., 0.34120136 },
00167 { 6600., 0.34646811 },
00168 { 6700., 0.35219427 },
00169 { 6800., 0.35768868 },
00170 { 6900., 0.36601971 },
00171 { 7000., 0.36940652 },
00172 { 7100., 0.3735187 },
00173 { 7200., 0.37902808 },
00174 { 7300., 0.38475409 },
00175 { 7400., 0.39095198 },
00176 { 7500., 0.39615039 },
00177 { 7600., 0.40184217 },
00178 { 7700., 0.40682911 },
00179 { 7800., 0.41245076 },
00180 { 7900., 0.41851005 },
00181 { 8000., 0.42465427 },
00182 { 8100., 0.4292767 },
00183 { 8200., 0.43596086 },
00184 { 8300., 0.44151703 },
00185 { 8400., 0.4458525 },
00186 { 8500., 0.45129183 },
00187 { 8600., 0.45772061 },
00188 { 8700., 0.46303733 },
00189 { 8800., 0.4683445 },
00190 { 8900., 0.4728841 },
00191 { 9000., 0.47827183 },
00192 { 9100., 0.48365046 },
00193 { 9200., 0.48835047 },
00194 { 9300., 0.49350086 },
00195 { 9400., 0.49763584 },
00196 { 9500., 0.50120751 },
00197 { 9600., 0.50337176 },
00198 { 9700., 0.50266209 },
00199 { 9800., 0.49823605 },
00200 { 9900., 0.48887253 },
00201 { 10000., 0.47199137 },
00202 { 10100., 0.44744711 },
00203 { 10200., 0.41367036 },
00204 { 10300., 0.37072293 },
00205 { 10400., 0.31936173 },
00206 { 10500., 0.26252744 },
00207 { 10600., 0.2092668 },
00208 { 10700., 0.16926374 },
00209 { 10800., 0.13819477 },
00210 { 10900., 0.11170627 },
00211 { 11000., 0.089087876 },
00212 { 0., 0. }
00213 };
00214
00215
00216 static const double kMuseAmpl2[][2] = {
00217 { 3800., 0.017470643 },
00218 { 3900., 0.028092218 },
00219 { 4000., 0.042101743 },
00220 { 4100., 0.057172072 },
00221 { 4200., 0.072846443 },
00222 { 4300., 0.088312251 },
00223 { 4400., 0.10446471 },
00224 { 4500., 0.12060106 },
00225 { 4600., 0.13705176 },
00226 { 4700., 0.15291203 },
00227 { 4800., 0.16783374 },
00228 { 4900., 0.18414104 },
00229 { 5000., 0.2002173 },
00230 { 5100., 0.21605915 },
00231 { 5200., 0.23228403 },
00232 { 5300., 0.24804161 },
00233 { 5400., 0.26350352 },
00234 { 5500., 0.27958034 },
00235 { 5600., 0.2948433 },
00236 { 5700., 0.3098418 },
00237 { 5800., 0.32511413 },
00238 { 5900., 0.3396649 },
00239 { 6000., 0.35432272 },
00240 { 6100., 0.36892068 },
00241 { 6200., 0.38268224 },
00242 { 6300., 0.3965248 },
00243 { 6400., 0.41013499 },
00244 { 6500., 0.42306177 },
00245 { 6600., 0.43585509 },
00246 { 6700., 0.44871039 },
00247 { 6800., 0.46041305 },
00248 { 6900., 0.47379706 },
00249 { 7000., 0.48452311 },
00250 { 7100., 0.49428201 },
00251 { 7200., 0.50518957 },
00252 { 7300., 0.51604378 },
00253 { 7400., 0.52577538 },
00254 { 7500., 0.53560665 },
00255 { 7600., 0.54571763 },
00256 { 7700., 0.55427559 },
00257 { 7800., 0.56320912 },
00258 { 7900., 0.57262044 },
00259 { 8000., 0.58063817 },
00260 { 8100., 0.58978081 },
00261 { 8200., 0.59650748 },
00262 { 8300., 0.60433599 },
00263 { 8400., 0.61148995 },
00264 { 8500., 0.61874995 },
00265 { 8600., 0.62610294 },
00266 { 8700., 0.63217003 },
00267 { 8800., 0.63791206 },
00268 { 8900., 0.6449613 },
00269 { 9000., 0.65062382 },
00270 { 9100., 0.65685802 },
00271 { 9200., 0.66314835 },
00272 { 9300., 0.6684782 },
00273 { 9400., 0.67349904 },
00274 { 9500., 0.67880835 },
00275 { 9600., 0.68235343 },
00276 { 9700., 0.68390407 },
00277 { 9800., 0.68117654 },
00278 { 9900., 0.67307881 },
00279 { 10000., 0.65663219 },
00280 { 10100., 0.62937674 },
00281 { 10200., 0.5886552 },
00282 { 10300., 0.53176402 },
00283 { 10400., 0.46039876 },
00284 { 10500., 0.37838965 },
00285 { 10600., 0.29937021 },
00286 { 10700., 0.23830659 },
00287 { 10800., 0.19124631 },
00288 { 10900., 0.1523348 },
00289 { 11000., 0.1193815 },
00290 { 0., 0. }
00291 };
00292
00293 static const double kMuseAmplPhysicalSize = 1.;
00294
00295
00296
00297
00298
00299
00309
00310 typedef enum {
00311 MUSE_MODE_WFM_NONAO_X = 0,
00312 MUSE_MODE_WFM_NONAO_N = 1,
00313 MUSE_MODE_WFM_AO_N = 2,
00314 MUSE_MODE_NFM_AO_N = 3
00315 } muse_ins_mode;
00316
00317
00318
00319
00320
00321
00322 #endif