// // 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(casacore::Vector &v); void setReference(casacore::Vector &v); void setReference2(casacore::Vector &v); void setScaler(casacore::Vector &v); const casacore::Vector getCalibrated(); virtual void calibrate() = 0; protected: void initStorage(); void freeStorage(); void set(casacore::Float *p, casacore::Vector &v); unsigned int nchan_; unsigned int nchanS_; casacore::Float *source_; casacore::Float *ref_; casacore::Float *ref2_; casacore::Float *scaler_; casacore::Float *calibrated_; }; } #endif