DP3
Public Types | Public Member Functions | Friends | List of all members
dp3::ddecal::SolveData< MatrixType >::ChannelBlockData Class Reference

#include <SolveData.h>

Public Types

using const_iterator = typename std::vector< MatrixType >::const_iterator
 

Public Member Functions

uint32_t Antenna1Index (size_t visibility_index) const
 
uint32_t Antenna2Index (size_t visibility_index) const
 
const_iterator DataBegin () const
 
const_iterator DataEnd () const
 
const MatrixType & ModelVisibility (size_t direction, size_t index) const
 
size_t NAntennaVisibilities (size_t antenna_index) const
 
size_t NDirections () const
 
uint32_t NSolutionsForDirection (size_t direction_index) const
 
size_t NSolutionVisibilities (size_t direction_index, uint32_t solution_index) const
 
uint32_t NSubSolutions () const
 
size_t NVisibilities () const
 
void Resize (size_t n_visibilities, size_t n_directions)
 
void ResizeWeights (size_t n_visibilities)
 
uint32_t SolutionIndex (size_t direction_index, size_t visibility_index) const
 
const uint32_t * SolutionMapData () const
 
const MatrixType & Visibility (size_t index) const
 
const float & Weight (size_t index) const
 

Friends

class SolveData< MatrixType >
 

Member Typedef Documentation

◆ const_iterator

template<typename MatrixType = aocommon::MC2x2F>
using dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::const_iterator = typename std::vector<MatrixType>::const_iterator

Member Function Documentation

◆ Antenna1Index()

template<typename MatrixType = aocommon::MC2x2F>
uint32_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::Antenna1Index ( size_t  visibility_index) const
inline

◆ Antenna2Index()

template<typename MatrixType = aocommon::MC2x2F>
uint32_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::Antenna2Index ( size_t  visibility_index) const
inline

◆ DataBegin()

template<typename MatrixType = aocommon::MC2x2F>
const_iterator dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::DataBegin ( ) const
inline

◆ DataEnd()

template<typename MatrixType = aocommon::MC2x2F>
const_iterator dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::DataEnd ( ) const
inline

◆ ModelVisibility()

template<typename MatrixType = aocommon::MC2x2F>
const MatrixType& dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::ModelVisibility ( size_t  direction,
size_t  index 
) const
inline

◆ NAntennaVisibilities()

template<typename MatrixType = aocommon::MC2x2F>
size_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NAntennaVisibilities ( size_t  antenna_index) const
inline

The number of visibilities in which a given antenna participates.

◆ NDirections()

template<typename MatrixType = aocommon::MC2x2F>
size_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NDirections ( ) const
inline

◆ NSolutionsForDirection()

template<typename MatrixType = aocommon::MC2x2F>
uint32_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NSolutionsForDirection ( size_t  direction_index) const
inline
Returns
The number of solutions for the given direction.

◆ NSolutionVisibilities()

template<typename MatrixType = aocommon::MC2x2F>
size_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NSolutionVisibilities ( size_t  direction_index,
uint32_t  solution_index 
) const

The number of visibilities in which a given solution participates. This is thus the number of visibilities for one direction and (within that direction) one solution interval, which in the case of regular data means it is the number of channels times the number of baselines times the number of timesteps within the given solution interval. The solution_index should refer to a solution interval that is inside the given direction.

◆ NSubSolutions()

template<typename MatrixType = aocommon::MC2x2F>
uint32_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NSubSolutions ( ) const
inline
Returns
Total number of solutions. This is the sum of the solutions over all directions.

◆ NVisibilities()

template<typename MatrixType = aocommon::MC2x2F>
size_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::NVisibilities ( ) const
inline

◆ Resize()

template<typename MatrixType = aocommon::MC2x2F>
void dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::Resize ( size_t  n_visibilities,
size_t  n_directions 
)
inline

◆ ResizeWeights()

template<typename MatrixType = aocommon::MC2x2F>
void dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::ResizeWeights ( size_t  n_visibilities)
inline

◆ SolutionIndex()

template<typename MatrixType = aocommon::MC2x2F>
uint32_t dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::SolutionIndex ( size_t  direction_index,
size_t  visibility_index 
) const
inline

Absolute solution index for a direction and visibility combination. When using direction-dependent intervals, a single direction might have multiple solutions. The solution index is absolute, meaning that direction zero starts counting at zero and indices of subsequent directions start after the previous direction. For every direction, the first solution index is also the lowest value, i.e. SolutionIndex(D, 0) <= SolutionIndex(D, i) for any i,D.

◆ SolutionMapData()

template<typename MatrixType = aocommon::MC2x2F>
const uint32_t* dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::SolutionMapData ( ) const
inline

◆ Visibility()

template<typename MatrixType = aocommon::MC2x2F>
const MatrixType& dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::Visibility ( size_t  index) const
inline

◆ Weight()

template<typename MatrixType = aocommon::MC2x2F>
const float& dp3::ddecal::SolveData< MatrixType >::ChannelBlockData::Weight ( size_t  index) const
inline

Friends And Related Function Documentation

◆ SolveData< MatrixType >

template<typename MatrixType = aocommon::MC2x2F>
friend class SolveData< MatrixType >
friend

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