casa
5.7.0-16
|
A class which gathers the attributes required to define data structures. More...
#include <Integration.h>
Public Member Functions | |
DataStructure () | |
Empty constructor. More... | |
DataStructure (uint32_t numPolProduct, uint32_t numBin, Enum< NetSidebandMod::NetSideband > e_sideband, uint32_t numBaseband, uint32_t numAnt, CorrelationModeMod::CorrelationMode correlationMode) | |
Constructor for a multi-dimensional structure to use e.g. More... | |
DataStructure (uint32_t numPolProduct, uint32_t numSpectralPoint, uint32_t numBin, Enum< NetSidebandMod::NetSideband > e_sideband, uint32_t numBaseband, uint32_t numAnt, CorrelationModeMod::CorrelationMode correlationMode) | |
An other constructor for a multi-dimensional structure use-case. More... | |
DataStructure (std::vector< std::vector< uint32_t > > vv_numCrossPolProduct, std::vector< std::vector< uint32_t > > vv_numAutoPolProduct, std::vector< std::vector< uint32_t > > vv_numSpectralPoint, std::vector< std::vector< uint32_t > > vv_numBin, std::vector< std::vector< Enum< NetSidebandMod::NetSideband > > > vv_e_sideband, uint32_t numApc, std::vector< uint32_t > v_numSpectralWindow, uint32_t numBaseband, uint32_t numAnt, CorrelationModeMod::CorrelationMode correlationMode) | |
Constructor in the general case, the data structure being eventualy a tree-hierarchy. More... | |
DataStructure (std::vector< std::vector< uint32_t > > vv_numAutoPolProduct, std::vector< std::vector< uint32_t > > vv_numSpectralPoint, std::vector< std::vector< uint32_t > > vv_numBin, std::vector< std::vector< Enum< NetSidebandMod::NetSideband > > > vv_e_sideband, uint32_t numApc, std::vector< uint32_t > v_numSpectralWindow, uint32_t numBaseband, uint32_t numAnt, CorrelationModeMod::CorrelationMode correlationMode) | |
Constructor for the single-dish case, the data structure being eventually a tree-hierarchy. More... | |
DataStructure (const DataStructure &) | |
Copy constructor. More... | |
~DataStructure () | |
Destructor (use the default implementation) More... | |
std::vector< std::vector < uint32_t > > | numCrossPolProducts () |
Accessor to the number of polarization cross product for non-zero baselines in every spectral window for every baseband. More... | |
std::vector< std::vector < uint32_t > > | numAutoPolProducts () |
Accessor to the number of polarization cross product for zero-baselines in every spectral window for every baseband. More... | |
std::vector< std::vector < uint32_t > > | numSpectralPoints () |
Accessor to the number of spectral points in every spectral window for every baseband. More... | |
std::vector< std::vector < uint32_t > > | numBins () |
Accessor to the number of bins in every spectral window for every baseband. More... | |
std::vector< std::vector< Enum < NetSidebandMod::NetSideband > > > | sidebands () |
Accessor to the NetSideband qualifiers in every spectral window for every baseband. More... | |
uint32_t | numApc () |
Accessor to the size of the APC axis. More... | |
std::vector< uint32_t > | numSpectralWindows () |
Accessor to the number of spectral windows in the different basebands. More... | |
uint32_t | numBaseband () |
Accessor to the number of basebands. More... | |
uint32_t | numAnt () |
Accessor to the number of antennas. More... | |
CorrelationModeMod::CorrelationMode | correlationMode () |
Accessor to the correlationMode. More... | |
std::vector< uint32_t > | leafAxisSizes () |
Method to get the axis sizes of the leaves when represented as multi-dimensional structures. More... | |
std::vector< uint32_t > | leafAxisSizes (uint32_t basebandIndex, uint32_t spectralWindowIndex) |
Axis sizes of the leave of a data structure which may not be necessarily multi-dimensional. More... | |
std::vector< uint32_t > | leafAxisSizes (uint32_t dataDescriptionIndex) |
Axis sizes of the leave of a data structure which may not be necessarily multi-dimensional. More... | |
uint32_t | isIndexible () const |
A method to know if the whole data structure can be considered as a multi-dimensional structure or not. More... | |
std::vector< uint32_t > | eAxisSizes () const |
A method to retrieve the size of all the different axes in case of a multi-dimensional structure. More... | |
std::vector< uint32_t > | axisSizes () const |
A method to retrieve the size of the axes for a multi-dimensional structure. More... | |
uint32_t | dimension () const |
Accessor to the dimensionality of the structure. More... | |
std::vector< uint32_t > | minAxSize () const |
Minimum size for every axis (level) in the structure. More... | |
std::vector< uint32_t > | maxAxSize () const |
Maximum size for every axis (level) in the structure. More... | |
uint32_t | numAutoData () const |
Number of data value (leaves) that can host the structure. More... | |
uint32_t | numCrossData () const |
Number of data value (leaves) that can host the structure. More... | |
std::string | axisSequence () const |
Axis sequense: For example 128 means a structure with 3 axes, pol,sp,na. More... | |
void | summary () const |
Utility which sumarizes the properties of the data structure. More... | |
Protected Attributes | |
std::vector< std::vector < uint32_t > > | vv_numCrossPolProduct_ |
std::vector< std::vector < uint32_t > > | vv_numAutoPolProduct_ |
std::vector< std::vector < uint32_t > > | vv_numSpectralPoint_ |
std::vector< std::vector < uint32_t > > | vv_numBin_ |
std::vector< std::vector< Enum < NetSidebandMod::NetSideband > > > | vv_e_sideband_ |
uint32_t | numApc_ |
std::vector< uint32_t > | v_numSpectralWindow_ |
uint32_t | numBaseband_ |
uint32_t | numAnt_ |
CorrelationModeMod::CorrelationMode | correlationMode_ |
std::string | axisSequence_ |
std::vector< uint32_t > | v_minSize_ |
std::vector< uint32_t > | v_maxSize_ |
Private Member Functions | |
std::string | setStructureProperties () |
A class which gathers the attributes required to define data structures.
A structure is abstract; it may have the properties of a multi-dimensional structure or of a tree-hierarchy, the dimensionality being reflected by the number of axes in one case or levels in the other case.
A structure may have up to 7 levels:
The choice between the axis 7 and 8 depends on the correlation mode. Note that for meta-data 7 and 8 can be considered implicitly at the same level. For the actual data (visibilities or auto-correlations) 7 and 8 are each other exclusive.
The attribute 'sideband' provides purely semantic information. When there are sidebands it is not mandatory to group substructures by pairs of sidebands because it is not required to store the image sideband.
The attribute 'correlationMode' provides semantic information for the context which constrains the nature of the data, each of these having their own data structure.
Definition at line 42 of file Integration.h.
sdmbin::DataStructure::DataStructure | ( | ) |
Empty constructor.
sdmbin::DataStructure::DataStructure | ( | uint32_t | numPolProduct, |
uint32_t | numBin, | ||
Enum< NetSidebandMod::NetSideband > | e_sideband, | ||
uint32_t | numBaseband, | ||
uint32_t | numAnt, | ||
CorrelationModeMod::CorrelationMode | correlationMode | ||
) |
Constructor for a multi-dimensional structure to use e.g.
for total power data produced by the baseband processor with correlationMode=1. Determine the property of the structure.
numPolProduct | Number of polarization products |
numBin | Number of step in a switching cycle |
e_sideband | Sideband qualifier (not set or NOSB | LSB | USB | DSB ) |
numBaseband | Number of basebands |
numAnt | Number of antennas |
sdmbin::DataStructure::DataStructure | ( | uint32_t | numPolProduct, |
uint32_t | numSpectralPoint, | ||
uint32_t | numBin, | ||
Enum< NetSidebandMod::NetSideband > | e_sideband, | ||
uint32_t | numBaseband, | ||
uint32_t | numAnt, | ||
CorrelationModeMod::CorrelationMode | correlationMode | ||
) |
An other constructor for a multi-dimensional structure use-case.
Determine the property of the structure.
numPolProduct | Number of polarization cross-products |
numSpectralPoint | Number of spectral points in the spectral window |
numBin | Number of bins in the switch cycle |
numBaseband | Number of basebands |
numAnt | Number of antenna (used to determine the number of baselines if correlationMode=CROSS_ONLY or CROSS_AND_AUTO |
e_sideband | Sideband NOSB | LSB | USB | DSB |
correlationMode |
|
sdmbin::DataStructure::DataStructure | ( | std::vector< std::vector< uint32_t > > | vv_numCrossPolProduct, |
std::vector< std::vector< uint32_t > > | vv_numAutoPolProduct, | ||
std::vector< std::vector< uint32_t > > | vv_numSpectralPoint, | ||
std::vector< std::vector< uint32_t > > | vv_numBin, | ||
std::vector< std::vector< Enum< NetSidebandMod::NetSideband > > > | vv_e_sideband, | ||
uint32_t | numApc, | ||
std::vector< uint32_t > | v_numSpectralWindow, | ||
uint32_t | numBaseband, | ||
uint32_t | numAnt, | ||
CorrelationModeMod::CorrelationMode | correlationMode | ||
) |
Constructor in the general case, the data structure being eventualy a tree-hierarchy.
Determine the property of the structure.
vv_numPolProduct | Number of polarization product in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_numSpectralPoint | Number of spectral points in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_numBin | Number of bins (steps in a switch cycle) in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_e_sideband | Sideband qualifying every spectral window of every baseband. |
numApc | Size o the atmospheric correction axis |
v_numSpectralWindow | Number of spectral window in for every baseband. This vector has a size equal to numBaseband. |
numBaseband | Number of baseband |
numAnt | Number of antenna (used to determine the number of baselines if correlationMode=0 or 2 |
correlationMode | An enumerator:
|
sdmbin::DataStructure::DataStructure | ( | std::vector< std::vector< uint32_t > > | vv_numAutoPolProduct, |
std::vector< std::vector< uint32_t > > | vv_numSpectralPoint, | ||
std::vector< std::vector< uint32_t > > | vv_numBin, | ||
std::vector< std::vector< Enum< NetSidebandMod::NetSideband > > > | vv_e_sideband, | ||
uint32_t | numApc, | ||
std::vector< uint32_t > | v_numSpectralWindow, | ||
uint32_t | numBaseband, | ||
uint32_t | numAnt, | ||
CorrelationModeMod::CorrelationMode | correlationMode | ||
) |
Constructor for the single-dish case, the data structure being eventually a tree-hierarchy.
Determine the property of the structure.
vv_numPolProduct | Number of polarization product in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_numSpectralPoint | Number of spectral points in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_numBin | Number of bins (steps in a switch cycle) in every spectral window for every baseband. This vector has a size equal to numBaseband. |
vv_e_sideband | Sideband qualifying every spectral window of every baseband. |
numApc | Size o the atmospheric correction axis |
v_numSpectralWindow | Number of spectral window in for every baseband. This vector has a size equal to numBaseband. |
numBaseband | Number of baseband |
numAnt | Number of antenna (used to determine the number of baselines if correlationMode=0 or 2 |
correlationMode | An enumerator:
|
sdmbin::DataStructure::DataStructure | ( | const DataStructure & | ) |
Copy constructor.
sdmbin::DataStructure::~DataStructure | ( | ) |
Destructor (use the default implementation)
std::string sdmbin::DataStructure::axisSequence | ( | ) | const |
Axis sequense: For example 128 means a structure with 3 axes, pol,sp,na.
std::vector<uint32_t> sdmbin::DataStructure::axisSizes | ( | ) | const |
A method to retrieve the size of the axes for a multi-dimensional structure.
This is the compact form where all the axes of size 1 do not participate to set the dimension of the structure. This vector has a size of 0 in case of a tree structure.
CorrelationModeMod::CorrelationMode sdmbin::DataStructure::correlationMode | ( | ) |
Accessor to the correlationMode.
uint32_t sdmbin::DataStructure::dimension | ( | ) | const |
Accessor to the dimensionality of the structure.
If this is a tree-structure this is the number of levels in the hierarchy.
std::vector<uint32_t> sdmbin::DataStructure::eAxisSizes | ( | ) | const |
A method to retrieve the size of all the different axes in case of a multi-dimensional structure.
uint32_t sdmbin::DataStructure::isIndexible | ( | ) | const |
A method to know if the whole data structure can be considered as a multi-dimensional structure or not.
std::vector<uint32_t> sdmbin::DataStructure::leafAxisSizes | ( | ) |
Method to get the axis sizes of the leaves when represented as multi-dimensional structures.
A multi-dimensional leaf is a an array with at most 4 axes:
std::vector<uint32_t> sdmbin::DataStructure::leafAxisSizes | ( | uint32_t | basebandIndex, |
uint32_t | spectralWindowIndex | ||
) |
Axis sizes of the leave of a data structure which may not be necessarily multi-dimensional.
A multi-dimensional leaf is an array with at most 4 axes:
basebandIndex | the baseband index (zero-based) |
spectralWindowIndex | the spectral index (zero-based) in the selected baseband |
std::vector<uint32_t> sdmbin::DataStructure::leafAxisSizes | ( | uint32_t | dataDescriptionIndex | ) |
Axis sizes of the leave of a data structure which may not be necessarily multi-dimensional.
A multi-dimensional leaf is an array with at most 4 axes:
dataDescriptionIndex | (zero-based) |
spectralWindowIndex | the spectral index (zero-based) in the selected baseband |
std::vector<uint32_t> sdmbin::DataStructure::maxAxSize | ( | ) | const |
Maximum size for every axis (level) in the structure.
The return size of the vector is equal to the dimension of the structure
std::vector<uint32_t> sdmbin::DataStructure::minAxSize | ( | ) | const |
Minimum size for every axis (level) in the structure.
The return size of the vector is equal to the dimension of the structure
uint32_t sdmbin::DataStructure::numAnt | ( | ) |
Accessor to the number of antennas.
uint32_t sdmbin::DataStructure::numApc | ( | ) |
Accessor to the size of the APC axis.
uint32_t sdmbin::DataStructure::numAutoData | ( | ) | const |
Number of data value (leaves) that can host the structure.
std::vector<std::vector<uint32_t> > sdmbin::DataStructure::numAutoPolProducts | ( | ) |
Accessor to the number of polarization cross product for zero-baselines in every spectral window for every baseband.
uint32_t sdmbin::DataStructure::numBaseband | ( | ) |
Accessor to the number of basebands.
std::vector<std::vector<uint32_t> > sdmbin::DataStructure::numBins | ( | ) |
Accessor to the number of bins in every spectral window for every baseband.
uint32_t sdmbin::DataStructure::numCrossData | ( | ) | const |
Number of data value (leaves) that can host the structure.
std::vector<std::vector<uint32_t> > sdmbin::DataStructure::numCrossPolProducts | ( | ) |
Accessor to the number of polarization cross product for non-zero baselines in every spectral window for every baseband.
std::vector<std::vector<uint32_t> > sdmbin::DataStructure::numSpectralPoints | ( | ) |
Accessor to the number of spectral points in every spectral window for every baseband.
std::vector<uint32_t> sdmbin::DataStructure::numSpectralWindows | ( | ) |
Accessor to the number of spectral windows in the different basebands.
|
private |
std::vector<std::vector<Enum<NetSidebandMod::NetSideband> > > sdmbin::DataStructure::sidebands | ( | ) |
Accessor to the NetSideband qualifiers in every spectral window for every baseband.
void sdmbin::DataStructure::summary | ( | ) | const |
Utility which sumarizes the properties of the data structure.
|
protected |
Definition at line 334 of file Integration.h.
|
protected |
Definition at line 333 of file Integration.h.
|
protected |
Definition at line 332 of file Integration.h.
|
protected |
Definition at line 329 of file Integration.h.
|
protected |
Definition at line 331 of file Integration.h.
|
protected |
Definition at line 336 of file Integration.h.
|
protected |
Definition at line 335 of file Integration.h.
|
protected |
Definition at line 330 of file Integration.h.
|
protected |
Definition at line 328 of file Integration.h.
|
protected |
Definition at line 325 of file Integration.h.
|
protected |
Definition at line 327 of file Integration.h.
|
protected |
Definition at line 324 of file Integration.h.
|
protected |
Definition at line 326 of file Integration.h.