Ignore:
Timestamp:
07/30/10 17:49:03 (14 years ago)
Author:
Takeshi Nakazato
Message:
  1. Bug fixes on NROFiller.
  1. Makefile is updated to compile NROFiller
  1. Uncommented the line to create NROFiller in FillerWrapper.h


Location:
branches/newfiller/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/newfiller/src/FillerWrapper.h

    r1787 r1792  
    4545      return;
    4646    }
    47 //    filler_ = new NROFiller(stable_);
     47    filler_ = new NROFiller(stable_);
    4848//    if (filler_->open(filename, rec)) {
    4949    if (filler_->open(filename)) {
     
    5151      return;
    5252    }
     53    if ( filler_ )
     54      delete filler_ ;
    5355    filler_ = 0;
    5456    attached_ = false;
  • branches/newfiller/src/Makefile

    r1762 r1792  
    130130             STAtmosphere.o \
    131131             Scantable.o \
     132             FillerBase.o \
     133             NROFiller.o \
    132134             Templates.o
    133135PYOBJECTS := python_Scantable.o \
     
    144146             python_STAtmosphere.o \
    145147             python_STCoordinate.o \
     148             python_Filler.o \
    146149             python_asap.o
    147150
  • branches/newfiller/src/NROFiller.cpp

    r1791 r1792  
    1818//
    1919
    20 #include "NROFillber.h"
     20#include "NROFiller.h"
    2121#include "STHeader.h"
    2222#include <atnf/PKSIO/SrcType.h>
     
    4848
    4949  // get header information
    50   STHeader header() ;
    51   if ( reader_->getHeaderInfo( header.nchan,
    52                                header.npol,
    53                                header.nIF,
    54                                header.nBeam,
    55                                header.observer,
    56                                header.project,
    57                                header.obstype,
    58                                header.antennaname,
    59                                header.antennaposition,
    60                                header.equinox,
    61                                header.freqref,
    62                                header.reffreq,
    63                                header.bandwidth,
    64                                header.utc,
    65                                header.fluxunit,
    66                                header.epoch,
    67                                header.poltype ) ) {
     50  STHeader hdr ;
     51  if ( reader_->getHeaderInfo( hdr.nchan,
     52                               hdr.npol,
     53                               hdr.nif,
     54                               hdr.nbeam,
     55                               hdr.observer,
     56                               hdr.project,
     57                               hdr.obstype,
     58                               hdr.antennaname,
     59                               hdr.antennaposition,
     60                               hdr.equinox,
     61                               hdr.freqref,
     62                               hdr.reffreq,
     63                               hdr.bandwidth,
     64                               hdr.utc,
     65                               hdr.fluxunit,
     66                               hdr.epoch,
     67                               hdr.poltype ) ) {
    6868    status = false ;
    6969    return status ;
     
    7171
    7272  // 2010/07/30 TBD: Do we need to set frame here?
    73   getTable()->frequencies().setFrame( header->freqref, true ) ;
     73  getTable()->frequencies().setFrame( hdr.freqref, true ) ;
    7474  getTable()->frequencies().setFrame( String("LSRK"), false ) ;
    7575
    7676  // set Header
    77   setHeader( header ) ;
     77  setHeader( hdr ) ;
    7878
    7979  return status ;
     
    8484  // for each row
    8585  uInt nRow = reader_->getRowNum() ;
    86   uInt id ;
    8786  vector< vector<double > > freqs ;
    8887  uInt scanno ;
     
    119118  Int rowCount = 0 ;
    120119
    121   STHeader header = table_->getHeader() ;
     120  STHeader header = getTable()->getHeader() ;
    122121  String obsType = header.obstype.substr( 0, 3 ) ;
    123122  for ( Int irow = 0 ; irow < (Int)nRow ; irow++ ) {
    124123    // check scan intent
    125     Int scanType = reader_->getScanType( irow ) ;
     124    String scanType = reader_->getScanType( irow ) ;
    126125    SrcType::type srcType = SrcType::NOTYPE ;
    127126
     
    146145 
    147146    // get scan ifnromation
    148     if ( reader_->getScanInfo( i,
     147    if ( reader_->getScanInfo( irow,
    149148                               scanno,
    150149                               cycleno,
     
    178177                               srcdir,
    179178                               scanrate ) ) {
     179      throw AipsError( "Failed to read scan record" ) ;
    180180      return ;
    181181    }
     182
     183    // set IDs and subtable rows
     184    // FREQUENCIES subtable row
     185    setFrequency( (Double)fqs[0], (Double)fqs[1], (Double)fqs[2] ) ;
     186
     187    // MOLECULES subtable row
     188    setMolecule( restfreq ) ;
     189
     190    // FOCUS subtable row
     191    setFocus( parangle ) ;
     192
     193    // WEATHER subtable row
     194    setWeather( temperature, pressure, humidity, windvel, winddir ) ;
     195
     196    // TCAL subtable row
     197    // use default since NRO input is calibrated data
     198    setTcal() ;
     199   
    182200
    183201    // set row attributes
     
    189207
    190208    // SCANNO, CYCLENO, IFNO, POLNO, and BEAMNO
     209    uInt ifno = getTable()->frequencies().addEntry( (Double)fqs[0], (Double)fqs[1], (Double)fqs[2] ) ;
    191210    setIndex( scanno, cycleno, ifno, polno, beamno ) ;
    192211
     
    212231    setOpacity( opacity ) ;
    213232
    214     // FREQUENCIES subtable row
    215     setFrequency( (Double)fqs[0], (Double)fqs[1], (Double)fqs[2] ) ;
    216 
    217     // MOLECULES subtable row
    218     setMolecule( restfreq ) ;
    219 
    220     // FOCUS subtable row
    221     setFocus( parangle ) ;
    222 
    223     // WEATHER subtable row
    224     setWeather( temperature, pressure, humidity, windvel, windaz ) ;
    225 
    226     // TCAL subtable row
    227     // use default since NRO input is calibrated data
    228     setTcal() ;
    229    
    230233    // finally, commit row
    231234    commitRow() ;
  • branches/newfiller/src/NROFiller.h

    r1791 r1792  
    2727#define ASAPNROFILLER_H
    2828
     29#include "FillerBase.h"
     30
    2931// STL
    3032#include <string>
     
    5254    // pointer to the reader
    5355    NROReader *reader_ ;
    54 }
     56};
    5557
    5658
    57 };
     59}
     60#endif
Note: See TracChangeset for help on using the changeset viewer.