casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
casa::SkyCal< DataType, CalDataType > Class Template Reference

#include <SkyCal.h>

Public Member Functions

 SkyCal ()
 all the member functions are inline More...
 
virtual ~SkyCal ()
 
casacore::uInt typesize () const
 stride In Mueller series, typesize is defined as "number of polarizations" while SkyCal definition is "number of elements in the DATA cell", which is npol * nchan in practice. More...
 
void setNumChannel (casacore::uInt n)
 
void setNumPolarization (casacore::uInt n)
 
void setScalarData (casacore::Bool scalardata) const
 Set scalardata_ TBD: Handle this better; for now, we need to set this from an external call so we handle single-corr data properly when setting non-corr-dep flags. More...
 
void sync (CalDataType &mat)
 Synchronize with leading element in external array. More...
 
void sync (CalDataType &mat, casacore::Bool &ok)
 
void origin ()
 Reset to origin. More...
 
void operator++ ()
 Increment to next vector (according to len) In practice, this operator increments row index. More...
 
void operator++ (int)
 
void advance (const casacore::Int &step)
 Advance step matrices forward (according to len) More...
 
void invert ()
 In-place invert. More...
 
void setMatByOk ()
 Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply) More...
 
void apply (casacore::Matrix< DataType > &v, casacore::Matrix< casacore::Bool > &f)
 In-place multiply onto a data with flag information apply implements position switch calibration: (ON - OFF)/OFF. More...
 
void apply (casacore::Matrix< DataType > &v, casacore::Matrix< casacore::Bool > &f, casacore::Vector< casacore::Bool > &vflag)
 
void applyFlag (casacore::Vector< casacore::Bool > &vflag)
 Apply only flags according to cal flags. More...
 
void flag (casacore::Matrix< casacore::Bool > &v)
 
void apply (casacore::Matrix< DataType > &out, casacore::Matrix< casacore::Bool > &outFlag, const casacore::Matrix< DataType > &in, const casacore::Matrix< casacore::Bool > &inFlag)
 Multiply onto a vis VisVector, preserving input (copy then in-place apply) More...
 

Private Member Functions

 SkyCal (const SkyCal< DataType, CalDataType > &mat)
 Copy ctor protected. More...
 

Private Attributes

casacore::uInt npol_
 print it out unused More...
 
casacore::uInt nchan_
 
CalDataType * m0_
 Pointer to origin. More...
 
casacore::Boolok0_
 
CalDataType * m_
 Moving pointer. More...
 
CalDataType * mi_
 
casacore::Boolok_
 
casacore::Booloki_
 
const CalDataType cOne_
 casacore::Complex unity, zero (for use in invert and similar methods) More...
 
const CalDataType cZero_
 
casacore::Bool scalardata_
 

Detailed Description

template<class DataType, class CalDataType>
class casa::SkyCal< DataType, CalDataType >

Intended use:

Internal or

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Definition at line 140 of file SkyCal.h.

Constructor & Destructor Documentation

template<class DataType, class CalDataType>
casa::SkyCal< DataType, CalDataType >::SkyCal ( )
inline

all the member functions are inline

Definition at line 144 of file SkyCal.h.

template<class DataType, class CalDataType>
virtual casa::SkyCal< DataType, CalDataType >::~SkyCal ( )
inlinevirtual

Definition at line 158 of file SkyCal.h.

template<class DataType, class CalDataType>
casa::SkyCal< DataType, CalDataType >::SkyCal ( const SkyCal< DataType, CalDataType > &  mat)
private

Copy ctor protected.

Member Function Documentation

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::advance ( const casacore::Int step)
inline

Advance step matrices forward (according to len)

Definition at line 187 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::m_, casa::SkyCal< DataType, CalDataType >::ok_, and casa::SkyCal< DataType, CalDataType >::typesize().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::apply ( casacore::Matrix< DataType > &  v,
casacore::Matrix< casacore::Bool > &  f 
)
inline

In-place multiply onto a data with flag information apply implements position switch calibration: (ON - OFF)/OFF.

This processes the data corresponding to each DATA cell (npol * nchan) together in contrast to Mueller series, which processes one casacore::Stokes vector, i.e., process each channel individually.

(ON - OFF) / OFF

Definition at line 206 of file SkyCal.h.

References casa::data, casa::SkyCal< DataType, CalDataType >::flag(), casacore::Array< T >::getStorage(), casa::SkyCal< DataType, CalDataType >::m_, casa::SkyCal< DataType, CalDataType >::nchan_, casa::SkyCal< DataType, CalDataType >::npol_, casacore::Array< T >::putStorage(), and casacore::Matrix< T >::shape().

Referenced by casa::SkyCal< DataType, CalDataType >::apply().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::apply ( casacore::Matrix< DataType > &  v,
casacore::Matrix< casacore::Bool > &  f,
casacore::Vector< casacore::Bool > &  vflag 
)
inline
template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::apply ( casacore::Matrix< DataType > &  out,
casacore::Matrix< casacore::Bool > &  outFlag,
const casacore::Matrix< DataType > &  in,
const casacore::Matrix< casacore::Bool > &  inFlag 
)
inline

Multiply onto a vis VisVector, preserving input (copy then in-place apply)

Definition at line 275 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::apply().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::applyFlag ( casacore::Vector< casacore::Bool > &  vflag)
inline

Apply only flags according to cal flags.

Similar to apply, flagging also processes each DATA cell together.

Definition at line 238 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::nchan_, casa::SkyCal< DataType, CalDataType >::npol_, casa::SkyCal< DataType, CalDataType >::ok_, and casa::SkyCal< DataType, CalDataType >::scalardata_.

Referenced by casa::SkyCal< DataType, CalDataType >::apply().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::flag ( casacore::Matrix< casacore::Bool > &  v)
inline
template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::invert ( )
inline

In-place invert.

Definition at line 190 of file SkyCal.h.

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::operator++ ( )
inline

Increment to next vector (according to len) In practice, this operator increments row index.

Definition at line 183 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::m_, casa::SkyCal< DataType, CalDataType >::ok_, and casa::SkyCal< DataType, CalDataType >::typesize().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::operator++ ( int  )
inline
template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::origin ( )
inline
template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::setMatByOk ( )
inline

Set matrix elements according to ok flag (so we don't have to check ok flags atomically in apply)

Definition at line 194 of file SkyCal.h.

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::setNumChannel ( casacore::uInt  n)
inline

Definition at line 165 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::nchan_.

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::setNumPolarization ( casacore::uInt  n)
inline

Definition at line 166 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::npol_.

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::setScalarData ( casacore::Bool  scalardata) const
inline

Set scalardata_ TBD: Handle this better; for now, we need to set this from an external call so we handle single-corr data properly when setting non-corr-dep flags.

Definition at line 172 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::scalardata_.

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::sync ( CalDataType &  mat)
inline

Synchronize with leading element in external array.

Definition at line 175 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::m0_, and casa::SkyCal< DataType, CalDataType >::origin().

template<class DataType, class CalDataType>
void casa::SkyCal< DataType, CalDataType >::sync ( CalDataType &  mat,
casacore::Bool ok 
)
inline
template<class DataType, class CalDataType>
casacore::uInt casa::SkyCal< DataType, CalDataType >::typesize ( ) const
inline

stride In Mueller series, typesize is defined as "number of polarizations" while SkyCal definition is "number of elements in the DATA cell", which is npol * nchan in practice.

Definition at line 164 of file SkyCal.h.

References casa::SkyCal< DataType, CalDataType >::nchan_, and casa::SkyCal< DataType, CalDataType >::npol_.

Referenced by casa::SkyCal< DataType, CalDataType >::advance(), and casa::SkyCal< DataType, CalDataType >::operator++().

Member Data Documentation

template<class DataType, class CalDataType>
const CalDataType casa::SkyCal< DataType, CalDataType >::cOne_
private

casacore::Complex unity, zero (for use in invert and similar methods)

Definition at line 307 of file SkyCal.h.

template<class DataType, class CalDataType>
const CalDataType casa::SkyCal< DataType, CalDataType >::cZero_
private

Definition at line 307 of file SkyCal.h.

template<class DataType, class CalDataType>
CalDataType* casa::SkyCal< DataType, CalDataType >::m0_
private

Pointer to origin.

Definition at line 299 of file SkyCal.h.

Referenced by casa::SkyCal< DataType, CalDataType >::origin(), and casa::SkyCal< DataType, CalDataType >::sync().

template<class DataType, class CalDataType>
CalDataType* casa::SkyCal< DataType, CalDataType >::m_
private
template<class DataType, class CalDataType>
CalDataType * casa::SkyCal< DataType, CalDataType >::mi_
private

Definition at line 303 of file SkyCal.h.

template<class DataType, class CalDataType>
casacore::uInt casa::SkyCal< DataType, CalDataType >::nchan_
private
template<class DataType, class CalDataType>
casacore::uInt casa::SkyCal< DataType, CalDataType >::npol_
private
template<class DataType, class CalDataType>
casacore::Bool* casa::SkyCal< DataType, CalDataType >::ok0_
private
template<class DataType, class CalDataType>
casacore::Bool* casa::SkyCal< DataType, CalDataType >::ok_
private
template<class DataType, class CalDataType>
casacore::Bool * casa::SkyCal< DataType, CalDataType >::oki_
private

Definition at line 304 of file SkyCal.h.

template<class DataType, class CalDataType>
casacore::Bool casa::SkyCal< DataType, CalDataType >::scalardata_
mutableprivate

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