source: trunk/src/STPolCircular.h @ 1353

Last change on this file since 1353 was 1353, checked in by mar637, 17 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.