source: branches/alma/src/STPolCircular.h@ 2424

Last change on this file since 2424 was 1353, checked in by mar637, 18 years ago

added explicit keyword for single arument constructors

File size: 1.2 KB
Line 
1//
2// C++ Interface: STPolLinear
3//
4// Description:
5//
6//
7// Author: Malte Marquarding <Malte.Marquarding@csiro.au>, (C) 2006
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef ASAPSTPOLCircular_H
13#define ASAPSTPOLCircular_H
14
15#include "Factory.h"
16#include "STPol.h"
17
18namespace asap {
19
20/**
21 The Circular representation of polarisation.
22 NOTE U and V are probably wrong
23 We are using the following convention:
24 @li I = RR + LL
25 @li Q = RR - LL
26 @li U = 2*Real(RL)
27 @li V = 2*Imag(RL)
28
29 resulting in:
30 @li I' = I
31 @li Q' = Q * cos(theta) - V *sin(theta)
32 @li U' = Q * sin(theta) + U * cos(theta)
33 @li V' = V
34 @author Malte Marquarding
35
36*/
37class STPolCircular : public STPol
38{
39public:
40 STPolCircular() {}
41
42 explicit STPolCircular(const casa::Matrix<casa::Float>& specs)
43 { setSpectra(specs); }
44
45 ~STPolCircular();
46
47 static Factory<STPol,STPolCircular> myFactory;
48
49 virtual casa::Vector<casa::Float> getCircular( casa::uInt index );
50
51 virtual casa::Vector<casa::Float> getStokes( casa::uInt index);
52
53 virtual casa::Vector<casa::Float> getLinPol( casa::uInt index);
54
55 virtual casa::Vector<casa::Float> getLinear( casa::uInt index );
56
57};
58
59}
60
61#endif
Note: See TracBrowser for help on using the repository browser.