Source
std::vector<std::vector<std::vector<int> > > at(bool cross, int i ); // numBaseline vectors of numBasebands vectors of numPP elem.
namespace sdmbin {
/** Class for baseline-based metadata objects, one type of component in SDM data objects.\n
There are three baseline-based metadata in these objects, the flags, the actual times (the mid-point)
and the actual durations. Sharing the same type of tree structure they derive from this BaselineMetadata
virtual class, the common base.\n
An example of how to \ref testbaselinemetadata is given in a test program which uses methods
defined in this base but also other methods which are extensions defined in the BaselineFlagsMetada
and the ActualTimeDurations classes.
*/
class BaselineMetadata
{
public:
/** Total (cross+auto) number of metadata values
* @returns The sum of the cross and auto baseline-based metadata values
* @note
* The size is determined in the method sizes() from the following formula:\n
* \f$
N_{bl}~ \sum_{i=1}^{N_{bb}} N_{bin}(i)~N_{pp}^{oo}(i) +
N_{ant}~\sum_{i=1}^{N_{bb}} N_{bin}(i)~N_{pp}^{o}(i)
* \f$\n
* and the peculiar non-standard mode ({\it correlationMode}=0) by:\n
* \f$
N_{bl}~ \sum_{i=1}^{N_{bb}} N_{bin}(i)~N_{pp}^{oo}(i) +
N_{ant}~\sum_{i=1}^{N_{bb}} N_{bin}(i)~f(N_{pp})(i)~
* \f$\n
* with in this specific case \n
* \f$
f(N_{pp}(i)) = \left\| \begin{array}
{r@{\quad if\quad}l}
1 & N_{pp}^{oo}(i)=1\\
2 & N_{pp}^{oo}(i)>1\\
\end{array} \right.
* \f$\n
* In this abstract class \f$N_{ant}\f$ must be considered as generic. Its actual value
* depends of the context in the derived classes.
* @note The size of the containers for the baseline-based metadata may also be obtained,
* in number of bytes, with methods of the asdmBinary::BinaryHeaderElement class.
*/
int numValue();
/** Accessor to a generic number of antennas \f$ N_{ant} \f$
* Specifities are defined in the derived classes
*/
virtual int numAnt()=0;
/** Accessor to an actual number of antennas \f$ N'_{ant} \f$
* Specifities are defined in the derived classes
*/
virtual int actualNumAnt()=0;
/** Accessor to the number of baselines
* @return the number of baselines \f$ N_{bl} \f$
*/
int numBaseline();
/** Accessor to the number of basebands
* @return The number of basebands \f$ N_{bb} \f$
*/