00001 /* 00002 * PhaseShiftTvi.h 00003 * 00004 * Created on: Mar 12, 2015 00005 * Author: jjacobs 00006 */ 00007 00008 #ifndef MSVIS_MSVIS_PHASESHIFTTVI_H_ 00009 #define MSVIS_MSVIS_PHASESHIFTTVI_H_ 00010 00011 #include <casacore/casa/Arrays/Vector.h> 00012 #include <msvis/MSVis/TransformingVi2.h> 00013 00014 namespace casa { 00015 00016 namespace vi { 00017 00018 class PhaseShiftTvi : public TransformingVi2 { 00019 00020 public: 00021 00022 PhaseShiftTvi (ViImplementation2 * inputVi, double dXArcseconds, 00023 double dYArcseconds); 00024 00025 virtual void visibilityCorrected (Cube<Complex> & vis) const; 00026 virtual void visibilityModel (Cube<Complex> & vis) const; 00027 virtual void visibilityObserved (Cube<Complex> & vis) const; 00028 00029 00030 protected: 00031 00032 // Rotate visibility phase for phase center offsets (arcsecs) 00033 00034 void phaseCenterShift (Cube<Complex> & cube) const; 00035 00036 private: 00037 00038 double dXArcseconds_p; 00039 double dYArcseconds_p; 00040 00041 00042 }; 00043 00044 } // end namespace vi 00045 00046 } // end namespace casa 00047 00048 00049 00050 00051 00052 00053 #endif /* MSVIS_MSVIS_PHASESHIFTTVI_H_ */