// // C++ Interface: STCalibration // // Description: // // // Author: Takeshi Nakazato , (C) 2012 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ASAPSTCALIBRATION_H #define ASAPSTCALIBRATION_H #include #include #include #include #include #include #include #include "Scantable.h" #include "STDefs.h" #include "STApplyTable.h" #include "STSelector.h" namespace asap { /** * Calibration operations on Scantable objects * @author TakeshiNakazato */ class STCalibration { public: STCalibration(casacore::CountedPtr &s, const casacore::String target_column); void calibrate(); virtual ~STCalibration() {;} void save(casacore::String name) {applytable_->save(name);} //const STApplyTable &applytable() {return *applytable_;} const casacore::CountedPtr applytable() {return applytable_;} void setOption(casacore::Record &rec) {options_ = rec;} protected: virtual void setupSelector(const STSelector &sel) = 0; virtual void fillCalTable(); virtual void appenddata(casacore::uInt scanno, casacore::uInt cycleno, casacore::uInt beamno, casacore::uInt ifno, casacore::uInt polno, casacore::uInt freqid, casacore::Double time, casacore::Float elevation, const casacore::Vector &any_data, const casacore::Vector &channel_flag) = 0; STSelector sel_; casacore::CountedPtr scantable_; casacore::CountedPtr applytable_; casacore::LogIO os_; casacore::Record options_; const casacore::String target_column_; }; } #endif