Changeset 1779 for branches/mergetest/external/atnf/PKSIO/SDFITSwriter.cc
- Timestamp:
- 07/29/10 19:13:46 (14 years ago)
- Location:
- branches/mergetest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/mergetest
- Property svn:mergeinfo changed
-
branches/mergetest/external/atnf/PKSIO/SDFITSwriter.cc
r1736 r1779 35 35 36 36 #include <atnf/PKSIO/MBrecord.h> 37 #include <atnf/PKSIO/PKSmsg.h>38 37 #include <atnf/PKSIO/SDFITSwriter.h> 38 39 #include <casa/Logging/LogIO.h> 39 40 40 41 #include <casa/iostream.h> … … 51 52 // Factor to convert radians to degrees. 52 53 const double R2D = 180.0 / PI; 54 55 // Class name 56 const string className = "SDFITSwriter" ; 53 57 54 58 //------------------------------------------------- SDFITSwriter::SDFITSwriter … … 58 62 // Default constructor. 59 63 cSDptr = 0x0; 60 61 // By default, messages are written to stderr.62 initMsg();63 64 } 64 65 … … 91 92 int extraSysCal) 92 93 { 94 const string methodName = "create()" ; 95 93 96 if (cSDptr) { 94 log Msg("ERROR:Output file already open, close it first.");97 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Output file already open, close it first."); 95 98 return 1; 96 99 } 97 98 // Clear the message stack.99 clearMsg();100 100 101 101 // Prepend an '!' to the output name to force it to be overwritten. … … 107 107 cStatus = 0; 108 108 if (fits_create_file(&cSDptr, sdname, &cStatus)) { 109 sprintf(cMsg, " ERROR:Failed to create SDFITS file\n %s", sdName);110 log Msg(cMsg);109 sprintf(cMsg, "Failed to create SDFITS file\n %s", sdName); 110 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, cMsg); 111 111 return cStatus; 112 112 } … … 156 156 // Write required primary header keywords. 157 157 if (fits_write_imghdr(cSDptr, 8, 0, 0, &cStatus)) { 158 log Msg("ERROR:Failed to write required primary header keywords.");158 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed to write required primary header keywords."); 159 159 return cStatus; 160 160 } … … 188 188 189 189 if (cStatus) { 190 log Msg("ERROR:Failed in writing primary header.");190 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed in writing primary header."); 191 191 return cStatus; 192 192 } … … 198 198 if (fits_create_tbl(cSDptr, BINARY_TBL, nrow, ncol, NULL, NULL, NULL, 199 199 "SINGLE DISH", &cStatus)) { 200 log Msg("ERROR:Failed to create a binary table extension.");200 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed to create a binary table extension."); 201 201 return 1; 202 202 } … … 548 548 549 549 if (cStatus) { 550 log Msg("ERROR:Failed in writing binary table header.");550 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed in writing binary table header."); 551 551 } 552 552 … … 560 560 int SDFITSwriter::write(MBrecord &mbrec) 561 561 { 562 const string methodName = "write()" ; 563 LogIO os( LogOrigin( className, methodName, WHERE ) ) ; 564 562 565 char *cptr; 563 566 … … 565 568 int IFno = mbrec.IFno[0]; 566 569 if (IFno < 1 || cNIF < IFno) { 567 cerr << "SDFITSwriter::write: " 568 << "Invalid IF number " << IFno 569 << " (maximum " << cNIF << ")." << endl; 570 os << LogIO::WARN 571 << "SDFITSwriter::write: " 572 << "Invalid IF number " << IFno 573 << " (maximum " << cNIF << ")." << LogIO::POST ; 570 574 return 1; 571 575 } … … 574 578 int nChan = cNChan[iIF]; 575 579 if (mbrec.nChan[0] != nChan) { 576 cerr << "SDFITSriter::write: " 577 << "Wrong number of channels for IF " << IFno << "," << endl 578 << " " 579 << "got " << nChan << " should be " << mbrec.nChan[0] << "." << endl; 580 os << LogIO::WARN 581 << "SDFITSriter::write: " 582 << "Wrong number of channels for IF " << IFno << "," << endl 583 << " " 584 << "got " << nChan << " should be " << mbrec.nChan[0] << "." << endl; 585 os << LogIO::POST ; 580 586 return 1; 581 587 } … … 583 589 int nPol = cNPol[iIF]; 584 590 if (mbrec.nPol[0] != nPol) { 585 cerr << "SDFITSriter::write: " 586 << "Wrong number of polarizations for IF " << IFno << "," << endl 587 << " " 588 << "got " << nPol << " should be " << mbrec.nPol[0] << "." << endl; 591 os << LogIO::WARN 592 << "SDFITSriter::write: " 593 << "Wrong number of polarizations for IF " << IFno << "," << endl 594 << " " 595 << "got " << nPol << " should be " << mbrec.nPol[0] << "." << endl; 596 os << LogIO::POST ; 589 597 return 1; 590 598 } … … 768 776 769 777 if (cStatus) { 770 log Msg("ERROR:Failed in writing binary table entry.");778 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed in writing binary table entry."); 771 779 } 772 780 … … 782 790 783 791 { 792 const string methodName = "history()" ; 793 784 794 if (!cSDptr) { 785 795 return 1; … … 787 797 788 798 if (fits_write_history(cSDptr, text, &cStatus)) { 789 log Msg("ERROR:Failed in writing HISTORY records.");799 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed in writing HISTORY records."); 790 800 } 791 801 … … 799 809 void SDFITSwriter::close() 800 810 { 811 const string methodName = "close()" ; 812 801 813 if (cSDptr) { 802 814 cStatus = 0; 803 815 if (fits_close_file(cSDptr, &cStatus)) { 804 log Msg("ERROR:Failed to close file.");816 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed to close file."); 805 817 } 806 818 … … 815 827 void SDFITSwriter::deleteFile() 816 828 { 829 const string methodName = "deleteFile()" ; 830 817 831 if (cSDptr) { 818 832 cStatus = 0; 819 833 if (fits_delete_file(cSDptr, &cStatus)) { 820 log Msg("ERROR:Failed to close and delete file.");834 log(LogOrigin( className, methodName, WHERE ), LogIO::SEVERE, "Failed to close and delete file."); 821 835 } 822 836 … … 825 839 } 826 840 827 //------------------------------------------------------- SDFITSwriter::log Msg841 //------------------------------------------------------- SDFITSwriter::log 828 842 829 843 // Log a message. If the current CFITSIO status value is non-zero, also log 830 844 // the corresponding error message and dump the CFITSIO message stack. 831 845 832 void SDFITSwriter::log Msg(const char *msg)846 void SDFITSwriter::log(LogOrigin origin, LogIO::Command cmd, const char *msg) 833 847 { 834 PKSmsg::logMsg(msg); 848 LogIO os( origin ) ; 849 850 os << cmd << msg << endl ; 835 851 836 852 if (cStatus) { 837 853 fits_get_errstatus(cStatus, cMsg); 838 PKSmsg::logMsg(cMsg);854 os << cMsg << endl ; 839 855 840 856 while (fits_read_errmsg(cMsg)) { 841 PKSmsg::logMsg(cMsg); 842 } 843 } 857 os << cMsg << endl ; 858 } 859 } 860 861 os << LogIO::POST ; 844 862 }
Note: See TracChangeset
for help on using the changeset viewer.