source: branches/newfiller/external-alma/atnf/PKSIO/ASTEDataset.cc@ 2505

Last change on this file since 2505 was 1757, checked in by Kana Sugimoto, 14 years ago

New Development: Yes

JIRA Issue: Yes (CAS-2211)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed: ASAP 3.0.0 interface changes

Test Programs:

Put in Release Notes: Yes

Module(s): all the CASA sd tools and tasks are affected.

Description: Merged ATNF-ASAP 3.0.0 developments to CASA (alma) branch.

Note you also need to update casa/code/atnf.


File size: 29.1 KB
Line 
1//#---------------------------------------------------------------------------
2//# ASTEDataset.cc: Class for ASTE dataset.
3//#---------------------------------------------------------------------------
4//# Copyright (C) 2000-2006
5//# Associated Universities, Inc. Washington DC, USA.
6//#
7//# This library is free software; you can redistribute it and/or modify it
8//# under the terms of the GNU Library General Public License as published by
9//# the Free Software Foundation; either version 2 of the License, or (at your
10//# option) any later version.
11//#
12//# This library is distributed in the hope that it will be useful, but WITHOUT
13//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15//# License for more details.
16//#
17//# You should have received a copy of the GNU Library General Public License
18//# along with this library; if not, write to the Free Software Foundation,
19//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
20//#
21//# Correspondence concerning AIPS++ should be addressed as follows:
22//# Internet email: aips2-request@nrao.edu.
23//# Postal address: AIPS++ Project Office
24//# National Radio Astronomy Observatory
25//# 520 Edgemont Road
26//# Charlottesville, VA 22903-2475 USA
27//#
28//# $Id$
29//#---------------------------------------------------------------------------
30//# Original: 2008/10/30, Takeshi Nakazato, NAOJ
31//#---------------------------------------------------------------------------
32
33#include <atnf/PKSIO/ASTEDataset.h>
34
35#include <iostream>
36#include <cstring>
37
38using namespace std ;
39
40// constructor
41ASTEDataset::ASTEDataset( string name )
42 : NRODataset( name )
43{
44 LogIO os( LogOrigin( "ASTEDataset", "ASTEDataset()", WHERE ) ) ;
45
46 // check endian
47 open() ;
48 fseek( fp_, 144, SEEK_SET ) ;
49 int tmp ;
50 if( fread( &tmp, 1, sizeof(int), fp_ ) != sizeof(int) ) {
51 os << LogIO::SEVERE << "Error while checking endian of the file. " << LogIO::POST ;
52 return ;
53 }
54 if ( ( 0 < tmp ) && ( tmp <= ASTE_ARYMAX ) ) {
55 same_ = true ;
56 os << LogIO::NORMAL << "same endian " << LogIO::POST ;
57 }
58 else {
59 same_ = false ;
60 os << LogIO::NORMAL << "different endian " << LogIO::POST ;
61 }
62 fseek( fp_, 0, SEEK_SET ) ;
63
64 // memory allocation
65 initialize() ;
66}
67
68// destructor
69ASTEDataset::~ASTEDataset()
70{
71}
72
73// data initialization
74void ASTEDataset::initialize()
75{
76 RX.resize( ASTE_ARYMAX ) ;
77 HPBW.resize( ASTE_ARYMAX ) ;
78 EFFA.resize( ASTE_ARYMAX ) ;
79 EFFB.resize( ASTE_ARYMAX ) ;
80 EFFL.resize( ASTE_ARYMAX ) ;
81 EFSS.resize( ASTE_ARYMAX ) ;
82 GAIN.resize( ASTE_ARYMAX ) ;
83 HORN.resize( ASTE_ARYMAX ) ;
84 POLTP.resize( ASTE_ARYMAX ) ;
85 POLDR.resize( ASTE_ARYMAX ) ;
86 POLAN.resize( ASTE_ARYMAX ) ;
87 DFRQ.resize( ASTE_ARYMAX ) ;
88 SIDBD.resize( ASTE_ARYMAX ) ;
89 REFN.resize( ASTE_ARYMAX ) ;
90 IPINT.resize( ASTE_ARYMAX ) ;
91 MULTN.resize( ASTE_ARYMAX ) ;
92 MLTSCF.resize( ASTE_ARYMAX ) ;
93 LAGWIND.resize( ASTE_ARYMAX ) ;
94 BEBW.resize( ASTE_ARYMAX ) ;
95 BERES.resize( ASTE_ARYMAX ) ;
96 CHWID.resize( ASTE_ARYMAX ) ;
97 ARRY.resize( ASTE_ARYMAX ) ;
98 NFCAL.resize( ASTE_ARYMAX ) ;
99 F0CAL.resize( ASTE_ARYMAX ) ;
100 FQCAL.resize( ASTE_ARYMAX ) ;
101 CHCAL.resize( ASTE_ARYMAX ) ;
102 CWCAL.resize( ASTE_ARYMAX ) ;
103 DSBFC.resize( ASTE_ARYMAX ) ;
104
105 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
106 FQCAL[i].resize( 10 ) ;
107 CHCAL[i].resize( 10 ) ;
108 CWCAL[i].resize( 10 ) ;
109 }
110
111 datasize_ += sizeof( char ) * ASTE_ARYMAX * 16 // RX
112 + sizeof( double ) * ASTE_ARYMAX * 6 // HPBW, EFFA, EFFB, EFFL, EFSS GAIN
113 + sizeof( char ) * ASTE_ARYMAX * 4 // HORN
114 + sizeof( char ) * ASTE_ARYMAX * 4 // POLTP
115 + sizeof( double ) * ASTE_ARYMAX * 3 // POLDR, POLAN, DFRQ
116 + sizeof( char ) * ASTE_ARYMAX * 4 // SIDBID
117 + sizeof( int ) * ASTE_ARYMAX * 3 // REFN, IPINT, MULTN
118 + sizeof( double ) * ASTE_ARYMAX // MLTSCF
119 + sizeof( char ) * ASTE_ARYMAX * 8 // LAGWIND
120 + sizeof( double ) * ASTE_ARYMAX * 3 // BEBW, BERES, CHWID
121 + sizeof( int ) * ASTE_ARYMAX * 2 // ARRY, NFCAL
122 + sizeof( double ) * ASTE_ARYMAX // F0CAL
123 + sizeof( double ) * ASTE_ARYMAX * 10 * 3 // FQCAL, CHCAL, CWCAL
124 + sizeof( char ) * 116 // CDMY1
125 + sizeof( double ) * ASTE_ARYMAX ; // DSBFC
126}
127
128// fill data header
129int ASTEDataset::fillHeader()
130{
131 LogIO os( LogOrigin( "ASTEDataset", "fillHeader()", WHERE ) ) ;
132
133 // open file
134 if ( open() ) {
135 os << LogIO::SEVERE << "Error opening file " << filename_ << "." << LogIO::EXCEPTION ;
136 return -1 ;
137 }
138
139 // fill
140 int status = fillHeader( same_ ) ;
141
142 return status ;
143}
144
145int ASTEDataset::fillHeader( int sameEndian )
146{
147 LogIO os( LogOrigin( "ASTEDataset", "fillHeader()", WHERE ) ) ;
148
149 string str4( 4, ' ' ) ;
150 string str8( 8, ' ' ) ;
151 string str16( 16, ' ' ) ;
152 string str18( 18, ' ' ) ;
153 string str24( 24, ' ' ) ;
154 string str40( 40, ' ' ) ;
155 string str120( 120, ' ' ) ;
156 char c4[4] ;
157 char c8[8] ;
158 char c16[16] ;
159 char c18[18] ;
160 char c24[24] ;
161 char c40[40] ;
162 char c120[120] ;
163 // make sure file pointer points a beginning of the file
164 fseek( fp_, 0, SEEK_SET ) ;
165
166 // read data header
167 strcpy( c8, str8.c_str() ) ;
168 if ( readHeader( c8, 8 ) == -1 ) {
169 os << LogIO::WARN << "Error while reading data LOFIL." << LogIO::POST ;
170 return -1 ;
171 }
172 LOFIL = string( c8 ) ;
173 // DEBUG
174 //cout << "LOFIL = " << LOFIL << endl ;
175 //
176 strcpy( c8, str8.c_str() ) ;
177 if ( readHeader( c8, 8 ) == -1 ) {
178 os << LogIO::WARN << "Error while reading data VER." << LogIO::POST ;
179 return -1 ;
180 }
181 VER = string( c8 ) ;
182 // DEBUG
183 //cout << "VER = " << VER << endl ;
184 //
185 strcpy( c16, str16.c_str() ) ;
186 if ( readHeader( c16, 16 ) == -1 ) {
187 os << LogIO::WARN << "Error while reading data GROUP." << LogIO::POST ;
188 return -1 ;
189 }
190 GROUP = string( c16 ) ;
191 // DEBUG
192 //cout << "GROUP = " << GROUP << endl ;
193 //
194 strcpy( c16, str16.c_str() ) ;
195 if ( readHeader( c16, 16 ) == -1 ) {
196 os << LogIO::WARN << "Error while reading data PROJ." << LogIO::POST ;
197 return -1 ;
198 }
199 PROJ = string( c16 ) ;
200 // DEBUG
201 //cout << "PROJ = " << PROJ << endl ;
202 //
203 strcpy( c24, str24.c_str() ) ;
204 if ( readHeader( c24, 24 ) == -1 ) {
205 os << LogIO::WARN << "Error while reading data SCHED." << LogIO::POST ;
206 return -1 ;
207 }
208 SCHED = string( c24 ) ;
209 // DEBUG
210 //cout << "SCHED = " << SCHED << endl ;
211 //
212 strcpy( c40, str40.c_str() ) ;
213 if ( readHeader( c40, 40 ) == -1 ) {
214 os << LogIO::WARN << "Error while reading data OBSVR." << LogIO::POST ;
215 return -1 ;
216 }
217 OBSVR = string( c40 ) ;
218 // DEBUG
219 //cout << "OBSVR = " << OBSVR << endl ;
220 //
221 strcpy( c16, str16.c_str() ) ;
222 if ( readHeader( c16, 16 ) == -1 ) {
223 os << LogIO::WARN << "Error while reading data LOSTM." << LogIO::POST ;
224 return -1 ;
225 }
226 LOSTM = string( c16 ) ;
227 // DEBUG
228 //cout << "LOSTM = " << LOSTM << endl ;
229 //
230 strcpy( c16, str16.c_str() ) ;
231 if ( readHeader( c16, 16 ) == -1 ) {
232 os << LogIO::WARN << "Error while reading data LOETM." << LogIO::POST ;
233 return -1 ;
234 }
235 LOETM = string( c16 ) ;
236 // DEBUG
237 //cout << "LOETM = " << LOETM << endl ;
238 //
239 if ( readHeader( ARYNM, sameEndian ) == -1 ) {
240 os << LogIO::WARN << "Error while reading data ARYNM." << LogIO::POST ;
241 return -1 ;
242 }
243 // DEBUG
244 //cout << "ARYNM = " << ARYNM << endl ;
245 //
246 if ( readHeader( NSCAN, sameEndian ) == -1 ) {
247 os << LogIO::WARN << "Error while reading data NSCAN." << LogIO::POST ;
248 return -1 ;
249 }
250 // DEBUG
251 //cout << "NSCAN = " << NSCAN << endl ;
252 //
253 strcpy( c120, str120.c_str() ) ;
254 if ( readHeader( c120, 120 ) == -1 ) {
255 os << LogIO::WARN << "Error while reading data TITLE." << LogIO::POST ;
256 return -1 ;
257 }
258 TITLE = string( c120 ) ;
259 // DEBUG
260 //cout << "TITLE = " << TITLE << endl ;
261 //
262 strcpy( c16, str16.c_str() ) ;
263 if ( readHeader( c16, 16 ) == -1 ) {
264 os << LogIO::WARN << "Error while reading data OBJ." << LogIO::POST ;
265 return -1 ;
266 }
267 OBJ = string( c16 ) ;
268 // DEBUG
269 //cout << "OBJ = " << OBJ << endl ;
270 //
271 strcpy( c8, str8.c_str() ) ;
272 if ( readHeader( c8, 8 ) == -1 ) {
273 os << LogIO::WARN << "Error while reading data EPOCH." << LogIO::POST ;
274 return -1 ;
275 }
276 EPOCH = string( c8 ) ;
277 // DEBUG
278 //cout << "EPOCH = " << EPOCH << endl ;
279 //
280 if ( readHeader( RA0, sameEndian ) == -1 ) {
281 os << LogIO::WARN << "Error while reading data RA0." << LogIO::POST ;
282 return -1 ;
283 }
284 // DEBUG
285 //cout << "RA0 = " << RA0 << endl ;
286 //
287 if ( readHeader( DEC0, sameEndian ) == -1 ) {
288 os << LogIO::WARN << "Error while reading data DEC0." << LogIO::POST ;
289 return -1 ;
290 }
291 // DEBUG
292 //cout << "DEC0 = " << DEC0 << endl ;
293 //
294 if ( readHeader( GLNG0, sameEndian ) == -1 ) {
295 os << LogIO::WARN << "Error while reading data GLNG0." << LogIO::POST ;
296 return -1 ;
297 }
298 // DEBUG
299 //cout << "GLNG0 = " << GLNG0 << endl ;
300 //
301 if ( readHeader( GLAT0, sameEndian ) == -1 ) {
302 os << LogIO::WARN << "Error while reading data GLAT0." << LogIO::POST ;
303 return -1 ;
304 }
305 // DEBUG
306 //cout << "GLAT0 = " << GLAT0 << endl ;
307 //
308 if ( readHeader( NCALB, sameEndian ) == -1 ) {
309 os << LogIO::WARN << "Error while reading data NCALB." << LogIO::POST ;
310 return -1 ;
311 }
312 // DEBUG
313 //cout << "NCALB = " << NCALB << endl ;
314 //
315 if ( readHeader( SCNCD, sameEndian ) == -1 ) {
316 os << LogIO::WARN << "Error while reading data SCNCD." << LogIO::POST ;
317 return -1 ;
318 }
319 // DEBUG
320 //cout << "SCNCD = " << SCNCD << endl ;
321 //
322 strcpy( c120, str120.c_str() ) ;
323 if ( readHeader( c120, 120 ) == -1 ) {
324 os << LogIO::WARN << "Error while reading data SCMOD." << LogIO::POST ;
325 return -1 ;
326 }
327 SCMOD = string( c120 ) ;
328 // DEBUG
329 //cout << "SCMOD = " << SCMOD << endl ;
330 //
331 if ( readHeader( URVEL, sameEndian ) == -1 ) {
332 os << LogIO::WARN << "Error while reading data URVEL." << LogIO::POST ;
333 return -1 ;
334 }
335 // DEBUG
336 //cout << "URVEL = " << URVEL << endl ;
337 //
338 strcpy( c4, str4.c_str() ) ;
339 if ( readHeader( c4, 4 ) == -1 ) {
340 os << LogIO::WARN << "Error while reading data VREF." << LogIO::POST ;
341 return -1 ;
342 }
343 VREF = string( c4 ) ;
344 // DEBUG
345 //cout << "VREF = " << VREF << endl ;
346 //
347 strcpy( c4, str4.c_str() ) ;
348 if ( readHeader( c4, 4 ) == -1 ) {
349 os << LogIO::WARN << "Error while reading data VDEF." << LogIO::POST ;
350 return -1 ;
351 }
352 VDEF = string( c4 ) ;
353 // DEBUG
354 //cout << "VDEF = " << VDEF << endl ;
355 //
356 strcpy( c8, str8.c_str() ) ;
357 if ( readHeader( c8, 8 ) == -1 ) {
358 os << LogIO::WARN << "Error while reading data SWMOD." << LogIO::POST ;
359 return -1 ;
360 }
361 SWMOD = string( c8 ) + "::OTF" ;
362 // DEBUG
363 //cout << "SWMOD = " << SWMOD << endl ;
364 //
365 if ( readHeader( FRQSW, sameEndian ) == -1 ) {
366 os << LogIO::WARN << "Error while reading data FRQSW." << LogIO::POST ;
367 return -1 ;
368 }
369 // DEBUG
370 //cout << "FRQSW = " << FRQSW << endl ;
371 //
372 if ( readHeader( DBEAM, sameEndian ) == -1 ) {
373 os << LogIO::WARN << "Error while reading data DBEAM." << LogIO::POST ;
374 return -1 ;
375 }
376 // DEBUG
377 //cout << "DBEAM = " << DBEAM << endl ;
378 //
379 if ( readHeader( MLTOF, sameEndian ) == -1 ) {
380 os << LogIO::WARN << "Error while reading data MLTOF." << LogIO::POST ;
381 return -1 ;
382 }
383 // DEBUG
384 //cout << "MLTOF = " << MLTOF << endl ;
385 //
386 if ( readHeader( CMTQ, sameEndian ) == -1 ) {
387 os << LogIO::WARN << "Error while reading data CMTQ." << LogIO::POST ;
388 return -1 ;
389 }
390 // DEBUG
391 //cout << "CMTQ = " << CMTQ << endl ;
392 //
393 if ( readHeader( CMTE, sameEndian ) == -1 ) {
394 os << LogIO::WARN << "Error while reading data CMTE." << LogIO::POST ;
395 return -1 ;
396 }
397 // DEBUG
398 //cout << "CMTE = " << CMTE << endl ;
399 //
400 if ( readHeader( CMTSOM, sameEndian ) == -1 ) {
401 os << LogIO::WARN << "Error while reading data CMTSOM." << LogIO::POST ;
402 return -1 ;
403 }
404 // DEBUG
405 //cout << "CMTSOM = " << CMTSOM << endl ;
406 //
407 if ( readHeader( CMTNODE, sameEndian ) == -1 ) {
408 os << LogIO::WARN << "Error while reading data CMTNODE." << LogIO::POST ;
409 return -1 ;
410 }
411 // DEBUG
412 //cout << "CMTNODE = " << CMTNODE << endl ;
413 //
414 if ( readHeader( CMTI, sameEndian ) == -1 ) {
415 os << LogIO::WARN << "Error while reading data CMTI." << LogIO::POST ;
416 return -1 ;
417 }
418 // DEBUG
419 //cout << "CMTI = " << CMTI << endl ;
420 //
421 strcpy( c24, str24.c_str() ) ;
422 if ( readHeader( c24, 24 ) == -1 ) {
423 os << LogIO::WARN << "Error while reading data CMTTM." << LogIO::POST ;
424 return -1 ;
425 }
426 CMTTM = string( c24 ) ;
427 // DEBUG
428 //cout << "CMTTM = " << CMTTM << endl ;
429 //
430 if ( readHeader( SBDX, sameEndian ) == -1 ) {
431 os << LogIO::WARN << "Error while reading data SBDX." << LogIO::POST ;
432 return -1 ;
433 }
434 // DEBUG
435 //cout << "SBDX = " << SBDX << endl ;
436 //
437 if ( readHeader( SBDY, sameEndian ) == -1 ) {
438 os << LogIO::WARN << "Error while reading data SBDY." << LogIO::POST ;
439 return -1 ;
440 }
441 // DEBUG
442 //cout << "SBDY = " << SBDY << endl ;
443 //
444 if ( readHeader( SBDZ1, sameEndian ) == -1 ) {
445 os << LogIO::WARN << "Error while reading data SBDZ1." << LogIO::POST ;
446 return -1 ;
447 }
448 // DEBUG
449 //cout << "SBDZ1 = " << SBDZ1 << endl ;
450 //
451 if ( readHeader( SBDZ2, sameEndian ) == -1 ) {
452 os << LogIO::WARN << "Error while reading data SBDZ2." << LogIO::POST ;
453 return -1 ;
454 }
455 // DEBUG
456 //cout << "SBDZ2 = " << SBDZ2 << endl ;
457 //
458 if ( readHeader( DAZP, sameEndian ) == -1 ) {
459 os << LogIO::WARN << "Error while reading data DAZP." << LogIO::POST ;
460 return -1 ;
461 }
462 // DEBUG
463 //cout << "DAZP = " << DAZP << endl ;
464 //
465 if ( readHeader( DELP, sameEndian ) == -1 ) {
466 os << LogIO::WARN << "Error while reading data DELP." << LogIO::POST ;
467 return -1 ;
468 }
469 // DEBUG
470 //cout << "DELP = " << DELP << endl ;
471 //
472 if ( readHeader( CHBIND, sameEndian ) == -1 ) {
473 os << LogIO::WARN << "Error while reading data CHBIND." << LogIO::POST ;
474 return -1 ;
475 }
476 // DEBUG
477 //cout << "CHBIND = " << CHBIND << endl ;
478 //
479 if ( readHeader( NUMCH, sameEndian ) == -1 ) {
480 os << LogIO::WARN << "Error while reading data NUMCH." << LogIO::POST ;
481 return -1 ;
482 }
483 // DEBUG
484 //cout << "NUMCH = " << NUMCH << endl ;
485 //
486 if ( readHeader( CHMIN, sameEndian ) == -1 ) {
487 os << LogIO::WARN << "Error while reading data CHMIN." << LogIO::POST ;
488 return -1 ;
489 }
490 // DEBUG
491 //cout << "CHMIN = " << CHMIN << endl ;
492 //
493 if ( readHeader( CHMAX, sameEndian ) == -1 ) {
494 os << LogIO::WARN << "Error while reading data CHMAX." << LogIO::POST ;
495 return -1 ;
496 }
497 // DEBUG
498 //cout << "CHMAX = " << CHMAX << endl ;
499 //
500 if ( readHeader( ALCTM, sameEndian ) == -1 ) {
501 os << LogIO::WARN << "Error while reading data ALCTM." << LogIO::POST ;
502 return -1 ;
503 }
504 // DEBUG
505 //cout << "ALCTM = " << ALCTM << endl ;
506 //
507 if ( readHeader( IPTIM, sameEndian ) == -1 ) {
508 os << LogIO::WARN << "Error while reading data IPTIM." << LogIO::POST ;
509 return -1 ;
510 }
511 // DEBUG
512 //cout << "IPTIM = " << IPTIM << endl ;
513 //
514 if ( readHeader( PA, sameEndian ) == -1 ) {
515 os << LogIO::WARN << "Error while reading data PA." << LogIO::POST ;
516 return -1 ;
517 }
518 // DEBUG
519 //cout << "PA = " << PA << endl ;
520 //
521 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
522 strcpy( c18, str18.c_str() ) ;
523 if ( readHeader( c18, 16 ) == -1 ) {
524 os << LogIO::WARN << "Error while reading data RX[" << i << "]." << LogIO::POST ;
525 return -1 ;
526 }
527 c18[16] = '\0' ;
528 RX[i] = string( c18 ) ;
529 // DEBUG
530// if ( i == 0 ) {
531// cout << "RX " ;
532// }
533// else if ( ( i % 5 ) == 0 ) {
534// cout << endl << " " ;
535// }
536// cout << RX[i] << " " ;
537 //
538 }
539 //cout << endl ;
540 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
541 if ( readHeader( HPBW[i], sameEndian ) == -1 ) {
542 os << LogIO::WARN << "Error while reading data HPBW[" << i << "]." << LogIO::POST ;
543 return -1 ;
544 }
545 // DEBUG
546// if ( i == 0 ) {
547// cout << "HPBW " ;
548// }
549// else if ( ( i % 5 ) == 0 ) {
550// cout << endl << " " ;
551// }
552// cout << HPBW[i] << " " ;
553 //
554 }
555 //cout << endl ;
556 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
557 if ( readHeader( EFFA[i], sameEndian ) == -1 ) {
558 os << LogIO::WARN << "Error while reading data EFFA[" << i << "]." << LogIO::POST ;
559 return -1 ;
560 }
561 // DEBUG
562// if ( i == 0 ) {
563// cout << "EFFA " ;
564// }
565// else if ( ( i % 5 ) == 0 ) {
566// cout << endl << " " ;
567// }
568// cout << EFFA[i] << " " ;
569 //
570 }
571 //cout << endl ;
572 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
573 if ( readHeader( EFFB[i], sameEndian ) == -1 ) {
574 os << LogIO::WARN << "Error while reading data EFFB[" << i << "]." << LogIO::POST ;
575 return -1 ;
576 }
577 // DEBUG
578// if ( i == 0 ) {
579// cout << "EFFB " ;
580// }
581// else if ( ( i % 5 ) == 0 ) {
582// cout << endl << " " ;
583// }
584// cout << EFFB[i] << " " ;
585 //
586 }
587 //cout << endl ;
588 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
589 if ( readHeader( EFFL[i], sameEndian ) == -1 ) {
590 os << LogIO::WARN << "Error while reading data EFFL[" << i << "]." << LogIO::POST ;
591 return -1 ;
592 }
593 // DEBUG
594// if ( i == 0 ) {
595// cout << "EFFL " ;
596// }
597// else if ( ( i % 5 ) == 0 ) {
598// cout << endl << " " ;
599// }
600// cout << EFFL[i] << " " ;
601 //
602 }
603 //cout << endl ;
604 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
605 if ( readHeader( EFSS[i], sameEndian ) == -1 ) {
606 os << LogIO::WARN << "Error while reading data EFSS[" << i << "]." << LogIO::POST ;
607 return -1 ;
608 }
609 // DEBUG
610// if ( i == 0 ) {
611// cout << "EFSS " ;
612// }
613// else if ( ( i % 5 ) == 0 ) {
614// cout << endl << " " ;
615// }
616// cout << EFSS[i] << " " ;
617 //
618 }
619 //cout << endl ;
620 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
621 if ( readHeader( GAIN[i], sameEndian ) == -1 ) {
622 os << LogIO::WARN << "Error while reading data GAIN[" << i << "]." << LogIO::POST ;
623 return -1 ;
624 }
625 // DEBUG
626// if ( i == 0 ) {
627// cout << "GAIN " ;
628// }
629// else if ( ( i % 5 ) == 0 ) {
630// cout << endl << " " ;
631// }
632// cout << GAIN[i] << " " ;
633 //
634 }
635 //cout << endl ;
636 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
637 strcpy( c4, str4.c_str() ) ;
638 if ( readHeader( c4, 4 ) == -1 ) {
639 os << LogIO::WARN << "Error while reading data HORN[" << i << "]." << LogIO::POST ;
640 return -1 ;
641 }
642 HORN[i] = string( c4 ) ;
643 // DEBUG
644// if ( i == 0 ) {
645// cout << "HORN " ;
646// }
647// else if ( ( i % 5 ) == 0 ) {
648// cout << endl << " " ;
649// }
650// cout << HORN[i] << " " ;
651 //
652 }
653 //cout << endl ;
654 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
655 strcpy( c4, str4.c_str() ) ;
656 if ( readHeader( c4, 4 ) == -1 ) {
657 os << LogIO::WARN << "Error while reading data POLTP[" << i << "]." << LogIO::POST ;
658 return -1 ;
659 }
660 POLTP[i] = string( c4 ) ;
661 // DEBUG
662// if ( i == 0 ) {
663// cout << "POLTP " ;
664// }
665// else if ( ( i % 5 ) == 0 ) {
666// cout << endl << " " ;
667// }
668// cout << POLTP[i] << " " ;
669 //
670 }
671 //cout << endl ;
672 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
673 if ( readHeader( POLDR[i], sameEndian ) == -1 ) {
674 os << LogIO::WARN << "Error while reading data POLDR[" << i << "]." << LogIO::POST ;
675 return -1 ;
676 }
677 // DEBUG
678// if ( i == 0 ) {
679// cout << "POLDR " ;
680// }
681// else if ( ( i % 5 ) == 0 ) {
682// cout << endl << " " ;
683// }
684// cout << POLDR[i] << " " ;
685 //
686 }
687 //cout << endl ;
688 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
689 if ( readHeader( POLAN[i], sameEndian ) == -1 ) {
690 os << LogIO::WARN << "Error while reading data POLAN[" << i << "]." << LogIO::POST ;
691 return -1 ;
692 }
693 // DEBUG
694// if ( i == 0 ) {
695// cout << "POLAN " ;
696// }
697// else if ( ( i % 5 ) == 0 ) {
698// cout << endl << " " ;
699// }
700// cout << POLAN[i] << " " ;
701 //
702 }
703 //cout << endl ;
704 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
705 if ( readHeader( DFRQ[i], sameEndian ) == -1 ) {
706 os << LogIO::WARN << "Error while reading data DFRQ[" << i << "]." << LogIO::POST ;
707 return -1 ;
708 }
709 // DEBUG
710// if ( i == 0 ) {
711// cout << "DFRQ " ;
712// }
713// else if ( ( i % 5 ) == 0 ) {
714// cout << endl << " " ;
715// }
716// cout << DFRQ[i] << " " ;
717 //
718 }
719 //cout << endl ;
720 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
721 strcpy( c4, str4.c_str() ) ;
722 if ( readHeader( c4, 4 ) == -1 ) {
723 os << LogIO::WARN << "Error while reading data SIDBD[" << i << "]." << LogIO::POST ;
724 return -1 ;
725 }
726 SIDBD[i] = string( c4 ) ;
727 // DEBUG
728// if ( i == 0 ) {
729// cout << "SIDBD " ;
730// }
731// else if ( ( i % 5 ) == 0 ) {
732// cout << endl << " " ;
733// }
734// cout << SIDBD[i] << " " ;
735 //
736 }
737 //cout << endl ;
738 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
739 if ( readHeader( REFN[i], sameEndian ) == -1 ) {
740 os << LogIO::WARN << "Error while reading data REFN[" << i << "]." << LogIO::POST ;
741 return -1 ;
742 }
743 // DEBUG
744// if ( i == 0 ) {
745// cout << "REFN " ;
746// }
747// else if ( ( i % 5 ) == 0 ) {
748// cout << endl << " " ;
749// }
750// cout << REFN[i] << " " ;
751 //
752 }
753 //cout << endl ;
754 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
755 if ( readHeader( IPINT[i], sameEndian ) == -1 ) {
756 os << LogIO::WARN << "Error while reading data IPINT[" << i << "]." << LogIO::POST ;
757 return -1 ;
758 }
759 // DEBUG
760// if ( i == 0 ) {
761// cout << "IPINT " ;
762// }
763// else if ( ( i % 5 ) == 0 ) {
764// cout << endl << " " ;
765// }
766// cout << IPINT[i] << " " ;
767 //
768 }
769 //cout << endl ;
770 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
771 if ( readHeader( MULTN[i], sameEndian ) == -1 ) {
772 os << LogIO::WARN << "Error while reading data MULTN[" << i << "]." << LogIO::POST ;
773 return -1 ;
774 }
775 // DEBUG
776// if ( i == 0 ) {
777// cout << "MULTN " ;
778// }
779// else if ( ( i % 5 ) == 0 ) {
780// cout << endl << " " ;
781// }
782// cout << MULTN[i] << " " ;
783 //
784 }
785 //cout << endl ;
786 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
787 if ( readHeader( MLTSCF[i], sameEndian ) == -1 ) {
788 os << LogIO::WARN << "Error while reading data MLTSCF[" << i << "]." << LogIO::POST ;
789 return -1 ;
790 }
791 // DEBUG
792// if ( i == 0 ) {
793// cout << "MLTSCF " ;
794// }
795// else if ( ( i % 5 ) == 0 ) {
796// cout << endl << " " ;
797// }
798// cout << MLTSCF[i] << " " ;
799 //
800 }
801 //cout << endl ;
802 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
803 strcpy( c8, str8.c_str() ) ;
804 if ( readHeader( c8, 8 ) == -1 ) {
805 os << LogIO::WARN << "Error while reading data LAGWIND[" << i << "]." << LogIO::POST ;
806 return -1 ;
807 }
808 LAGWIND[i] = string( c8 ) ;
809 // DEBUG
810// if ( i == 0 ) {
811// cout << "LAGWIND " ;
812// }
813// else if ( ( i % 5 ) == 0 ) {
814// cout << endl << " " ;
815// }
816// cout << LAGWIND[i] << " " ;
817 //
818 }
819 //cout << endl ;
820 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
821 if ( readHeader( BEBW[i], sameEndian ) == -1 ) {
822 os << LogIO::WARN << "Error while reading data BEBW[" << i << "]." << LogIO::POST ;
823 return -1 ;
824 }
825 // DEBUG
826// if ( i == 0 ) {
827// cout << "BEBW " ;
828// }
829// else if ( ( i % 5 ) == 0 ) {
830// cout << endl << " " ;
831// }
832// cout << BEBW[i] << " " ;
833 //
834 }
835 //cout << endl ;
836 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
837 if ( readHeader( BERES[i], sameEndian ) == -1 ) {
838 os << LogIO::WARN << "Error while reading data BERES[" << i << "]." << LogIO::POST ;
839 return -1 ;
840 }
841 // DEBUG
842// if ( i == 0 ) {
843// cout << "BERES " ;
844// }
845// else if ( ( i % 5 ) == 0 ) {
846// cout << endl << " " ;
847// }
848// cout << BERES[i] << " " ;
849 //
850 }
851 //cout << endl ;
852 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
853 if ( readHeader( CHWID[i], sameEndian ) == -1 ) {
854 os << LogIO::WARN << "Error while reading data CHWID[" << i << "]." << LogIO::POST ;
855 return -1 ;
856 }
857 // DEBUG
858// if ( i == 0 ) {
859// cout << "CHWID " ;
860// }
861// else if ( ( i % 5 ) == 0 ) {
862// cout << endl << " " ;
863// }
864// cout << CHWID[i] << " " ;
865 //
866 }
867 //cout << endl ;
868 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
869 if ( readHeader( ARRY[i], sameEndian ) == -1 ) {
870 os << LogIO::WARN << "Error while reading data ARRY[" << i << "]." << LogIO::POST ;
871 return -1 ;
872 }
873 // DEBUG
874// if ( i == 0 ) {
875// cout << "ARRY " ;
876// }
877// else if ( ( i % 5 ) == 0 ) {
878// cout << endl << " " ;
879// }
880// cout << ARRY[i] << " " ;
881 //
882 }
883 //cout << endl ;
884 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
885 if ( readHeader( NFCAL[i], sameEndian ) == -1 ) {
886 os << LogIO::WARN << "Error while reading data NFCAL[" << i << "]." << LogIO::POST ;
887 return -1 ;
888 }
889 // DEBUG
890// if ( i == 0 ) {
891// cout << "NFCAL " ;
892// }
893// else if ( ( i % 5 ) == 0 ) {
894// cout << endl << " " ;
895// }
896// cout << NFCAL[i] << " " ;
897 //
898 }
899 //cout << endl ;
900 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
901 if ( readHeader( F0CAL[i], sameEndian ) == -1 ) {
902 os << LogIO::WARN << "Error while reading data F0CAL[" << i << "]." << LogIO::POST ;
903 return -1 ;
904 }
905 // DEBUG
906// if ( i == 0 ) {
907// cout << "F0CAL " ;
908// }
909// else if ( ( i % 5 ) == 0 ) {
910// cout << endl << " " ;
911// }
912// cout << F0CAL[i] << " " ;
913 //
914 }
915 //cout << endl ;
916 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
917 for ( int j = 0 ; j < 10 ; j++ ) {
918 if ( readHeader( FQCAL[i][j], sameEndian ) == -1 ) {
919 os << LogIO::WARN << "Error while reading data FQCAL[" << i << "][" << j << "]." << LogIO::POST ;
920 return -1 ;
921 }
922 // DEBUG
923// if ( j == 0 ) {
924// if ( i < 10 )
925// cout << "FQCAL0" << i << " " ;
926// else
927// cout << "FQCAL" << i << " " ;
928// }
929// else if ( ( j % 5 ) == 0 ) {
930// cout << endl << " " ;
931// }
932// cout << FQCAL[i][j] << " " ;
933 //
934 }
935 //cout << endl ;
936 }
937 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
938 for ( int j = 0 ; j < 10 ; j++ ) {
939 if ( readHeader( CHCAL[i][j], sameEndian ) == -1 ) {
940 os << LogIO::WARN << "Error while reading data CHCAL[" << i << "][" << j << "]." << LogIO::POST ;
941 return -1 ;
942 }
943 // DEBUG
944// if ( j == 0 ) {
945// if ( i < 10 )
946// cout << "CHCAL0" << i << " " ;
947// else
948// cout << "CHCAL" << i << " " ;
949// }
950// else if ( ( j % 5 ) == 0 ) {
951// cout << endl << " " ;
952// }
953// cout << CHCAL[i][j] << " " ;
954 //
955 }
956 //cout << endl ;
957 }
958 for ( int i= 0 ; i < ASTE_ARYMAX ; i++) {
959 for ( int j = 0 ; j < 10 ; j++ ) {
960 if ( readHeader( CWCAL[i][j], sameEndian ) == -1 ) {
961 os << LogIO::WARN << "Error while reading data CWCAL[" << i << "][" << j << "]." << LogIO::POST ;
962 return -1 ;
963 }
964 // DEBUG
965// if ( j == 0 ) {
966// if ( i < 10 )
967// cout << "CWCAL0" << i << " " ;
968// else
969// cout << "CWCAL" << i << " " ;
970// }
971// else if ( ( j % 5 ) == 0 ) {
972// cout << endl << " " ;
973// }
974// cout << CWCAL[i][j] << " " ;
975 //
976 }
977 //cout << endl ;
978 }
979 if ( readHeader( SCNLEN, sameEndian ) == -1 ) {
980 os << LogIO::WARN << "Error while reading data SCNLEN." << LogIO::POST ;
981 return -1 ;
982 }
983 // DEBUG
984 //cout << "SCNLEN = " << SCNLEN << endl ;
985 //
986 if ( readHeader( SBIND, sameEndian ) == -1 ) {
987 os << LogIO::WARN << "Error while reading data SBIND." << LogIO::POST ;
988 return -1 ;
989 }
990 // DEBUG
991 //cout << "SBIND = " << SBIND << endl ;
992 //
993 if ( readHeader( IBIT, sameEndian ) == -1 ) {
994 os << LogIO::WARN << "Error while reading data IBIT." << LogIO::POST ;
995 return -1 ;
996 }
997 // DEBUG
998 //cout << "IBIT = " << IBIT << endl ;
999 //
1000 strcpy( c8, str8.c_str() ) ;
1001 if ( readHeader( c8, 8 ) == -1 ) {
1002 os << LogIO::WARN << "Error while reading data SITE." << LogIO::POST ;
1003 return -1 ;
1004 }
1005 SITE = string( c8 ) ;
1006 // DEBUG
1007 //cout << "SITE = " << SITE << endl ;
1008 //
1009 strcpy( c120, str120.c_str() ) ;
1010 if ( readHeader( c120, 116 ) == -1 ) {
1011 os << LogIO::WARN << "Error while reading data CDMY1." << LogIO::POST ;
1012 return -1 ;
1013 }
1014 c120[116] = '\0' ;
1015 CDMY1 = string( c120 ) ;
1016 // DEBUG
1017 //cout << "CDMY1 = " << CDMY1 << endl ;
1018 //
1019 for ( int i = 0 ; i < ASTE_ARYMAX ; i++ ) {
1020 if ( readHeader( DSBFC[i], sameEndian ) == -1 ) {
1021 os << LogIO::WARN << "Error while reading data DSBFC[" << i << "]." << LogIO::POST ;
1022 return -1 ;
1023 }
1024 // DEBUG
1025// if ( i == 0 ) {
1026// cout << "DSBFC " ;
1027// }
1028// else if ( ( i % 5 ) == 0 ) {
1029// cout << endl << " " ;
1030// }
1031// cout << DSBFC[i] << " " ;
1032 //
1033 }
1034 //cout << endl ;
1035
1036 scanNum_ = NSCAN + 1 ; // includes ZERO scan
1037 rowNum_ = scanNum_ * ARYNM ;
1038 scanLen_ = SCNLEN ;
1039 dataLen_ = scanLen_ - SCAN_HEADER_SIZE ;
1040 chmax_ = (int) ( dataLen_ * 8 / IBIT ) ;
1041 record_->LDATA = new char[dataLen_] ;
1042
1043 show() ;
1044
1045 return 0 ;
1046}
Note: See TracBrowser for help on using the repository browser.