// // 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 func, casa::uInt order, casa::uInt clipiter, casa::Float clipthres, casa::Vector sect, casa::Vector param, casa::Vector mask, 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 func, casa::uInt order, casa::uInt clipiter, casa::Float clipthres, casa::Vector sect, casa::Vector param, casa::Vector mask, casa::Float rms); casa::uInt nchan(casa::uInt ifno); casa::Vector getFunction() {return funcCol_.getColumn();} casa::Vector getFunctionAsString(); casa::Vector getOrder() {return orderCol_.getColumn();} casa::Vector getClipIteration() {return clipiterCol_.getColumn();} casa::Vector getClipThreshold() {return clipthresCol_.getColumn();} casa::Matrix getSection() {return sectCol_.getColumn();} casa::Matrix getParameter() {return paramCol_.getColumn();} casa::Matrix getMaskList() {return maskCol_.getColumn();} casa::Vector getRms() {return rmsCol_.getColumn();} private: static const casa::String name_ ; casa::ScalarColumn nchanCol_; casa::ScalarColumn funcCol_; casa::ScalarColumn orderCol_; casa::ScalarColumn clipiterCol_; casa::ScalarColumn clipthresCol_; casa::ArrayColumn sectCol_; casa::ArrayColumn paramCol_; casa::ArrayColumn maskCol_; casa::ScalarColumn rmsCol_; }; } #endif