// // C++ Interface: Calibrator // // Description: // // // Author: Takeshi Nakazato , (C) 2012 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ASAP_CALIBRATOR_H #define ASAP_CALIBRATOR_H #include #include #include #include #include namespace asap { /** * Base class for calibration operation * @author TakeshiNakazato */ class Calibrator { public: Calibrator(); Calibrator(unsigned int nchan); virtual ~Calibrator(); void setSource(casa::Vector &v); void setReference(casa::Vector &v); void setReference2(casa::Vector &v); void setScaler(casa::Vector &v); const casa::Vector getCalibrated(); virtual void calibrate() = 0; protected: void initStorage(); void freeStorage(); void set(casa::Float *p, casa::Vector &v); unsigned int nchan_; unsigned int nchanS_; casa::Float *source_; casa::Float *ref_; casa::Float *ref2_; casa::Float *scaler_; casa::Float *calibrated_; }; } #endif