// // C++ Interface: STCalSkyTable // // Description: // // ApplyTable for sky calibration. // // Author: Takeshi Nakazato (C) 2012 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ASAP_CALSKY_TABLE_H #define ASAP_CALSKY_TABLE_H #include #include #include #include #include "Scantable.h" #include "STApplyTable.h" namespace asap { /** ApplyTable for sky calibration @author Takeshi Nakazato @date $Date:$ @version $Revision:$ */ class STCalSkyTable : public STApplyTable { public: STCalSkyTable() {;} STCalSkyTable(const Scantable& parent, const casa::String &caltype); STCalSkyTable(const casa::String &name); virtual ~STCalSkyTable(); void setup(); void attachOptionalColumns(); const casa::String& name() const {return name_;} void setdata(casa::uInt irow, casa::uInt scannos, casa::uInt cycleno, casa::uInt beamno, casa::uInt ifno, casa::uInt polno, casa::uInt freqid, casa::Double time, casa::Float elevation, const casa::Vector &spectra, const casa::Vector &flagtra); void appenddata(casa::uInt scanno, casa::uInt cycleno, casa::uInt beamno, casa::uInt ifno, casa::uInt polno, casa::uInt freqid, casa::Double time, casa::Float elevation, const casa::Vector &spectra, const casa::Vector &flagtra); casa::Vector getElevation() const {return elCol_.getColumn();} casa::Matrix getSpectra() const {return spectraCol_.getColumn();} casa::Matrix getFlagtra() const {return flagtraCol_.getColumn();} casa::uInt nchan(casa::uInt ifno); //casa::Vector getBaseFrequency(casa::uInt whichrow); private: static const casa::String name_; const casa::String caltype_; casa::ArrayColumn spectraCol_; casa::ArrayColumn flagtraCol_; casa::ScalarColumn elCol_; }; } #endif