casa::PolOuterProduct Class Reference

#include <PolOuterProduct.h>

List of all members.

Public Types

enum  GenericVBPol {
  GPP,
  GPQ,
  GQP,
  GQQ,
  JUSTWRONGVBPOL
}
enum  CrossPolGeneric {
  PP,
  PP2Q,
  P2QP,
  P2QP2Q,
  PQ2P,
  PQ,
  P2QQ2P,
  P2QQ,
  Q2PP,
  Q2PP2Q,
  QP,
  QP2Q,
  Q2PQ2P,
  Q2PQ,
  QQ2P,
  QQ,
  JUSTWRONGGENERIC
}
enum  CrossPolCircular {
  RR,
  RR2L,
  R2LR,
  R2LR2L,
  RL2R,
  RL,
  R2LL2R,
  R2LL,
  L2RR,
  L2RR2L,
  LR,
  LR2L,
  L2RL2R,
  L2RL,
  LL2R,
  LL,
  JUSTWRONGCIRCULAR
}
enum  CrossPolLinear {
  XX,
  XX2Y,
  X2YX,
  X2YX2Y,
  XY2X,
  XY,
  X2YY2X,
  X2YY,
  Y2XX,
  Y2XX2Y,
  YX,
  YX2Y,
  Y2XY2X,
  Y2XY,
  YY2X,
  YY,
  JUSTWRONGLINEAR
}
enum  MuellerType {
  DIAGONAL,
  HYBRID,
  FULL
}

Public Member Functions

 PolOuterProduct (MuellerType type=FULL)
 ========================= Administrative Parts ========================== ------------------------------------------------------------------
 PolOuterProduct (const Matrix< Int > &polMap)
 ------------------------------------------------------------------
virtual ~PolOuterProduct ()
 ------------------------------------------------------------------
void init (MuellerType type=DIAGONAL)
 ============================= Functional Parts ============================ ------------------------------------------------------------------
void makePolMap (const Vector< CrossPolCircular > &pols)
 ------------------------------------------------------------------
void setElement (const RigidVector< Int, 2 > &element, const Int &pos)
 ------------------------------------------------------------------
void setElement (const CrossPolCircular &element, const Int &pos)
 ------------------------------------------------------------------
Int getPolEnum (const RigidVector< Int, 2 > &element)
 ------------------------------------------------------------------
RigidVector< Int, 2 > getMuellerElement (const CrossPolCircular &element)
 ------------------------------------------------------------------
Bool isSet (const RigidVector< Int, 2 > element)
 ------------------------------------------------------------------
Bool isSet (const CrossPolCircular &element)
 ------------------------------------------------------------------
Int countNElements ()
 ------------------------------------------------------------------
Int nelements ()
 ------------------------------------------------------------------
const Vector< RigidVector< Int, 2 > > & getIndexMap ()
 ------------------------------------------------------------------
const Matrix< Int > & getPolMap ()
 ------------------------------------------------------------------
PolMapType & makePolMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapType & makePol2CFMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapType & makeConjPolMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapType & makeConjPol2CFMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
void initCFMaps (const Vector< Int > &visPol, const Vector< Int > &visPolsUsed)
PolMapType & getPolMat ()
PolMapType & getConjPolMat ()
PolMapType & getPol2CFMat ()
PolMapType & getConjPol2CFMat ()

Protected Member Functions

PolMapType & makePol2CFMat_p (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap, PolMapType &outerProdNdx2VBPolMap)
PolMapType & makePolMat_p (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap, PolMapType &outerProd2VBPolMap, RigidVector< RigidVector< Int, 4 >, 4 > &mRows)
virtual void makeMap ()

Protected Attributes

RigidVector< RigidVector< Int, 4 >, 4 > muellerRows_p
 ============================= Protected Parts ============================
RigidVector< RigidVector< Int, 4 >, 4 > conjMuellerRows_p
Matrix< Int > polMap_p
Matrix< Int > invIndexMap_p
Vector< RigidVector< Int, 2 > > indexMap_p
PolMapType outerProduct2VBPolMap_p
PolMapType outerProductIndex2VBPolMap_p
PolMapType conjOuterProduct2VBPolMap_p
PolMapType conjOuterProductIndex2VBPolMap_p
PolMapType cfIndices_p
MuellerType muellerType_p
Int nelement_p

Detailed Description

Definition at line 55 of file PolOuterProduct.h.


Member Enumeration Documentation

Enumerator:
RR 
RR2L 
R2LR 
R2LR2L 
RL2R 
RL 
R2LL2R 
R2LL 
L2RR 
L2RR2L 
LR 
LR2L 
L2RL2R 
L2RL 
LL2R 
LL 
JUSTWRONGCIRCULAR 

Definition at line 64 of file PolOuterProduct.h.

Enumerator:
PP 
PP2Q 
P2QP 
P2QP2Q 
PQ2P 
PQ 
P2QQ2P 
P2QQ 
Q2PP 
Q2PP2Q 
QP 
QP2Q 
Q2PQ2P 
Q2PQ 
QQ2P 
QQ 
JUSTWRONGGENERIC 

Definition at line 59 of file PolOuterProduct.h.

Enumerator:
XX 
XX2Y 
X2YX 
X2YX2Y 
XY2X 
XY 
X2YY2X 
X2YY 
Y2XX 
Y2XX2Y 
YX 
YX2Y 
Y2XY2X 
Y2XY 
YY2X 
YY 
JUSTWRONGLINEAR 

Definition at line 69 of file PolOuterProduct.h.

Enumerator:
GPP 
GPQ 
GQP 
GQQ 
JUSTWRONGVBPOL 

Definition at line 58 of file PolOuterProduct.h.

Enumerator:
DIAGONAL 
HYBRID 
FULL 

Definition at line 74 of file PolOuterProduct.h.


Constructor & Destructor Documentation

casa::PolOuterProduct::PolOuterProduct ( MuellerType  type = FULL  )  [inline]

========================= Administrative Parts ========================== ------------------------------------------------------------------

Definition at line 79 of file PolOuterProduct.h.

References init(), polMap_p, and type().

casa::PolOuterProduct::PolOuterProduct ( const Matrix< Int > &  polMap  )  [inline]

------------------------------------------------------------------

assert(polMap.shape() == IPosition(2,4,4));

Definition at line 87 of file PolOuterProduct.h.

References init(), and polMap_p.

virtual casa::PolOuterProduct::~PolOuterProduct (  )  [inline, virtual]

------------------------------------------------------------------

Definition at line 97 of file PolOuterProduct.h.


Member Function Documentation

Int casa::PolOuterProduct::countNElements (  )  [inline]

------------------------------------------------------------------

Definition at line 145 of file PolOuterProduct.h.

References polMap_p.

Referenced by init().

PolMapType& casa::PolOuterProduct::getConjPol2CFMat (  )  [inline]

Definition at line 174 of file PolOuterProduct.h.

PolMapType& casa::PolOuterProduct::getConjPolMat (  )  [inline]

Definition at line 172 of file PolOuterProduct.h.

References conjOuterProduct2VBPolMap_p.

const Vector<RigidVector<Int,2> >& casa::PolOuterProduct::getIndexMap (  )  [inline]

------------------------------------------------------------------

Definition at line 160 of file PolOuterProduct.h.

References indexMap_p.

RigidVector<Int,2> casa::PolOuterProduct::getMuellerElement ( const CrossPolCircular element  )  [inline]

------------------------------------------------------------------

Definition at line 130 of file PolOuterProduct.h.

References indexMap_p.

Referenced by isSet(), and setElement().

PolMapType& casa::PolOuterProduct::getPol2CFMat (  )  [inline]

Definition at line 173 of file PolOuterProduct.h.

References outerProductIndex2VBPolMap_p.

Int casa::PolOuterProduct::getPolEnum ( const RigidVector< Int, 2 > &  element  )  [inline]

------------------------------------------------------------------

Definition at line 125 of file PolOuterProduct.h.

References invIndexMap_p.

const Matrix<Int>& casa::PolOuterProduct::getPolMap (  )  [inline]

------------------------------------------------------------------

Definition at line 164 of file PolOuterProduct.h.

References polMap_p.

PolMapType& casa::PolOuterProduct::getPolMat (  )  [inline]

Definition at line 171 of file PolOuterProduct.h.

References outerProduct2VBPolMap_p.

void casa::PolOuterProduct::init ( MuellerType  type = DIAGONAL  )  [inline]

============================= Functional Parts ============================ ------------------------------------------------------------------

Definition at line 102 of file PolOuterProduct.h.

References countNElements(), makeMap(), muellerType_p, nelement_p, and type().

Referenced by PolOuterProduct().

void casa::PolOuterProduct::initCFMaps ( const Vector< Int > &  visPol,
const Vector< Int > &  visPolsUsed 
)
Bool casa::PolOuterProduct::isSet ( const CrossPolCircular element  )  [inline]

------------------------------------------------------------------

Definition at line 140 of file PolOuterProduct.h.

References getMuellerElement(), and isSet().

Referenced by isSet().

Bool casa::PolOuterProduct::isSet ( const RigidVector< Int, 2 >  element  )  [inline]

------------------------------------------------------------------

Definition at line 135 of file PolOuterProduct.h.

References polMap_p.

PolMapType& casa::PolOuterProduct::makeConjPol2CFMat ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap 
)
PolMapType& casa::PolOuterProduct::makeConjPolMat ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap 
)
virtual void casa::PolOuterProduct::makeMap (  )  [inline, protected, virtual]

Make the (damn) mappings! Phew.

Pol-enum to 2-index

2-Index to Pol-enum

Definition at line 197 of file PolOuterProduct.h.

References conjMuellerRows_p, GPP, GPQ, GQP, GQQ, indexMap_p, invIndexMap_p, L2RL, L2RL2R, L2RR, L2RR2L, LL, LL2R, LR, LR2L, muellerRows_p, P2QP, P2QP2Q, P2QQ, P2QQ2P, PP, PP2Q, PQ, PQ2P, Q2PP, Q2PP2Q, Q2PQ, Q2PQ2P, QP, QP2Q, QQ, QQ2P, R2LL, R2LL2R, R2LR, R2LR2L, RL, RL2R, RR, and RR2L.

Referenced by init().

PolMapType& casa::PolOuterProduct::makePol2CFMat ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap 
)
PolMapType& casa::PolOuterProduct::makePol2CFMat_p ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap,
PolMapType &  outerProdNdx2VBPolMap 
) [protected]
void casa::PolOuterProduct::makePolMap ( const Vector< CrossPolCircular > &  pols  ) 

------------------------------------------------------------------

PolMapType& casa::PolOuterProduct::makePolMat ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap 
)
PolMapType& casa::PolOuterProduct::makePolMat_p ( const Vector< Int > &  vbPol,
const Vector< Int > &  vbPol2ImMap,
PolMapType &  outerProd2VBPolMap,
RigidVector< RigidVector< Int, 4 >, 4 > &  mRows 
) [protected]
Int casa::PolOuterProduct::nelements (  )  [inline]

------------------------------------------------------------------

Definition at line 156 of file PolOuterProduct.h.

References nelement_p.

void casa::PolOuterProduct::setElement ( const CrossPolCircular element,
const Int &  pos 
) [inline]

------------------------------------------------------------------

Definition at line 120 of file PolOuterProduct.h.

References getMuellerElement(), and setElement().

Referenced by setElement().

void casa::PolOuterProduct::setElement ( const RigidVector< Int, 2 > &  element,
const Int &  pos 
) [inline]

------------------------------------------------------------------

Definition at line 115 of file PolOuterProduct.h.

References polMap_p.


Member Data Documentation

PolMapType casa::PolOuterProduct::cfIndices_p [protected]

Definition at line 184 of file PolOuterProduct.h.

RigidVector<RigidVector<Int, 4>, 4> casa::PolOuterProduct::conjMuellerRows_p [protected]

Definition at line 174 of file PolOuterProduct.h.

Referenced by makeMap().

Definition at line 184 of file PolOuterProduct.h.

Referenced by getConjPolMat().

Definition at line 184 of file PolOuterProduct.h.

Vector<RigidVector<Int,2> > casa::PolOuterProduct::indexMap_p [protected]

Definition at line 183 of file PolOuterProduct.h.

Referenced by getIndexMap(), getMuellerElement(), and makeMap().

Matrix<Int> casa::PolOuterProduct::invIndexMap_p [protected]

Definition at line 182 of file PolOuterProduct.h.

Referenced by getPolEnum(), and makeMap().

RigidVector<RigidVector<Int, 4>, 4> casa::PolOuterProduct::muellerRows_p [protected]

============================= Protected Parts ============================

LogIO& logIO() {return logIO_p;} LogIO logIO_p;

Definition at line 174 of file PolOuterProduct.h.

Referenced by makeMap().

Definition at line 186 of file PolOuterProduct.h.

Referenced by init().

Definition at line 187 of file PolOuterProduct.h.

Referenced by init(), and nelements().

Definition at line 184 of file PolOuterProduct.h.

Referenced by getPolMat().

Definition at line 184 of file PolOuterProduct.h.

Referenced by getPol2CFMat().

Matrix<Int> casa::PolOuterProduct::polMap_p [protected]

Definition at line 182 of file PolOuterProduct.h.

Referenced by countNElements(), getPolMap(), isSet(), PolOuterProduct(), and setElement().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1