#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=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 |
Definition at line 55 of file PolOuterProduct.h.
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.
PP | |
PP2Q | |
P2QP | |
P2QP2Q | |
PQ2P | |
PQ | |
P2QQ2P | |
P2QQ | |
Q2PP | |
Q2PP2Q | |
QP | |
QP2Q | |
Q2PQ2P | |
Q2PQ | |
QQ2P | |
JUSTWRONGGENERIC |
Definition at line 59 of file PolOuterProduct.h.
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.
Definition at line 58 of file PolOuterProduct.h.
Definition at line 74 of file PolOuterProduct.h.
casa::PolOuterProduct::PolOuterProduct | ( | MuellerType | type = FULL |
) | [inline] |
========================= Administrative Parts ========================== ------------------------------------------------------------------
Definition at line 79 of file PolOuterProduct.h.
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.
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.
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().
PolMapType casa::PolOuterProduct::conjOuterProduct2VBPolMap_p [protected] |
Definition at line 184 of file PolOuterProduct.h.
Referenced by getConjPolMat().
PolMapType casa::PolOuterProduct::conjOuterProductIndex2VBPolMap_p [protected] |
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().
MuellerType casa::PolOuterProduct::muellerType_p [protected] |
Definition at line 186 of file PolOuterProduct.h.
Referenced by init().
Int casa::PolOuterProduct::nelement_p [protected] |
Definition at line 187 of file PolOuterProduct.h.
Referenced by init(), and nelements().
PolMapType casa::PolOuterProduct::outerProduct2VBPolMap_p [protected] |
Definition at line 184 of file PolOuterProduct.h.
Referenced by getPolMat().
PolMapType casa::PolOuterProduct::outerProductIndex2VBPolMap_p [protected] |
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().