Ignore:
Timestamp:
07/29/10 19:13:46 (14 years ago)
Author:
Kana Sugimoto
Message:

New Development: Yes

JIRA Issue: No (test merging alma branch)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s):

Description:


Location:
branches/mergetest
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/mergetest

  • branches/mergetest/external/atnf/PKSIO/PKSSDwriter.cc

    r1735 r1779  
    3535#include <atnf/PKSIO/PKSSDwriter.h>
    3636
     37#include <casa/Logging/LogIO.h>
     38
    3739#include <casa/stdio.h>
    3840#include <casa/Quanta/MVTime.h>
     
    4143#include <cstring>
    4244
     45// Class name
     46const string className = "PKSSDwriter" ;
     47
    4348//--------------------------------------------------- PKSSDwriter::PKSSDwriter
    4449
     
    4752PKSSDwriter::PKSSDwriter()
    4853{
    49   // By default, messages are written to stderr.
    50   initMsg();
    5154}
    5255
     
    5861{
    5962  close();
    60 }
    61 
    62 //-------------------------------------------------------- PKSSDwriter::setMsg
    63 
    64 // Set message disposition.  If fd is non-zero messages will be written
    65 // to that file descriptor, else stored for retrieval by getMsg().
    66 
    67 Int PKSSDwriter::setMsg(FILE *fd)
    68 {
    69   PKSmsg::setMsg(fd);
    70   cSDwriter.setMsg(fd);
    71 
    72   return 0;
    7363}
    7464
     
    9282        const Bool   haveBase)
    9383{
    94   // Clear the message stack.
    95   clearMsg();
     84  const string methodName = "create()" ;
     85  LogIO os( LogOrigin( className, methodName, WHERE ) ) ;
    9686
    9787  double antPos[3];
     
    10292  cNIF = nChan.nelements();
    10393  if (nPol.nelements() != cNIF || haveXPol.nelements() != cNIF) {
    104     cerr << "PKSSDwriter::create: "
    105          << "Inconsistent number of IFs for nChan, nPol, and/or haveXPol."
    106          << endl;
     94    os << LogIO::SEVERE << "Inconsistent number of IFs for nChan, nPol, and/or haveXPol." << LogIO::POST ;
    10795    return 1;
    10896  }
     
    131119        (int *)cNPol.getStorage(deleteIt),
    132120        (int *)cHaveXPol.getStorage(deleteIt), (int)cHaveBase, 1);
    133   logMsg(cSDwriter.getMsg());
    134   cSDwriter.clearMsg();
     121  //logMsg(cSDwriter.getMsg());
     122  //cSDwriter.clearMsg();
    135123  if (status) {
    136124    cSDwriter.deleteFile();
     
    148136        const PKSrecord &pksrec)
    149137{
     138  const string methodName = "write()" ;
     139  LogIO os( LogOrigin( className, methodName, WHERE ) ) ;
     140
    150141  // Do basic checks.
    151142  Int IFno = pksrec.IFno;
    152143  uInt iIF = IFno - 1;
    153144  if (IFno < 1 || Int(cNIF) < IFno) {
    154     cerr << "PKSDwriter::write: "
    155          << "Invalid IF number " << IFno
    156          << " (maximum " << cNIF << ")." << endl;
     145    os << LogIO::SEVERE
     146       << "Invalid IF number " << IFno
     147       << " (maximum " << cNIF << ")." << LogIO::POST ;
    157148    return 1;
    158149  }
     
    160151  uInt nChan = pksrec.spectra.nrow();
    161152  if (nChan != cNChan(iIF)) {
    162     cerr << "PKSDwriter::write: "
    163          << "Wrong number of channels for IF " << IFno << "," << endl
    164          << "                   "
     153    os << LogIO::SEVERE << "Wrong number of channels for IF " << IFno << "," << endl
    165154         << "got " << nChan << " should be " << cNChan(iIF) << "." << endl;
     155    os << LogIO::POST ;
    166156    return 1;
    167157  }
     
    169159  uInt nPol = pksrec.spectra.ncolumn();
    170160  if (nPol != cNPol(iIF)) {
    171     cerr << "PKSDwriter::write: "
    172          << "Wrong number of polarizations for IF " << IFno << "," << endl
    173          << "                   "
    174          << "got " << nPol << " should be " << cNPol(iIF) << "." << endl;
     161    os << LogIO::SEVERE << "Wrong number of polarizations for IF " << IFno << "," << endl
     162       << "got " << nPol << " should be " << cNPol(iIF) << "." << endl;
     163    os << LogIO::POST ;
    175164    return 1;
    176165  }
    177166
    178   // Extract calendar information from mjd.
     167  // Extract calendar information frrom mjd.
    179168  MVTime time(pksrec.mjd);
    180169  Int year  = time.year();
     
    196185  mbrec.srcRA    = pksrec.srcDir(0);
    197186  mbrec.srcDec   = pksrec.srcDir(1);
    198 
    199   mbrec.restFreq = pksrec.restFreq;
    200 
     187  if (pksrec.restFreq.shape()==0) {
     188     mbrec.restFreq = 0;
     189  }
     190  else {
     191     mbrec.restFreq = pksrec.restFreq(0);
     192  }
    201193  strncpy(mbrec.obsType, (char *)pksrec.obsType.chars(), 16);
    202194
     
    291283
    292284  Int status = cSDwriter.write(mbrec);
    293   logMsg(cSDwriter.getMsg());
    294   cSDwriter.clearMsg();
     285  //logMsg(cSDwriter.getMsg());
     286  //cSDwriter.clearMsg();
    295287  if (status) {
    296288    status = 1;
     
    325317{
    326318  cSDwriter.close();
    327   logMsg(cSDwriter.getMsg());
    328   cSDwriter.clearMsg();
    329 }
     319  //logMsg(cSDwriter.getMsg());
     320  //cSDwriter.clearMsg();
     321}
Note: See TracChangeset for help on using the changeset viewer.