// // C++ Interface: STPolLinear // // Description: // // // Author: Malte Marquarding , (C) 2006 // // Copyright: See COPYING file that comes with this distribution // // #ifndef ASAPSTPOLLINEAR_H #define ASAPSTPOLLINEAR_H #include "Factory.h" #include "STPol.h" namespace asap { /** The linear representation of polarisation. We are using the following convention: @li I = XX + YY @li Q = XX - YY @li U = 2*Real(XY) @li V = 2*Imag(XY) resulting in: @li I' = I @li Q' = Q * cos(theta) - V *sin(theta) @li U' = Q * sin(theta) + U * cos(theta) @li V' = V @author Malte Marquarding */ class STPolLinear : public STPol { public: STPolLinear() {} explicit STPolLinear(const casacore::Matrix& specs) { setSpectra(specs); } ~STPolLinear(); static Factory myFactory; virtual casacore::Vector getCircular( casacore::uInt index ); virtual casacore::Vector getStokes( casacore::uInt index); virtual casacore::Vector getLinPol( casacore::uInt index); virtual casacore::Vector getLinear( casacore::uInt index ); virtual void rotatePhase( casacore::Float phase ); virtual void rotateLinPolPhase( casacore::Float phase ); virtual void invertPhase( casacore::Float phase ); }; } #endif