source: trunk/external-alma/atnf/PKSIO/NROOTFDataset.cc @ 2782

Last change on this file since 2782 was 2782, checked in by Takeshi Nakazato, 11 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes

Interface Changes: No

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...

Refactoring NRO filler.


File size: 22.2 KB
Line 
1//#---------------------------------------------------------------------------
2//# NROOTFDataset.cc: Class for NRO 45m OTF 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: 2009/02/27, Takeshi Nakazato, NAOJ
31//#---------------------------------------------------------------------------
32
33#include <atnf/PKSIO/NROOTFDataset.h>
34
35#include <iostream>
36#include <cstring>
37
38using namespace std ;
39
40// constructor
41NROOTFDataset::NROOTFDataset( string name )
42  : NRODataset( name )
43{}
44
45// destructor
46NROOTFDataset::~NROOTFDataset()
47{}
48
49// data initialization
50void NROOTFDataset::initialize()
51{
52  int arymax = arrayMax() ;
53
54  // it must be called
55  NRODataset::initialize() ;
56 
57  // additional initialization
58  datasize_ += sizeof( char ) * arymax * 16 // RX
59    + sizeof( double ) * arymax * 6         // HPBW, EFFA, EFFB, EFFL, EFSS GAIN
60    + sizeof( char ) * arymax * 4           // HORN
61    + sizeof( char ) * arymax * 4           // POLTP
62    + sizeof( double ) * arymax * 3         // POLDR, POLAN, DFRQ
63    + sizeof( char ) * arymax * 4           // SIDBID
64    + sizeof( int ) * arymax * 3            // REFN, IPINT, MULTN
65    + sizeof( double ) * arymax             // MLTSCF
66    + sizeof( char ) * arymax * 8           // LAGWIND
67    + sizeof( double ) * arymax * 3         // BEBW, BERES, CHWID
68    + sizeof( int ) * arymax * 2            // ARRY, NFCAL
69    + sizeof( double ) * arymax             // F0CAL
70    + sizeof( double ) * arymax * 10 * 3    // FQCAL, CHCAL, CWCAL
71    + sizeof( char ) * 180 ;                    // CDMY1
72
73  for ( int i = 0 ; i < NRO_ARYMAX ; i++ ) {
74    DSBFC[i] = 1.0 ;
75  }
76}
77
78int NROOTFDataset::fillHeader( int sameEndian )
79{
80  LogIO os( LogOrigin( "NROOTFDataset", "fillHeader()", WHERE ) ) ;
81
82  int arymax = arrayMax() ;
83
84  string str4( 4, ' ' ) ;
85  string str8( 8, ' ' ) ;
86  string str16( 16, ' ' ) ;
87  string str18( 18, ' ' ) ;
88  string str24( 24, ' ' ) ;
89  string str40( 40, ' ' ) ;
90  string str120( 120, ' ' ) ;
91  string str256( 256, ' ' ) ;
92  char c4[4] ;
93  char c8[8] ;
94  char c16[16] ;
95  char c18[18] ;
96  char c24[24] ;
97  char c40[40] ;
98  char c120[120] ;
99  char c256[256] ;
100  // make sure file pointer points a beginning of the file
101  fseek( fp_, 0, SEEK_SET ) ;
102
103  // read data header
104  strcpy( c8, str8.c_str() ) ;
105  if ( readHeader( c8, 8 ) == -1 ) {
106    os << LogIO::WARN << "Error while reading data LOFIL." << LogIO::POST ;
107    return -1 ;
108  }
109  LOFIL = string( c8 ) ;
110  // DEBUG
111  //cout << "LOFIL = " << LOFIL << endl ;
112  //
113  strcpy( c8, str8.c_str() ) ;
114  if ( readHeader( c8, 8 ) == -1 ) {
115    os << LogIO::WARN << "Error while reading data VER." << LogIO::POST ;
116    return -1 ;
117  }
118  VER = string( c8 ) ;
119  // DEBUG
120  //cout << "VER = " << VER << endl ;
121  //
122  strcpy( c16, str16.c_str() ) ;
123  if ( readHeader( c16, 16 ) == -1 ) {
124    os << LogIO::WARN << "Error while reading data GROUP." << LogIO::POST ;
125    return -1 ;
126  }
127  GROUP = string( c16 ) ;
128  // DEBUG
129  //cout << "GROUP = " << GROUP << endl ;
130  //
131  strcpy( c16, str16.c_str() ) ;
132  if ( readHeader( c16, 16 ) == -1 ) {
133    os << LogIO::WARN << "Error while reading data PROJ." << LogIO::POST ;
134    return -1 ;
135  }
136  PROJ = string( c16 ) ;
137  // DEBUG
138  //cout << "PROJ = " << PROJ << endl ;
139  //
140  strcpy( c24, str24.c_str() ) ;
141  if ( readHeader( c24, 24 ) == -1 ) {
142    os << LogIO::WARN << "Error while reading data SCHED." << LogIO::POST ;
143    return -1 ;
144  }
145  SCHED = string( c24 ) ;
146  // DEBUG
147  //cout << "SCHED = " << SCHED << endl ;
148  //
149  strcpy( c40, str40.c_str() ) ;
150  if ( readHeader( c40, 40 ) == -1 ) {
151    os << LogIO::WARN << "Error while reading data OBSVR." << LogIO::POST ;
152    return -1 ;
153  } 
154  OBSVR = string( c40 ) ;
155  // DEBUG
156  //cout << "OBSVR = " << OBSVR << endl ;
157  //
158  strcpy( c16, str16.c_str() ) ;
159  if ( readHeader( c16, 16 ) == -1 ) {
160    os << LogIO::WARN << "Error while reading data LOSTM." << LogIO::POST ;
161    return -1 ;
162  }
163  LOSTM = string( c16 ) ;
164  // DEBUG
165  //cout << "LOSTM = " << LOSTM << endl ;
166  //
167  strcpy( c16, str16.c_str() ) ;
168  if ( readHeader( c16, 16 ) == -1 ) {
169    os << LogIO::WARN << "Error while reading data LOETM." << LogIO::POST ;
170    return -1 ;
171  }
172  LOETM = string( c16 ) ;
173  // DEBUG
174  //cout << "LOETM = " << LOETM << endl ;
175  //
176  if ( readHeader( ARYNM, sameEndian ) == -1 ) {
177    os << LogIO::WARN << "Error while reading data ARYNM." << LogIO::POST ;
178    return -1 ;
179  }
180  // DEBUG
181  //cout << "ARYNM = " << ARYNM << endl ;
182  //
183  if ( readHeader( NSCAN, sameEndian ) == -1 ) {
184    os << LogIO::WARN << "Error while reading data NSCAN." << LogIO::POST ;
185    return -1 ;
186  }
187  // DEBUG
188  //cout << "NSCAN = " << NSCAN << endl ;
189  //
190  strcpy( c120, str120.c_str() ) ;
191  if ( readHeader( c120, 120 ) == -1 ) {
192    os << LogIO::WARN << "Error while reading data TITLE." << LogIO::POST ;
193    return -1 ;
194  }
195  TITLE = string( c120 ) ;
196  // DEBUG
197  //cout << "TITLE = " << TITLE << endl ;
198  //
199  strcpy( c16, str16.c_str() ) ;
200  if ( readHeader( c16, 16 ) == -1 ) {
201    os << LogIO::WARN << "Error while reading data OBJ." << LogIO::POST ;
202    return -1 ;
203  }
204  OBJ = string( c16 ) ;
205  // DEBUG
206  //cout << "OBJ = " << OBJ << endl ;
207  //
208  strcpy( c8, str8.c_str() ) ;
209  if ( readHeader( c8, 8 ) == -1 ) {
210    os << LogIO::WARN << "Error while reading data EPOCH." << LogIO::POST ;
211    return -1 ;
212  }
213  EPOCH = string( c8 ) ;
214  // DEBUG
215  //cout << "EPOCH = " << EPOCH << endl ;
216  //
217  if ( readHeader( RA0, sameEndian ) == -1 ) {
218    os << LogIO::WARN << "Error while reading data RA0." << LogIO::POST ;
219    return -1 ;
220  }
221  // DEBUG
222  //cout << "RA0 = " << RA0 << endl ;
223  //
224  if ( readHeader( DEC0, sameEndian ) == -1 ) {
225    os << LogIO::WARN << "Error while reading data DEC0." << LogIO::POST ;
226    return -1 ;
227  }
228  // DEBUG
229  //cout << "DEC0 = " << DEC0 << endl ;
230  //
231  if ( readHeader( GLNG0, sameEndian ) == -1 ) {
232    os << LogIO::WARN << "Error while reading data GLNG0." << LogIO::POST ;
233    return -1 ;
234  }
235  // DEBUG
236  //cout << "GLNG0 = " << GLNG0 << endl ;
237  //
238  if ( readHeader( GLAT0, sameEndian ) == -1 ) {
239    os << LogIO::WARN << "Error while reading data GLAT0." << LogIO::POST ;
240    return -1 ;
241  }
242  // DEBUG
243  //cout << "GLAT0 = " << GLAT0 << endl ;
244  //
245  if ( readHeader( NCALB, sameEndian ) == -1 ) {
246    os << LogIO::WARN << "Error while reading data NCALB." << LogIO::POST ;
247    return -1 ;
248  }
249  // DEBUG
250  //cout << "NCALB = " << NCALB << endl ;
251  //
252  if ( readHeader( SCNCD, sameEndian ) == -1 ) {
253    os << LogIO::WARN << "Error while reading data SCNCD." << LogIO::POST ;
254    return -1 ;
255  }
256  // DEBUG
257  //cout << "SCNCD = " << SCNCD << endl ;
258  //
259  strcpy( c120, str120.c_str() ) ;
260  if ( readHeader( c120, 120 ) == -1 ) {
261    os << LogIO::WARN << "Error while reading data SCMOD." << LogIO::POST ;
262    return -1 ;
263  }
264  SCMOD = string( c120 ) ;
265  // DEBUG
266  //cout << "SCMOD = " << SCMOD << endl ;
267  //
268  if ( readHeader( URVEL, sameEndian ) == -1 ) {
269    os << LogIO::WARN << "Error while reading data URVEL." << LogIO::POST ;
270    return -1 ;
271  }
272  // DEBUG
273  //cout << "URVEL = " << URVEL << endl ;
274  //
275  strcpy( c4, str4.c_str() ) ;
276  if ( readHeader( c4, 4 ) == -1 ) {
277    os << LogIO::WARN << "Error while reading data VREF." << LogIO::POST ;
278    return -1 ;
279  }
280  VREF = string( c4 ) ;
281  // DEBUG
282  //cout << "VREF = " << VREF << endl ;
283  //
284  strcpy( c4, str4.c_str() ) ;
285  if ( readHeader( c4, 4 ) == -1 ) {
286    os << LogIO::WARN << "Error while reading data VDEF." << LogIO::POST ;
287    return -1 ;
288  }
289  VDEF = string( c4 ) ;
290  // DEBUG
291  //cout << "VDEF = " << VDEF << endl ;
292  //
293  strcpy( c8, str8.c_str() ) ;
294  if ( readHeader( c8, 8 ) == -1 ) {
295    os << LogIO::WARN << "Error while reading data SWMOD." << LogIO::POST ;
296    return -1 ;
297  }
298  SWMOD = string( c8 ) + "::OTF" ;
299  // DEBUG
300  //cout << "SWMOD = " << SWMOD << endl ;
301  //
302  if ( readHeader( FRQSW, sameEndian ) == -1 ) {
303    os << LogIO::WARN << "Error while reading data FRQSW." << LogIO::POST ;
304    return -1 ;
305  }
306  // DEBUG
307  //cout << "FRQSW = " << FRQSW << endl ;
308  //
309  if ( readHeader( DBEAM, sameEndian ) == -1 ) {
310    os << LogIO::WARN << "Error while reading data DBEAM." << LogIO::POST ;
311    return -1 ;
312  }
313  // DEBUG
314  //cout << "DBEAM = " << DBEAM << endl ;
315  //
316  if ( readHeader( MLTOF, sameEndian ) == -1 ) {
317    os << LogIO::WARN << "Error while reading data MLTOF." << LogIO::POST ;
318    return -1 ;
319  }
320  // DEBUG
321  //cout << "MLTOF = " << MLTOF << endl ;
322  //
323  if ( readHeader( CMTQ, sameEndian ) == -1 ) {
324    os << LogIO::WARN << "Error while reading data CMTQ." << LogIO::POST ;
325    return -1 ;
326  }
327  // DEBUG
328  //cout << "CMTQ = " << CMTQ << endl ;
329  //
330  if ( readHeader( CMTE, sameEndian ) == -1 ) {
331    os << LogIO::WARN << "Error while reading data CMTE." << LogIO::POST ;
332    return -1 ;
333  }
334  // DEBUG
335  //cout << "CMTE = " << CMTE << endl ;
336  //
337  if ( readHeader( CMTSOM, sameEndian ) == -1 ) {
338    os << LogIO::WARN << "Error while reading data CMTSOM." << LogIO::POST ;
339    return -1 ;
340  }
341  // DEBUG
342  //cout << "CMTSOM = " << CMTSOM << endl ;
343  //
344  if ( readHeader( CMTNODE, sameEndian ) == -1 ) {
345    os << LogIO::WARN << "Error while reading data CMTNODE." << LogIO::POST ;
346    return -1 ;
347  }
348  // DEBUG
349  //cout << "CMTNODE = " << CMTNODE << endl ;
350  //
351  if ( readHeader( CMTI, sameEndian ) == -1 ) {
352    os << LogIO::WARN << "Error while reading data CMTI." << LogIO::POST ;
353    return -1 ;
354  }
355  // DEBUG
356  //cout << "CMTI = " << CMTI << endl ;
357  //
358  strcpy( c24, str24.c_str() ) ;
359  if ( readHeader( c24, 24 ) == -1 ) {
360    os << LogIO::WARN << "Error while reading data CMTTM." << LogIO::POST ;
361    return -1 ;
362  }
363  CMTTM = string( c24 ) ;
364  // DEBUG
365  //cout << "CMTTM = " << CMTTM << endl ;
366  //
367  if ( readHeader( SBDX, sameEndian ) == -1 ) {
368    os << LogIO::WARN << "Error while reading data SBDX." << LogIO::POST ;
369    return -1 ;
370  }
371  // DEBUG
372  //cout << "SBDX = " << SBDX << endl ;
373  //
374  if ( readHeader( SBDY, sameEndian ) == -1 ) {
375    os << LogIO::WARN << "Error while reading data SBDY." << LogIO::POST ;
376    return -1 ;
377  }
378  // DEBUG
379  //cout << "SBDY = " << SBDY << endl ;
380  //
381  if ( readHeader( SBDZ1, sameEndian ) == -1 ) {
382    os << LogIO::WARN << "Error while reading data SBDZ1." << LogIO::POST ;
383    return -1 ;
384  }
385  // DEBUG
386  //cout << "SBDZ1 = " << SBDZ1 << endl ;
387  //
388  if ( readHeader( SBDZ2, sameEndian ) == -1 ) {
389    os << LogIO::WARN << "Error while reading data SBDZ2." << LogIO::POST ;
390    return -1 ;
391  }
392  // DEBUG
393  //cout << "SBDZ2 = " << SBDZ2 << endl ;
394  //
395  if ( readHeader( DAZP, sameEndian ) == -1 ) {
396    os << LogIO::WARN << "Error while reading data DAZP." << LogIO::POST ;
397    return -1 ;
398  }
399  // DEBUG
400  //cout << "DAZP = " << DAZP << endl ;
401  //
402  if ( readHeader( DELP, sameEndian ) == -1 ) {
403    os << LogIO::WARN << "Error while reading data DELP." << LogIO::POST ;
404    return -1 ;
405  }
406  // DEBUG
407  //cout << "DELP = " << DELP << endl ;
408  //
409  if ( readHeader( CHBIND, sameEndian ) == -1 ) {
410    os << LogIO::WARN << "Error while reading data CHBIND." << LogIO::POST ;
411    return -1 ;
412  }
413  // DEBUG
414  //cout << "CHBIND = " << CHBIND << endl ;
415  //
416  if ( readHeader( NUMCH, sameEndian ) == -1 ) {
417    os << LogIO::WARN << "Error while reading data NUMCH." << LogIO::POST ;
418    return -1 ;
419  }
420  // DEBUG
421  //cout << "NUMCH = " << NUMCH << endl ;
422  //
423  if ( readHeader( CHMIN, sameEndian ) == -1 ) {
424    os << LogIO::WARN << "Error while reading data CHMIN." << LogIO::POST ;
425    return -1 ;
426  }
427  // DEBUG
428  //cout << "CHMIN = " << CHMIN << endl ;
429  //
430  if ( readHeader( CHMAX, sameEndian ) == -1 ) {
431    os << LogIO::WARN << "Error while reading data CHMAX." << LogIO::POST ;
432    return -1 ;
433  }
434  // DEBUG
435  //cout << "CHMAX = " << CHMAX << endl ;
436  //
437  if ( readHeader( ALCTM, sameEndian ) == -1 ) {
438    os << LogIO::WARN << "Error while reading data ALCTM." << LogIO::POST ;
439    return -1 ;
440  }
441  // DEBUG
442  //cout << "ALCTM = " << ALCTM << endl ;
443  //
444  if ( readHeader( IPTIM, sameEndian ) == -1 ) {
445    os << LogIO::WARN << "Error while reading data IPTIM." << LogIO::POST ;
446    return -1 ;
447  }
448  // DEBUG
449  //cout << "IPTIM = " << IPTIM << endl ;
450  //
451  if ( readHeader( PA, sameEndian ) == -1 ) {
452    os << LogIO::WARN << "Error while reading data PA." << LogIO::POST ;
453    return -1 ;
454  }
455  // DEBUG
456  //cout << "PA = " << PA << endl ;
457  //
458  for ( int i = 0 ; i < arymax ; i++ ) {
459    strcpy( c18, str18.c_str() ) ;
460    if ( readHeader( c18, 16 ) == -1 ) {
461      os << LogIO::WARN << "Error while reading data RX[" << i << "]." << LogIO::POST ;
462      return -1 ;
463    }
464    c18[16] = '\0' ;
465    RX[i] = string( c18 ) ;
466  }
467  // DEBUG
468//   nro_debug_output( "RX", arymax, RX ) ;
469  //
470  for ( int i = 0 ; i < arymax ; i++ ) {
471    if ( readHeader( HPBW[i], sameEndian ) == -1 ) {
472      os << LogIO::WARN << "Error while reading data HPBW[" << i << "]." << LogIO::POST ;
473      return -1 ;
474    }
475  }
476  // DEBUG
477//   nro_debug_output( "HPBW", arymax, HPBW ) ;
478  //
479  for ( int i = 0 ; i < arymax ; i++ ) {
480    if ( readHeader( EFFA[i], sameEndian ) == -1 ) {
481      os << LogIO::WARN << "Error while reading data EFFA[" << i << "]." << LogIO::POST ;
482      return -1 ;
483    }
484  }
485  // DEBUG
486//   nro_debug_output( "EFFA", arymax, EFFA ) ;
487  //
488  for ( int i = 0 ; i < arymax ; i++ ) {
489    if ( readHeader( EFFB[i], sameEndian ) == -1 ) {
490      os << LogIO::WARN << "Error while reading data EFFB[" << i << "]." << LogIO::POST ;
491      return -1 ;
492    }
493  }
494  // DEBUG
495//   nro_debug_output( "EFFB", arymax, EFFB ) ;
496  //
497  for ( int i = 0 ; i < arymax ; i++ ) {
498    if ( readHeader( EFFL[i], sameEndian ) == -1 ) {
499      os << LogIO::WARN << "Error while reading data EFFL[" << i << "]." << LogIO::POST ;
500      return -1 ;
501    }
502  }
503  // DEBUG
504//   nro_debug_output( "EFFL", arymax, EFFL ) ;
505  //
506  for ( int i = 0 ; i < arymax ; i++ ) {
507    if ( readHeader( EFSS[i], sameEndian ) == -1 ) {
508      os << LogIO::WARN << "Error while reading data EFSS[" << i << "]." << LogIO::POST ;
509      return -1 ;
510    }
511  }
512  // DEBUG
513//   nro_debug_output( "EFSS", arymax, EFSS ) ;
514  //
515  for ( int i = 0 ; i < arymax ; i++) {
516    if ( readHeader( GAIN[i], sameEndian ) == -1 ) {
517      os << LogIO::WARN << "Error while reading data GAIN[" << i << "]." << LogIO::POST ;
518      return -1 ;
519    }
520  }
521  // DEBUG
522//   nro_debug_output( "GAIN", arymax, GAIN ) ;
523  //
524  for ( int i = 0 ; i < arymax ; i++) {
525    strcpy( c4, str4.c_str() ) ;
526    if ( readHeader( c4, 4 ) == -1 ) {
527      os << LogIO::WARN << "Error while reading data HORN[" << i << "]." << LogIO::POST ;
528      return -1 ;
529    }
530    HORN[i] = string( c4 ) ;
531  }
532  // DEBUG
533//   nro_debug_output( "HORN", arymax, HORN ) ;
534  //
535  for ( int i = 0 ; i < arymax ; i++) {
536    strcpy( c4, str4.c_str() ) ;
537    if ( readHeader( c4, 4 ) == -1 ) {
538      os << LogIO::WARN << "Error while reading data POLTP[" << i << "]." << LogIO::POST ;
539      return -1 ;
540    }
541    POLTP[i] = string( c4 ) ;
542  }
543  // DEBUG
544//   nro_debug_output( "POLTP", arymax, POLTP ) ;
545  //
546  for ( int i = 0 ; i < arymax ; i++) {
547    if ( readHeader( POLDR[i], sameEndian ) == -1 ) {
548      os << LogIO::WARN << "Error while reading data POLDR[" << i << "]." << LogIO::POST ;
549      return -1 ;
550    }
551  }
552  // DEBUG
553//   nro_debug_output( "POLDR", arymax, POLDR ) ;
554  //
555  for ( int i = 0 ; i < arymax ; i++) {
556    if ( readHeader( POLAN[i], sameEndian ) == -1 ) {
557      os << LogIO::WARN << "Error while reading data POLAN[" << i << "]." << LogIO::POST ;
558      return -1 ;
559    }
560  }
561  // DEBUG
562//   nro_debug_output( "POLAN", arymax, POLAN ) ;
563  //
564  for ( int i = 0 ; i < arymax ; i++) {
565    if ( readHeader( DFRQ[i], sameEndian ) == -1 ) {
566      os << LogIO::WARN << "Error while reading data DFRQ[" << i << "]." << LogIO::POST ;
567      return -1 ;
568    }
569  }
570  // DEBUG
571//   nro_debug_output( "DFRQ", arymax, DFRQ ) ;
572  //
573  for ( int i = 0 ; i < arymax ; i++) {
574    strcpy( c4, str4.c_str() ) ;
575    if ( readHeader( c4, 4 ) == -1 ) {
576      os << LogIO::WARN << "Error while reading data SIDBD[" << i << "]." << LogIO::POST ;
577      return -1 ;
578    }
579    SIDBD[i] = string( c4 ) ;
580  }
581  // DEBUG
582//   nro_debug_output( "SIDBD", arymax, SIDBD ) ;
583  //
584  for ( int i = 0 ; i < arymax ; i++) {
585    if ( readHeader( REFN[i], sameEndian ) == -1 ) {
586      os << LogIO::WARN << "Error while reading data REFN[" << i << "]." << LogIO::POST ;
587      return -1 ;
588    }
589  }
590  // DEBUG
591//   nro_debug_output( "REFN", arymax, REFN ) ;
592  //
593  for ( int i = 0 ; i < arymax ; i++) {
594    if ( readHeader( IPINT[i], sameEndian ) == -1 ) {
595      os << LogIO::WARN << "Error while reading data IPINT[" << i << "]." << LogIO::POST ;
596      return -1 ;
597    }
598  }
599  // DEBUG
600//   nro_debug_output( "IPINT", arymax, IPINT ) ;
601  //
602  for ( int i = 0 ; i < arymax ; i++) {
603    if ( readHeader( MULTN[i], sameEndian ) == -1 ) {
604      os << LogIO::WARN << "Error while reading data MULTN[" << i << "]." << LogIO::POST ;
605      return -1 ;
606    }
607  }
608  // DEBUG
609//   nro_debug_output( "MULTN", arymax, MULTN ) ;
610  //
611  for ( int i = 0 ; i < arymax ; i++) {
612    if ( readHeader( MLTSCF[i], sameEndian ) == -1 ) {
613      os << LogIO::WARN << "Error while reading data MLTSCF[" << i << "]." << LogIO::POST ;
614      return -1 ;
615    }
616  }
617  // DEBUG
618//   nro_debug_output( "MLTSCF", arymax, MLTSCF ) ;
619  //
620  for ( int i = 0 ; i < arymax ; i++) {
621    strcpy( c8, str8.c_str() ) ;
622    if ( readHeader( c8, 8 ) == -1 ) {
623      os << LogIO::WARN << "Error while reading data LAGWIND[" << i << "]." << LogIO::POST ;
624      return -1 ;
625    }
626    LAGWIND[i] = string( c8 ) ;
627  }
628  // DEBUG
629//   nro_debug_output( "LAGWIND", arymax, LAGWIND ) ;
630  //
631  for ( int i = 0 ; i < arymax ; i++) {
632    if ( readHeader( BEBW[i], sameEndian ) == -1 ) {
633      os << LogIO::WARN << "Error while reading data BEBW[" << i << "]." << LogIO::POST ;
634      return -1 ;
635    }
636  }
637  // DEBUG
638//   nro_debug_output( "BEBW", arymax, BEBW ) ;
639  //
640  for ( int i = 0 ; i < arymax ; i++) {
641    if ( readHeader( BERES[i], sameEndian ) == -1 ) {
642      os << LogIO::WARN << "Error while reading data BERES[" << i << "]." << LogIO::POST ;
643      return -1 ;
644    }
645  }
646  // DEBUG
647//   nro_debug_output( "BERES", arymax, BERES ) ;
648  //
649  for ( int i = 0 ; i < arymax ; i++) {
650    if ( readHeader( CHWID[i], sameEndian ) == -1 ) {
651      os << LogIO::WARN << "Error while reading data CHWID[" << i << "]." << LogIO::POST ;
652      return -1 ;
653    }
654  }
655  // DEBUG
656//   nro_debug_output( "CHWID", arymax, CHWID ) ;
657  //
658  for ( int i = 0 ; i < arymax ; i++) {
659    if ( readHeader( ARRY[i], sameEndian ) == -1 ) {
660      os << LogIO::WARN << "Error while reading data ARRY[" << i << "]." << LogIO::POST ;
661      return -1 ;
662    }
663  }
664  // DEBUG
665//   nro_debug_output( "ARRY", arymax, ARRY ) ;
666  //
667  for ( int i = 0 ; i < arymax ; i++) {
668    if ( readHeader( NFCAL[i], sameEndian ) == -1 ) {
669      os << LogIO::WARN << "Error while reading data NFCAL[" << i << "]." << LogIO::POST ;
670      return -1 ;
671    }
672  }
673  // DEBUG
674//   nro_debug_output( "NFCAL", arymax, NFCAL ) ;
675  //
676  for ( int i = 0 ; i < arymax ; i++) {
677    if ( readHeader( F0CAL[i], sameEndian ) == -1 ) {
678      os << LogIO::WARN << "Error while reading data F0CAL[" << i << "]." << LogIO::POST ;
679      return -1 ;
680    }
681  }
682  // DEBUG
683//   nro_debug_output( "F0CAL", arymax, F0CAL ) ;
684  //
685  for ( int i = 0 ; i < arymax ; i++) {
686    for ( int j = 0 ; j < 10 ; j++ ) {
687      if ( readHeader( FQCAL[i][j], sameEndian ) == -1 ) {
688        os << LogIO::WARN << "Error while reading data FQCAL[" << i << "][" << j << "]." << LogIO::POST ;
689        return -1 ;
690      }
691    }
692  }
693  // DEBUG
694//   nro_debug_output( "FQCAL", arymax, 10, FQCAL ) ;
695  // 
696  for ( int i = 0 ; i < arymax ; i++) {
697    for ( int j = 0 ; j < 10 ; j++ ) {
698      if ( readHeader( CHCAL[i][j], sameEndian ) == -1 ) {
699        os << LogIO::WARN << "Error while reading data CHCAL[" << i << "][" << j << "]." << LogIO::POST ;
700        return -1 ;
701      }
702    }
703  }
704  // DEBUG
705//   nro_debug_output( "CHCAL", arymax, 10, CHCAL ) ;
706  // 
707  for ( int i = 0 ; i < arymax ; i++) {
708    for ( int j = 0 ; j < 10 ; j++ ) {
709      if ( readHeader( CWCAL[i][j], sameEndian ) == -1 ) {
710        os << LogIO::WARN << "Error while reading data CWCAL[" << i << "][" << j << "]." << LogIO::POST ;
711        return -1 ;
712      }
713    }
714  }
715  // DEBUG
716//   nro_debug_output( "CWCAL", arymax, 10, CWCAL ) ;
717  // 
718  if ( readHeader( SCNLEN, sameEndian ) == -1 ) {
719    os << LogIO::WARN << "Error while reading data SCNLEN." << LogIO::POST ;
720    return -1 ;
721  }
722  // DEBUG
723  //cout << "SCNLEN = " << SCNLEN << endl ;
724  //
725  if ( readHeader( SBIND, sameEndian ) == -1 ) {
726    os << LogIO::WARN << "Error while reading data SBIND." << LogIO::POST ;
727    return -1 ;
728  }
729  // DEBUG
730  //cout << "SBIND = " << SBIND << endl ;
731  //
732  if ( readHeader( IBIT, sameEndian ) == -1 ) {
733    os << LogIO::WARN << "Error while reading data IBIT." << LogIO::POST ;
734    return -1 ;
735  }
736  // DEBUG
737  //cout << "IBIT = " << IBIT << endl ;
738  //
739  strcpy( c8, str8.c_str() ) ;
740  if ( readHeader( c8, 8 ) == -1 ) {
741    os << LogIO::WARN << "Error while reading data SITE." << LogIO::POST ;
742    return -1 ;
743  }
744  SITE = string( c8 ) ;
745  // DEBUG
746  //cout << "SITE = " << SITE << endl ;
747  //
748  strcpy( c256, str256.c_str() ) ;
749  if ( readHeader( c256, 180 ) == -1 ) {
750    os << LogIO::WARN << "Error while reading data CDMY1." << LogIO::POST ;
751    return -1 ;
752  }
753  c256[180] = '\0' ;
754  CDMY1 = string( c256 ) ;
755  // DEBUG
756  //cout << "CDMY1 = " << CDMY1 << endl ;
757  //
758
759  return 0 ;
760}
761
Note: See TracBrowser for help on using the repository browser.