casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
casa::PolOuterProduct Class Reference

#include <PolOuterProduct.h>

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

More...
 
 PolOuterProduct (const casacore::Matrix< casacore::Int > &polMap)
 
More...
 
virtual ~PolOuterProduct ()
 
More...
 
void init (MuellerType type=DIAGONAL)
 

============================= casacore::Functional Parts ============================

More...
 
void makePolMap (const casacore::Vector< CrossPolCircular > &pols)
 
More...
 
void setElement (const casacore::RigidVector< casacore::Int, 2 > &element, const casacore::Int &pos)
 
More...
 
void setElement (const CrossPolCircular &element, const casacore::Int &pos)
 
More...
 
casacore::Int getPolEnum (const casacore::RigidVector< casacore::Int, 2 > &element)
 
More...
 
casacore::RigidVector
< casacore::Int, 2 > 
getMuellerElement (const CrossPolCircular &element)
 
More...
 
casacore::Bool isSet (const casacore::RigidVector< casacore::Int, 2 > element)
 
More...
 
casacore::Bool isSet (const CrossPolCircular &element)
 
More...
 
casacore::Int countNElements ()
 
More...
 
casacore::Int nelements ()
 
More...
 
const casacore::Vector
< casacore::RigidVector
< casacore::Int, 2 > > & 
getIndexMap ()
 
More...
 
const casacore::Matrix
< casacore::Int > & 
getPolMap ()
 
More...
 
PolMapTypemakePolMat (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap)
 
PolMapTypemakePol2CFMat (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap)
 
PolMapTypemakeConjPolMat (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap)
 
PolMapTypemakeConjPol2CFMat (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap)
 
void initCFMaps (const casacore::Vector< casacore::Int > &visPol, const casacore::Vector< casacore::Int > &visPolsUsed)
 
PolMapTypegetPolMat ()
 
PolMapTypegetConjPolMat ()
 
PolMapTypegetPol2CFMat ()
 
PolMapTypegetConjPol2CFMat ()
 

Protected Member Functions

PolMapTypemakePol2CFMat_p (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap, PolMapType &outerProdNdx2VBPolMap)
 
PolMapTypemakePolMat_p (const casacore::Vector< casacore::Int > &vbPol, const casacore::Vector< casacore::Int > &vbPol2ImMap, PolMapType &outerProd2VBPolMap, casacore::RigidVector< casacore::RigidVector< casacore::Int, 4 >, 4 > &mRows)
 
virtual void makeMap ()
 

Protected Attributes

casacore::RigidVector
< casacore::RigidVector
< casacore::Int, 4 >, 4 > 
muellerRows_p
 ============================= Protected Parts ============================ More...
 
casacore::RigidVector
< casacore::RigidVector
< casacore::Int, 4 >, 4 > 
conjMuellerRows_p
 
casacore::Matrix< casacore::IntpolMap_p
 
casacore::Matrix< casacore::IntinvIndexMap_p
 
casacore::Vector
< casacore::RigidVector
< casacore::Int, 2 > > 
indexMap_p
 
PolMapType outerProduct2VBPolMap_p
 
PolMapType outerProductIndex2VBPolMap_p
 
PolMapType conjOuterProduct2VBPolMap_p
 
PolMapType conjOuterProductIndex2VBPolMap_p
 
PolMapType cfIndices_p
 
MuellerType muellerType_p
 
casacore::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 = DIAGONAL)
inline

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

Definition at line 79 of file PolOuterProduct.h.

References casa::type().

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


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

Definition at line 87 of file PolOuterProduct.h.

virtual casa::PolOuterProduct::~PolOuterProduct ( )
inlinevirtual


Definition at line 97 of file PolOuterProduct.h.

Member Function Documentation

casacore::Int casa::PolOuterProduct::countNElements ( )
inline


Definition at line 145 of file PolOuterProduct.h.

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.

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


Definition at line 160 of file PolOuterProduct.h.

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


Definition at line 130 of file PolOuterProduct.h.

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

Definition at line 173 of file PolOuterProduct.h.

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


Definition at line 125 of file PolOuterProduct.h.

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


Definition at line 164 of file PolOuterProduct.h.

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

Definition at line 171 of file PolOuterProduct.h.

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

============================= casacore::Functional Parts ============================

Definition at line 102 of file PolOuterProduct.h.

References casa::type().

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


Definition at line 135 of file PolOuterProduct.h.

casacore::Bool casa::PolOuterProduct::isSet ( const CrossPolCircular element)
inline


Definition at line 140 of file PolOuterProduct.h.

PolMapType& casa::PolOuterProduct::makeConjPol2CFMat ( const casacore::Vector< casacore::Int > &  vbPol,
const casacore::Vector< casacore::Int > &  vbPol2ImMap 
)
PolMapType& casa::PolOuterProduct::makeConjPolMat ( const casacore::Vector< casacore::Int > &  vbPol,
const casacore::Vector< casacore::Int > &  vbPol2ImMap 
)
virtual void casa::PolOuterProduct::makeMap ( )
inlineprotectedvirtual

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 casacore::Vector< casacore::Int > &  vbPol,
const casacore::Vector< casacore::Int > &  vbPol2ImMap 
)
PolMapType& casa::PolOuterProduct::makePol2CFMat_p ( const casacore::Vector< casacore::Int > &  vbPol,
const casacore::Vector< casacore::Int > &  vbPol2ImMap,
PolMapType outerProdNdx2VBPolMap 
)
protected
void casa::PolOuterProduct::makePolMap ( const casacore::Vector< CrossPolCircular > &  pols)


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


Definition at line 156 of file PolOuterProduct.h.

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


Definition at line 115 of file PolOuterProduct.h.

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


Definition at line 120 of file PolOuterProduct.h.

Member Data Documentation

PolMapType casa::PolOuterProduct::cfIndices_p
protected

Definition at line 184 of file PolOuterProduct.h.

casacore::RigidVector<casacore::RigidVector<casacore::Int, 4>, 4> casa::PolOuterProduct::conjMuellerRows_p
protected

Definition at line 174 of file PolOuterProduct.h.

PolMapType casa::PolOuterProduct::conjOuterProduct2VBPolMap_p
protected

Definition at line 184 of file PolOuterProduct.h.

PolMapType casa::PolOuterProduct::conjOuterProductIndex2VBPolMap_p
protected

Definition at line 184 of file PolOuterProduct.h.

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

Definition at line 183 of file PolOuterProduct.h.

casacore::Matrix<casacore::Int> casa::PolOuterProduct::invIndexMap_p
protected

Definition at line 182 of file PolOuterProduct.h.

casacore::RigidVector<casacore::RigidVector<casacore::Int, 4>, 4> casa::PolOuterProduct::muellerRows_p
protected

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

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

Definition at line 174 of file PolOuterProduct.h.

MuellerType casa::PolOuterProduct::muellerType_p
protected

Definition at line 186 of file PolOuterProduct.h.

casacore::Int casa::PolOuterProduct::nelement_p
protected

Definition at line 187 of file PolOuterProduct.h.

PolMapType casa::PolOuterProduct::outerProduct2VBPolMap_p
protected

Definition at line 184 of file PolOuterProduct.h.

PolMapType casa::PolOuterProduct::outerProductIndex2VBPolMap_p
protected

Definition at line 184 of file PolOuterProduct.h.

casacore::Matrix<casacore::Int> casa::PolOuterProduct::polMap_p
protected

Definition at line 182 of file PolOuterProduct.h.


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