Source
inline unsigned int BaselinesSet::transferId(unsigned int na1,unsigned int na2,unsigned int nfe, unsigned int ndd,unsigned int nbin,unsigned int napc){
namespace sdmbin {
/** Definition of the second level (the top level) in the tree hierarchy: include the antenna baseline
* configuration */
class BaselinesSet : public DataDescriptionsSet
{
public:
BaselinesSet();
/** Definition of the second level of the tree hierarchy
* @pre the lower levels of the tree hierarchy are already known
* @param v_antennaIdArray Array of antenna identifiers
* @param v_feedIdArray Array of feed identifiers
* \note Because with ALMA there is only one feed used at any time this vector has
* the same size as v_antennaIdArray. With Focal Plane Array this size is
* multiplied by the number of feeds in the FPA
* @param v_phasedArrayList Place-holder, not yet implemented
* @param v_antennaUsedArray Array to tell in the antennaIdArray which antenna have been actually used
* for the data being stored. v_antennaUsedArray and v_antennaIdArray must have
* the same size.
* @param dataDescriptionsSet a dataDescriptionsSet object (<i>i.e.</i> the lower levels of the hierarchy
* @post the whole tree hierarchy is now known, transfer identifier available for read and write methods
* @note v_feedIdArray may be typed vector<vector<int> > in the future to better describe the case of
* of focal plane arrays when used with interferometers
*/
BaselinesSet( std::vector<asdm::Tag> v_antennaIdArray,
std::vector<int> v_feedIdArray,
std::vector<int> v_phasedArrayList,
std::vector<bool> v_antennaUsedArray,
DataDescriptionsSet& dataDescriptionsSet
);
/** Copy constructor */
BaselinesSet(const BaselinesSet &);
/** Destructor (use the default implementation) */
~BaselinesSet();
/** Transfer identifier for a given node in the tree hierarchy for auto-correlation data
* Transfer identifier for a given node in the tree hierarchy for auto-correlation data
* @pre WARNING: if the use-case is CROSS_AND_AUTO and the current index ndd corresponds
* to the case when crossDataDescriptionId is not associated to an autoDataDescriptionId,
* i.e. when v_pairDataDescriptionId[ndd]==false, it is an error to invoke this method.
* This situation is met with DSB front-ends, the sideband separation being possible only
* for the cross data.
* @param na Index of the antenna
* @param ndd Index of the dataDescription
* @param nbin Index for the step in a switchCycle (nbin=0 if no switchCycle mode used)
* @return A position (counted in number of PDT values) in the container of auto-correlation
* data where the data starts for the selection
* @note Note that the APC axis has a size of 1 for the auto-correlations, even when, in the