casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
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=DIAGONAL)
 

========================= 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 ()
 

PolMapTypemakePolMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapTypemakePol2CFMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapTypemakeConjPolMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
PolMapTypemakeConjPol2CFMat (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap)
void initCFMaps (const Vector< Int > &visPol, const Vector< Int > &visPolsUsed)
PolMapTypegetPolMat ()
PolMapTypegetConjPolMat ()
PolMapTypegetPol2CFMat ()
PolMapTypegetConjPol2CFMat ()

Protected Member Functions

PolMapTypemakePol2CFMat_p (const Vector< Int > &vbPol, const Vector< Int > &vbPol2ImMap, PolMapType &outerProdNdx2VBPolMap)
PolMapTypemakePolMat_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< IntpolMap_p
Matrix< IntinvIndexMap_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

========================= Administrative Parts ==========================

Definition at line 79 of file PolOuterProduct.h.

References type().

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


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

Definition at line 87 of file PolOuterProduct.h.

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


Definition at line 97 of file PolOuterProduct.h.


Member Function Documentation


Definition at line 145 of file PolOuterProduct.h.

Definition at line 174 of file PolOuterProduct.h.

Definition at line 172 of file PolOuterProduct.h.


Definition at line 160 of file PolOuterProduct.h.


Definition at line 130 of file PolOuterProduct.h.

Definition at line 173 of file PolOuterProduct.h.

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


Definition at line 125 of file PolOuterProduct.h.


Definition at line 164 of file PolOuterProduct.h.

Definition at line 171 of file PolOuterProduct.h.

============================= Functional Parts ============================

Definition at line 102 of file PolOuterProduct.h.

References type().

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


Definition at line 135 of file PolOuterProduct.h.

Bool casa::PolOuterProduct::isSet ( const CrossPolCircular element) [inline]


Definition at line 140 of file PolOuterProduct.h.

References isSet().

Referenced by isSet().

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.

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]


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]


Definition at line 156 of file PolOuterProduct.h.

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


Definition at line 115 of file PolOuterProduct.h.

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


Definition at line 120 of file PolOuterProduct.h.

References setElement().

Referenced by setElement().


Member Data Documentation

Definition at line 184 of file PolOuterProduct.h.

Definition at line 174 of file PolOuterProduct.h.

Definition at line 184 of file PolOuterProduct.h.

Definition at line 184 of file PolOuterProduct.h.

Definition at line 183 of file PolOuterProduct.h.

Definition at line 182 of file PolOuterProduct.h.

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

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

Definition at line 174 of file PolOuterProduct.h.

Definition at line 186 of file PolOuterProduct.h.

Definition at line 187 of file PolOuterProduct.h.

Definition at line 184 of file PolOuterProduct.h.

Definition at line 184 of file PolOuterProduct.h.

Definition at line 182 of file PolOuterProduct.h.


The documentation for this class was generated from the following file: