// // C++ Interface: STBaselineTable // // Description: // // ApplyTable for baseline subtraction. // // Author: Wataru Kawasaki (C) 2013 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ASAP_BASELINEPARAM_TABLE_H #define ASAP_BASELINEPARAM_TABLE_H #include #include #include "Scantable.h" #include "STApplyTable.h" #include "STBaselineEnum.h" namespace asap { /** ApplyTable for baseline subtraction @author Wataru Kawasaki @date $Date:$ @version $Revision:$ */ class STBaselineTable : public STApplyTable { public: STBaselineTable() {;} STBaselineTable(const Scantable& parent); STBaselineTable(const casa::String &name); virtual ~STBaselineTable(); void setup(); const casa::String& name() const {return name_;}; void attachOptionalColumns(); void save(const std::string &filename); void setdata(casa::uInt irow, casa::uInt scanno, casa::uInt cycleno, casa::uInt beamno, casa::uInt ifno, casa::uInt polno, casa::uInt freqid, casa::Double time, casa::uInt nchan, STBaselineFunc::FuncName ftype, casa::Vector fpar, casa::Vector ffpar, casa::uInt citer, casa::Float cthres, casa::Vector mask, casa::Vector res, casa::Float rms); void appenddata(casa::uInt scanno, casa::uInt cycleno, casa::uInt beamno, casa::uInt ifno, casa::uInt polno, casa::uInt freqid, casa::Double time, casa::uInt nchan, STBaselineFunc::FuncName ftype, casa::Vector fpar, casa::Vector ffpar, casa::uInt citer, casa::Float cthres, casa::Vector mask, casa::Vector res, casa::Float rms); casa::uInt nchan(casa::uInt ifno); casa::Vector getFunction() {return ftypeCol_.getColumn();} casa::Vector getFunctionAsString(); casa::Matrix getFuncParam() {return fparCol_.getColumn();} casa::Matrix getFuncFParam() {return ffparCol_.getColumn();} casa::Vector getClipIteration() {return citerCol_.getColumn();} casa::Vector getClipThreshold() {return cthresCol_.getColumn();} casa::Matrix getMaskList() {return maskCol_.getColumn();} casa::Matrix getResult() {return resCol_.getColumn();} casa::Vector getRms() {return rmsCol_.getColumn();} private: static const casa::String name_ ; casa::ScalarColumn nchanCol_; casa::ScalarColumn ftypeCol_; casa::ArrayColumn fparCol_; casa::ArrayColumn ffparCol_; casa::ScalarColumn citerCol_; casa::ScalarColumn cthresCol_; casa::ArrayColumn maskCol_; casa::ArrayColumn resCol_; casa::ScalarColumn rmsCol_; }; } #endif