/* * PhaseShiftTvi.h * * Created on: Mar 12, 2015 * Author: jjacobs */ #ifndef MSVIS_MSVIS_PHASESHIFTTVI_H_ #define MSVIS_MSVIS_PHASESHIFTTVI_H_ #include <casacore/casa/Arrays/Vector.h> #include <msvis/MSVis/TransformingVi2.h> namespace casa { namespace vi { class PhaseShiftTvi : public TransformingVi2 { public: PhaseShiftTvi (ViImplementation2 * inputVi, double dXArcseconds, double dYArcseconds); virtual void visibilityCorrected (casacore::Cube<casacore::Complex> & vis) const; virtual void visibilityModel (casacore::Cube<casacore::Complex> & vis) const; virtual void visibilityObserved (casacore::Cube<casacore::Complex> & vis) const; protected: // Rotate visibility phase for phase center offsets (arcsecs) void phaseCenterShift (casacore::Cube<casacore::Complex> & cube) const; private: double dXArcseconds_p; double dYArcseconds_p; }; } // end namespace vi } // end namespace casa #endif /* MSVIS_MSVIS_PHASESHIFTTVI_H_ */