casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
sdmbin::BaselinesSet Class Reference

Definition of the second level (the top level) in the tree hierarchy: include the antenna baseline configuration. More...

#include <BaselinesSet.h>

Inheritance diagram for sdmbin::BaselinesSet:
sdmbin::DataDescriptionsSet sdmbin::SwitchCyclesList

Public Member Functions

 BaselinesSet ()
 
 BaselinesSet (std::vector< asdm::Tag > v_antennaIdArray, std::vector< int > v_feedIdArray, std::vector< int > v_phasedArrayList, std::vector< bool > v_antennaUsedArray, DataDescriptionsSet &dataDescriptionsSet)
 Definition of the second level of the tree hierarchy. More...
 
 BaselinesSet (const BaselinesSet &)
 Copy constructor. More...
 
 ~BaselinesSet ()
 Destructor (use the default implementation) More...
 
unsigned int transferId (unsigned int na, unsigned int ndd, unsigned int nbin)
 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. More...
 
unsigned int transferId (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin)
 Transfer identifier for a given node in the tree hierarchy for auto-correlation data. More...
 
unsigned int transferId (unsigned int na1, unsigned int na2, unsigned int ndd, unsigned int nbin, unsigned int napc)
 Transfer identifier for a given node in the tree hierarchy for cross-correlation data. More...
 
unsigned int transferId (unsigned int na1, unsigned int na2, unsigned int nfe, unsigned int ndd, unsigned int nbin, unsigned int napc)
 Transfer identifier for a given node in the tree hierarchy for cross-correlation data. More...
 
unsigned int baselineIndex (asdm::Tag antennaId)
 Baseline number for a given antenna identifier. More...
 
unsigned int baselineIndex (asdm::Tag antennaId1, asdm::Tag antennaId2)
 Baseline number for a given pair of antenna identifiers. More...
 
unsigned int baselineIndex (unsigned int na1, unsigned int na2)
 Baseline number for a given pair of antenna indices in the list of antennas effectively producing data. More...
 
unsigned int antenna1 (unsigned int baselineIndex)
 Antenna index of the first antenna of a pair defining a baseline number. More...
 
unsigned int antenna2 (unsigned int baselineIndex)
 Antenna index of the second antenna of a pair defining a baseline number. More...
 
unsigned int feedIndex (asdm::Tag antennaId, int feedId)
 Accessor to the feed index of a feed identifier given an antenna identifier. More...
 
asdm::Tag getEffAntennaId (unsigned int na)
 Antenna identifier from its index in the sequence of antenna restricted to those effectively producing data. More...
 
unsigned int getNumAntennas ()
 Number of antenna involved in the data if none would have been dropped. More...
 
int getFeedId (unsigned int na, unsigned int nfe)
 Accessor to the feed identifier given a feed index and an antenna index. More...
 
unsigned int getNumEffAntennas ()
 Number of antenna actualy involved in the data. More...
 
unsigned int getNumBaselines ()
 Get the number of antenna pairs if all the antennas in v_AntennaIdArray_ were used. More...
 
unsigned int getNumEffBaselines ()
 Get the effective number of antenna pairs producing data. More...
 
unsigned int getNumPDTvalue (Enum< DataContentMod::DataContent > e_dc, EnumSet< AxisNameMod::AxisName > es_an, bool effective)
 Get the number of primitive data values (i.e. More...
 
- Public Member Functions inherited from sdmbin::DataDescriptionsSet
 DataDescriptionsSet ()
 
 DataDescriptionsSet (asdm::ASDM *const datasetPtr, std::vector< asdm::Tag > v_switchCycleId, std::vector< asdm::Tag > v_dataDescriptionId, CorrelationModeMod::CorrelationMode corrMode, std::vector< AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCodes)
 Define the first level in the tree hierarchy. More...
 
 DataDescriptionsSet (std::vector< int > v_switchCycleId, std::vector< int > v_dataDescriptionId, CorrelationModeMod::CorrelationMode corrMode, std::vector< AtmPhaseCorrectionMod::AtmPhaseCorrection > atmPhaseCodes)
 Define the first level in the tree hierarchy. More...
 
 DataDescriptionsSet (const DataDescriptionsSet &)
 Copy constructor. More...
 
virtual ~DataDescriptionsSet ()
 Destructor. More...
 
BasebandNameMod::BasebandName getBasebandName (unsigned int ndd)
 Get the baseband name of a given dataDescription. More...
 
unsigned int getBasebandIndex (unsigned int ndd)
 Get the baseband number of a given dataDescription. More...
 
unsigned int numBaseband ()
 Accessor to the number of basebands. More...
 
unsigned int numBin (unsigned int ndd)
 Accessor to the number of steps for the baseband of a given dataDescription. More...
 
unsigned int numPol (unsigned int ndd)
 Accessor to the number of polarization products of a given dataDescription. More...
 
unsigned int numSdPol (unsigned int ndd)
 Accessor to the number of polarization cross-products of a given dataDescription. More...
 
unsigned int numChan (unsigned int ndd)
 Accessor to the number of frequency channels of a given dataDescription. More...
 
asdm::Tag getSpwId (unsigned int ndd)
 Accessor to get the spwtral window identifier of a given dataDescription. More...
 
asdm::Frequency totBandwidth (unsigned int ndd)
 Accessor to the total frequency bandwidth of a given dataDescription. More...
 
unsigned int numApc ()
 Size of the apc axis (can be only 1 or 2) More...
 
Enum
< AtmPhaseCorrectionMod::AtmPhaseCorrection > 
atmPhaseCorrection (unsigned int atmPhaseCorrectionIndex)
 Accessor to the atmospherePhaseCorrection. More...
 
unsigned int atmPhaseCorrectionIndex (AtmPhaseCorrectionMod::AtmPhaseCorrection apc)
 Get the index position along the apc axis. More...
 
int numAutoData (unsigned int ndd)
 Provide the number of auto-correlations for a given dataDescription. More...
 
unsigned int numCrossData (unsigned int ndd)
 Provide the number of cross-correlations for a given dataDescription. More...
 
unsigned int sumMetaDataIndex ()
 Provide the number of switchCycle phases cumulated over all the basebands in the configuration. More...
 
unsigned int metaDataIndex (unsigned int ndd)
 Provide the index for a given dataDescription in the meta-data tree. More...
 
CorrelationModeMod::CorrelationMode getCorrelationMode ()
 Get the bitSize (actually the number of bytes, 2 or 4) used for the visibilities. More...
 
unsigned int getNumDataDescription ()
 Get the number of dataDescription. More...
 
unsigned int getNumChan (unsigned int ndd)
 Get the number of frequency channels for a given dataDescription. More...
 
unsigned int getNumPol (unsigned int bbIndex)
 Get the number of Polarization Products given a baseband. More...
 
unsigned int getNumPol (BasebandNameMod::BasebandName bbName)
 Get the number of Polarization Products given a baseband. More...
 
unsigned int getNumSdPol (unsigned int bbIndex)
 Get the number of Polarization Products in the case of zero-baselines given a baseband. More...
 
unsigned int getNumSdPol (BasebandNameMod::BasebandName bbName)
 Get the number of Polarization Products in the case of zero-baselines given a baseband. More...
 
unsigned int getNdd (unsigned int bbIndex, unsigned int j)
 Get the index of a dataDescription given its index in its parent baseband. More...
 
unsigned int getNdd (BasebandNameMod::BasebandName bbName, unsigned int j)
 Get the index of a dataDescription given its index in its parent baseband. More...
 
unsigned int getNumSpw (unsigned int bbIndex)
 Get the number of Spectral Windows in a given baseband identified by its index. More...
 
unsigned int getNumSpw (BasebandNameMod::BasebandName bbName)
 Get the number of Spectral Windows in a given baseband identified by its name. More...
 
unsigned int getDataDescriptionIndex (asdm::Tag dataDescriptionId)
 Get the dataDescription index given a dataDescriptionId identifier. More...
 
unsigned long getAutoSize ()
 Get the size of the block of data for the auto-correlations originating from one antenna. More...
 
unsigned long getCrossSize ()
 Get the size of the block of cross-correlation data for the ensemble of spectral windows and a single non-zero baseline. More...
 
unsigned long getNumAutoData ()
 Number of auto-correlations produce for one antenna. More...
 
unsigned long getNumCrossData ()
 Number of cross-correlations produced by one non-zero baseline for the set of dataDescriptions. More...
 
unsigned long getNumAutoData (asdm::Tag autoDataDescriptionId)
 Number of auto-correlations produced by one antenna for one dataDescription. More...
 
unsigned long getNumCrossData (asdm::Tag crossDataDescriptionId)
 Number of cross-correlations produced by one non-zero baseline for a given dataDescription. More...
 
asdm::Tag getAutoDataDescriptionId (asdm::Tag crossDataDescriptionId)
 Get the array of dataDescriptionId identifiers for the auto-correlations. More...
 
std::vector< asdm::TaggetAutoDataDescriptionId ()
 Get the array of dataDescriptionId identifiers for the cross-correlations. More...
 
std::vector< asdm::TaggetCrossDataDescriptionId ()
 Get the array of dataDescriptionId identifiers for the cross-correlations. More...
 
- Public Member Functions inherited from sdmbin::SwitchCyclesList
std::vector< asdm::TaggetSwitchCyclesList ()
 Accessor on the array of SwitchCycle identifiers. More...
 
std::vector< asdm::TaggetSwitchCyclesList (BasebandNameMod::BasebandName basebandName)
 Accessor on the array of SwitchCycle identifiers given a named baseband. More...
 
std::vector< int > getNumBin ()
 Accessor on the number of steps for the SwitchCycles for every of the dataDesription in the list in configDescription. More...
 
std::vector< int > getNumBin (BasebandNameMod::BasebandName basebandName)
 Accessor on the number of steps for the SwitchCycles given a named basebaband. More...
 
 SwitchCyclesList (const SwitchCyclesList &)
 Copy constructor. More...
 
virtual ~SwitchCyclesList ()
 

Private Attributes

std::vector< asdm::Tagv_AntennaIdArray_
 Input array set of antenna identifiers (size numAntennas_) More...
 
std::vector< int > v_FeedIdArray_
 Input array list of feed identifiers (size numFeed*numAntennas_) More...
 
std::vector< int > v_PhasedArrayList_
 Input phasedArray list (not yet implemented) More...
 
unsigned int numFeeds_
 Input number of feeds. More...
 
unsigned int numAntennas_
 Input number of antennas. More...
 
unsigned int numEffAntennas_
 Effective number of antennas with data. More...
 
unsigned int numBaselines_
 number of antenna pairs More...
 
unsigned int numEffBaselines_
 Effective number of antenna pairs. More...
 
std::vector< asdm::Tagv_effAntennaIdArray_
 Effective array of antenna identifiers. More...
 

Additional Inherited Members

- Protected Member Functions inherited from sdmbin::SwitchCyclesList
 SwitchCyclesList ()
 
 SwitchCyclesList (asdm::ASDM *const datasetPtr, std::vector< asdm::Tag > v_switchCycleId)
 Class to define the root of the tree hierarchy. More...
 
 SwitchCyclesList (asdm::ASDM *const datasetPtr, std::vector< std::vector< asdm::Tag > > vv_switchCycleId)
 Class to define the root of the tree hierarchy. More...
 
 SwitchCyclesList (asdm::ASDM *const datasetPtr, std::vector< std::vector< int > > vv_switchCycleId)
 Class to define the root of the tree hierarchy. More...
 
- Protected Attributes inherited from sdmbin::DataDescriptionsSet
std::vector< asdm::Tagv_dataDescriptionIdArray_
 the input array of dataDescription identifiers More...
 
Enum
< CorrelationModeMod::CorrelationMode > 
e_cm_
 Type-safe correlation mode. More...
 
CorrelationModeMod::CorrelationMode correlationMode_
 Correlation mode. More...
 
EnumSet
< AtmPhaseCorrectionMod::AtmPhaseCorrection > 
es_apc_
 Atmospheric Phase Correction set. More...
 
std::vector
< AtmPhaseCorrectionMod::AtmPhaseCorrection > 
v_atmPhaseCorrection_
 sequence of the Atmospheric Phase Correction values along the apc axis More...
 
std::vector< unsigned int > v_numPol_
 number of cross-products (size numDataDesc_) More...
 
std::vector< asdm::Tagv_spwId_
 sequence of spectral window identifiers (size numDataDesc_) More...
 
std::vector< unsigned int > v_numChan_
 sequence of nb of chan. i.e. spectral points (size numDataDesc_) More...
 
std::vector
< BasebandNameMod::BasebandName > 
v_basebandName_
 (size numDataDesc_), baseband name for every spectral window. More...
 
std::vector< std::vector< int > > vv_nsp_
 Nb of chan. per dataDescription (size numBaseband) vectors. More...
 
std::map
< BasebandNameMod::BasebandName,
std::vector< DataDescParams > > 
m_bn_v_ddp_
 The sequence of dataDescParams in the different basebands. More...
 
std::map< asdm::Tag,
BasebandNameMod::BasebandName > 
m_ddid_bbn_
 Association between the dataDescriptionId and the baseband name. More...
 
unsigned int numApc_
 APC axis size (can take the value 1 or 2 only) More...
 
unsigned int numDataDescription_
 Explicit number of dataDescriptionId. More...
 
unsigned int sumMetaDataIndex_
 Sum of the elements of the vector v_metaDataIndex_. More...
 
unsigned long sumAutoSize_
 Sum of the elements of the vector v_autoSize_. More...
 
unsigned long sumCrossSize_
 Sum of the elements of the vector v_crossSize_. More...
 
std::vector< unsigned int > v_metaDataIndex_
 Indices for positions for every dataDesc (size numDataDesc_) More...
 
std::vector< unsigned long > v_cumulAutoSize_
 Number of bytes to skip for every dataDesc (size numDataDesc_) More...
 
std::vector< unsigned long > v_cumulCrossSize_
 Number of bytes to skip for every dataDesc (size numDataDesc_) More...
 
std::vector< unsigned long > v_numAutoData_
 Number of auto-correlations per antenna (size numDataDesc_) More...
 
std::vector< unsigned long > v_numCrossData_
 Number of cross-correlations per antenna pair (size numDataDesc_) More...
 
std::vector< unsigned long > v_autoSize_
 Size, in nb PDT values, for every dataDesc (size numDataDesc_) More...
 
std::vector< unsigned long > v_crossSize_
 Size, in nb PDT values, for every dataDesc (size numDataDesc_) More...
 
std::vector< asdm::Tagv_crossDataDescriptionId_
 Vector of dataDecsritionId for the cross-correlations (size numDataDesc_) More...
 
std::vector< asdm::Tagv_autoDataDescriptionId_
 Vector of dataDecsritionId for the auto-correlations (size <= numDataDesc_) More...
 
std::vector< bool > v_pairDataDescriptionId_
 true if crossDataDecsritionId assoc to autoDataDecsritionId (size numDataDesc_) More...
 
std::vector
< BasebandNameMod::BasebandName > 
v_basebandSet_
 Sequence of baseband names. More...
 
EnumSet
< BasebandNameMod::BasebandName > 
e_basebandSet_
 Set of baseband names. More...
 
std::vector< unsigned int > v_numSpwPerBb_
 Number of spectral windows in every baseband. More...
 
- Protected Attributes inherited from sdmbin::SwitchCyclesList
std::map
< BasebandNameMod::BasebandName,
std::vector< asdm::Tag > > 
m_bn_v_scId_
 
std::map
< BasebandNameMod::BasebandName,
std::vector< int > > 
m_bn_v_numBin_
 
std::vector< std::vector< int > > vv_numBin_
 
std::vector< int > v_numBin_
 
asdm::ASDMdatasetPtr_
 
std::vector< std::vector
< asdm::Tag > > 
vv_switchCycleId_
 
std::vector< asdm::Tagv_switchCycleId_
 

Detailed Description

Definition of the second level (the top level) in the tree hierarchy: include the antenna baseline configuration.

Definition at line 17 of file BaselinesSet.h.

Constructor & Destructor Documentation

sdmbin::BaselinesSet::BaselinesSet ( )
sdmbin::BaselinesSet::BaselinesSet ( std::vector< asdm::Tag v_antennaIdArray,
std::vector< int >  v_feedIdArray,
std::vector< int >  v_phasedArrayList,
std::vector< bool >  v_antennaUsedArray,
DataDescriptionsSet dataDescriptionsSet 
)

Definition of the second level of the tree hierarchy.

Precondition
the lower levels of the tree hierarchy are already known
Parameters
v_antennaIdArrayArray of antenna identifiers
v_feedIdArrayArray 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
Parameters
v_phasedArrayListPlace-holder, not yet implemented
v_antennaUsedArrayArray 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.
dataDescriptionsSeta dataDescriptionsSet object (i.e. the lower levels of the hierarchy
Postcondition
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
sdmbin::BaselinesSet::BaselinesSet ( const BaselinesSet )

Copy constructor.

sdmbin::BaselinesSet::~BaselinesSet ( )

Destructor (use the default implementation)

Member Function Documentation

unsigned int sdmbin::BaselinesSet::antenna1 ( unsigned int  baselineIndex)

Antenna index of the first antenna of a pair defining a baseline number.

Parameters
baselineIndexA baseline number (zero-based)
Exceptions
baselineIndexnot zero-based
Returns
the index for the first antenna of the pair in the list of antennas effectively producing data
Exceptions
Errorif there is no such baselineIndex in the configuration.
Note
See the note in the documentation of the baselineIndex() method to know how baselines are ordered and how baselines correspond to pairs of antenna indices.
unsigned int sdmbin::BaselinesSet::antenna2 ( unsigned int  baselineIndex)

Antenna index of the second antenna of a pair defining a baseline number.

Parameters
baselineIndexA baseline number (one-based)
Exceptions
baselineIndexnot one-based
Returns
the index for the second antenna of the pair
Exceptions
Errorif there is no such baselineIndex in the configuration.
Note
See the note in the documentation of the baselineIndex() method to know how baselines are ordered and how baselines correspond to pairs of antenna indices.
unsigned int sdmbin::BaselinesSet::baselineIndex ( asdm::Tag  antennaId)

Baseline number for a given antenna identifier.

This number is equal to i+1 where i is the antenna index in the list of antennas effectively producing data. In this context this is the 'zero-baseline' number. This number never exceed the number of effectively used antennas (given by the method getNumEffAntennas()).

Parameters
antennaIdAntenna identifier
Exceptions
antennaIddoes not correspond to any of the antenna effectively producing data.
Returns
The baseline number (one-based)
Exceptions
Errorif there is no antenna effectively producing data with this antennaId.

Referenced by transferId().

unsigned int sdmbin::BaselinesSet::baselineIndex ( asdm::Tag  antennaId1,
asdm::Tag  antennaId2 
)

Baseline number for a given pair of antenna identifiers.

Parameters
antennaId1Antenna identifier of one of the antenna in a pair of a non-zero baseline
Exceptions
antennaId1does not correspond to any of the antenna effectively producing data.
Parameters
antennaId2Antenna identifier of the other antenna in a pair to define the non-zero baseline
Exceptions
antennaId2does not correspond to any of the antenna effectively producing data.
Returns
The baseline number (one-based)
Exceptions
Errorif antennaId1 or (and) antennaId2 is (are) not associated to an antenna producing effectively data.
Note
Order of the baselines:
Example 1: Consider an antenna array with the list of identifiers (1,2,3,5) the pairs of identifier defining the baselines are in the order (1,2 1,3 2,3 1,5 2,5 3,5). Hence, if antennaId1=2 and antennaId2=3 the returned value is 3.
Example 2: Consider an antenna array with the list of identifiers (5,2,3,1) the pairs of identifier defining the baselines are in the order (5,2 5,3 2,3 5,1 2,1 3,1). If antennaId1=2 and antennaId2=3 the returned value is 3. If antennaId1=5 and antennaId2=1 the returned value is 4. Note that if antennaId1=1 and antennaId2=5 the returned value will be again 4 due to the convention that baselines are defined on the basis of a pair onf indices (see the note in the documentation for the transferId(int, int, int, int, int) method.
unsigned int sdmbin::BaselinesSet::baselineIndex ( unsigned int  na1,
unsigned int  na2 
)
inline

Baseline number for a given pair of antenna indices in the list of antennas effectively producing data.

Parameters
na1index (zero-based) of antenna 1
Exceptions
na1exceeds the maximum limit imposed by the number of antennas effectively producing data
Parameters
na2index (zero-based) of antenna 2
Exceptions
na2exceeds the maximum limit imposed by the number of antennas effectively producing data
Returns
the corresponding baseline number (one-based)
Exceptions
Errorthis methods returns 0 in lax mode if na1 or na2 exceeds this maximum limit
Note
  1. Order of the baselines:
    Example for an antenna array consisting of 4 antennas the indices describing this array range from 0 to 3. The pairs of indices for the baselines are in the order (0,1 0,2 1,2 0,3 1,3 2,3). Hence, if na1=1 and na2=3 the returned value is 5.
  2. By definition the first index in any pair being always smaller than the second index, would in the input na1>na2, the method swaps these indices.

Definition at line 293 of file BaselinesSet.h.

References max, and min.

unsigned int sdmbin::BaselinesSet::feedIndex ( asdm::Tag  antennaId,
int  feedId 
)

Accessor to the feed index of a feed identifier given an antenna identifier.

Parameters
antennaIdAntenna identifier of an antenna
feedIdFeed identifier
Returns
The feed index (zero-based)
Exceptions
Error
  • No antenna with this antenna identifier. In this case, in lax mode, this method return -1.
  • No feed with this feed identifier given the antenna identifier. In this case, in lax mode, this method return -2.
asdm::Tag sdmbin::BaselinesSet::getEffAntennaId ( unsigned int  na)

Antenna identifier from its index in the sequence of antenna restricted to those effectively producing data.

Parameters
naThe antenna index in the list of $ N'_{ant}$ antennas effectively producing data
Exceptions
naexceeds $ N'_{ant}-1$
Returns
The antenna identifier
int sdmbin::BaselinesSet::getFeedId ( unsigned int  na,
unsigned int  nfe 
)

Accessor to the feed identifier given a feed index and an antenna index.

Parameters
naThe antenna index in the list of $ N'_{ant}$ antennas effectively producing data
Exceptions
naexceeds $ N'_{ant}-1$
Parameters
nfeThe feed index
Exceptions
nfeexceeds the upper limit considering the number of feeds used in the configuration.
Returns
a feed identifier
Note
In general for telescopes with no focal plane arrays (FPA), this identifier should have always the value 0. Although ALMA does not have FPAs, a feed identifier may also have the value 1. That would happen in datasets with spectral windows located in the overlap region of two receiver bands, e.g. the ALMA bands 2 and 3, some of the data obtained with band 2 and the other data with band 3 for identical spectral windows.
unsigned int sdmbin::BaselinesSet::getNumAntennas ( )

Number of antenna involved in the data if none would have been dropped.

Returns
this number $ N_{ant} $ which is also the number of antenna scheduled for the observations
unsigned int sdmbin::BaselinesSet::getNumBaselines ( )

Get the number of antenna pairs if all the antennas in v_AntennaIdArray_ were used.

Returns
The number of baselines actually scheduled for the observations.
Note
This is simply given by $ N_{bl}=N_{ant}(N_{ant}-1)/2 $
unsigned int sdmbin::BaselinesSet::getNumEffAntennas ( )

Number of antenna actualy involved in the data.

Returns
the actual number $ N'_{ant} $ producing data
Note
The constraint is that this number can not exceed the number of antenna scheduled for the observations: $ N'_{ant} \le N_{ant} $.
This number $ N'_{ant}$ is equal to the number of items in the vector antennaUsedArray which have the value "true", this vector being a parameter required by the constructors.

See the BaselineFlagsMetadata class for details to define or find when a given antenna produce or not data.

unsigned int sdmbin::BaselinesSet::getNumEffBaselines ( )

Get the effective number of antenna pairs producing data.

Returns
The number of antenna actually producing data
Note
This is simply given by $ N'_{bl}=N'_{ant}(N'_{ant}-1)/2 $
where N'_{ant} is the value returned by the method getNumEffAntennas().
unsigned int sdmbin::BaselinesSet::getNumPDTvalue ( Enum< DataContentMod::DataContent >  e_dc,
EnumSet< AxisNameMod::AxisName >  es_an,
bool  effective 
)

Get the number of primitive data values (i.e.

when a complex number counts for two values) for a block of data.

Parameters
e_dcthe nature of the data content
es_anthe sequence of axes associated to the structure for this block of data
effectivea boolean to tell if one consider only the antennas which actualy produce data or all those scheduled to do the observations.
Note
Note that ALMA has dropped this concept of restricting to the antennas that have effectively produced data. Hence in that context "effective" must be set to false and the data involving the antennas with problem will be considered as blanked on the basis of the FLAGS information.
unsigned int sdmbin::BaselinesSet::transferId ( unsigned int  na,
unsigned int  ndd,
unsigned int  nbin 
)

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.

Precondition
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.
Parameters
naIndex of the antenna
nddIndex of the dataDescription
nbinIndex for the step in a switchCycle (nbin=0 if no switchCycle mode used)
Returns
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 CROSS_AND_AUTO mode, the cross data are stored with an APC axis size of 2. Would TelCal not like this feature will have to be modified in the method size() of the base class DataDescriptionsSet and this will have an additional napc input parameter.
unsigned int sdmbin::BaselinesSet::transferId ( unsigned int  na,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin 
)

Transfer identifier for a given node in the tree hierarchy for auto-correlation data.

Precondition
WARNING: if the use-case is CROSS_AND_AUTO and the current index ndd corresponds to the case when crossDataDescriptionId is not associated to a 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.
Parameters
naIndex of the antenna
nfeIndex of the feed (required when using FPAs)
nddIndex of the dataDescription
nbinIndex for the step in a switchCycle (nbin=0 if no switchCycle mode used)
Returns
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 CROSS_AND_AUTO mode, the cross data are stored with an APC axis size of 2. Would TelCal not like this feature will have to be modified in the method size() of the base class DataDescriptionsSet and this will have an additional napc input parameter.
unsigned int sdmbin::BaselinesSet::transferId ( unsigned int  na1,
unsigned int  na2,
unsigned int  ndd,
unsigned int  nbin,
unsigned int  napc 
)

Transfer identifier for a given node in the tree hierarchy for cross-correlation data.

Parameters
na1Index of the antenna 1
na2Index of the antenna 2
nddIndex of the dataDescription
nbinindex for the step in a switchCycle (nbin=0 if no switchCycle mode used)
Returns
A position (counted in number of PDT values) in the container of cross-correlation data where the data starts for the selection
Note
A baseline corresponds to a pair of indices. The convention is that the first index is smaller than the second one (i.e. na1<na2). In case na2<na1, this method will consider na2 as the first index and na1 as the second one.
unsigned int sdmbin::BaselinesSet::transferId ( unsigned int  na1,
unsigned int  na2,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin,
unsigned int  napc 
)
inline

Transfer identifier for a given node in the tree hierarchy for cross-correlation data.

Parameters
na1Index of the antenna 1
na2Index of the antenna 2
nfeIndex of the feed (required when using FPAs)
nddIndex of the dataDescription
nbinIndex for the step in a switchCycle (0nbin=0 if no switchCycle mode used)
Returns
A position (counted in number of PDT values) in the container of cross-correlation data where the data starts for the selection
Note
A baseline corresponds to a pair of indices. The convention is that the first index is smaller than the second one (i.e. na1<na2). In case na2<na1, this method will consider na2 as the first index and na1 as the second one.

Definition at line 276 of file BaselinesSet.h.

References baselineIndex(), sdmbin::DataDescriptionsSet::numApc_, sdmbin::DataDescriptionsSet::numBin(), numFeeds_, sdmbin::DataDescriptionsSet::sumCrossSize_, sdmbin::DataDescriptionsSet::v_crossSize_, and sdmbin::DataDescriptionsSet::v_cumulCrossSize_.

Member Data Documentation

unsigned int sdmbin::BaselinesSet::numAntennas_
private

Input number of antennas.

Definition at line 267 of file BaselinesSet.h.

unsigned int sdmbin::BaselinesSet::numBaselines_
private

number of antenna pairs

Definition at line 269 of file BaselinesSet.h.

unsigned int sdmbin::BaselinesSet::numEffAntennas_
private

Effective number of antennas with data.

Definition at line 268 of file BaselinesSet.h.

unsigned int sdmbin::BaselinesSet::numEffBaselines_
private

Effective number of antenna pairs.

Definition at line 270 of file BaselinesSet.h.

unsigned int sdmbin::BaselinesSet::numFeeds_
private

Input number of feeds.

Definition at line 266 of file BaselinesSet.h.

Referenced by transferId().

std::vector<asdm::Tag> sdmbin::BaselinesSet::v_AntennaIdArray_
private

Input array set of antenna identifiers (size numAntennas_)

Definition at line 263 of file BaselinesSet.h.

std::vector<asdm::Tag> sdmbin::BaselinesSet::v_effAntennaIdArray_
private

Effective array of antenna identifiers.

Definition at line 271 of file BaselinesSet.h.

std::vector<int> sdmbin::BaselinesSet::v_FeedIdArray_
private

Input array list of feed identifiers (size numFeed*numAntennas_)

Definition at line 264 of file BaselinesSet.h.

std::vector<int> sdmbin::BaselinesSet::v_PhasedArrayList_
private

Input phasedArray list (not yet implemented)

Definition at line 265 of file BaselinesSet.h.


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