Ignore:
Timestamp:
03/07/13 18:45:58 (11 years ago)
Author:
Takeshi Nakazato
Message:

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:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/external-alma/atnf/PKSIO/ASTEFXDataset.cc

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