casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
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::DataDescriptionsSet sdmbin::SwitchCyclesList sdmbin::SwitchCyclesList sdmbin::SwitchCyclesList sdmbin::SwitchCyclesList

List of all members.

Public Member Functions

 BaselinesSet ()
 BaselinesSet (vector< Tag > v_antennaIdArray, vector< int > v_feedIdArray, vector< int > v_phasedArrayList, vector< bool > v_antennaUsedArray, DataDescriptionsSet &dataDescriptionsSet)
 Definition of the second level of the tree hierarchy.
 BaselinesSet (const BaselinesSet &)
 Copy constructor.
 ~BaselinesSet ()
 Destructor (use the default implementation)
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.
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.
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.
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.
unsigned int baselineIndex (Tag antennaId)
 Baseline number for a given antenna identifier.
unsigned int baselineIndex (Tag antennaId1, Tag antennaId2)
 Baseline number for a given pair of antenna identifiers.
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.
unsigned int antenna1 (unsigned int baselineIndex)
 Antenna index of the first antenna of a pair defining a baseline number.
unsigned int antenna2 (unsigned int baselineIndex)
 Antenna index of the second antenna of a pair defining a baseline number.
unsigned int feedIndex (Tag antennaId, int feedId)
 Accessor to the feed index of a feed identifier given an antenna identifier.
Tag getEffAntennaId (unsigned int na)
 Antenna identifier from its index in the sequence of antenna restricted to those effectively producing data.
unsigned int getNumAntennas ()
 Number of antenna involved in the data if none would have been dropped.
int getFeedId (unsigned int na, unsigned int nfe)
 Accessor to the feed identifier given a feed index and an antenna index.
unsigned int getNumEffAntennas ()
 Number of antenna actualy involved in the data.
unsigned int getNumBaselines ()
 Get the number of antenna pairs if all the antennas in v_AntennaIdArray_ were used.
unsigned int getNumEffBaselines ()
 Get the effective number of antenna pairs producing data.
unsigned int getNumPDTvalue (Enum< DataContent > e_dc, EnumSet< AxisName > es_an, bool effective)
 Get the number of primitive data values (i.e.
 BaselinesSet ()
 BaselinesSet (vector< Tag > v_antennaIdArray, vector< int > v_feedIdArray, vector< int > v_phasedArrayList, vector< bool > v_antennaUsedArray, DataDescriptionsSet &dataDescriptionsSet)
 Definition of the second level of the tree hierarchy.
 BaselinesSet (const BaselinesSet &)
 Copy constructor.
 ~BaselinesSet ()
 Destructor (use the default implementation)
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.
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.
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.
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.
unsigned int baselineIndex (Tag antennaId)
 Baseline number for a given antenna identifier.
unsigned int baselineIndex (Tag antennaId1, Tag antennaId2)
 Baseline number for a given pair of antenna identifiers.
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.
unsigned int antenna1 (unsigned int baselineIndex)
 Antenna index of the first antenna of a pair defining a baseline number.
unsigned int antenna2 (unsigned int baselineIndex)
 Antenna index of the second antenna of a pair defining a baseline number.
unsigned int feedIndex (Tag antennaId, int feedId)
 Accessor to the feed index of a feed identifier given an antenna identifier.
Tag getEffAntennaId (unsigned int na)
 Antenna identifier from its index in the sequence of antenna restricted to those effectively producing data.
unsigned int getNumAntennas ()
 Number of antenna involved in the data if none would have been dropped.
int getFeedId (unsigned int na, unsigned int nfe)
 Accessor to the feed identifier given a feed index and an antenna index.
unsigned int getNumEffAntennas ()
 Number of antenna actualy involved in the data.
unsigned int getNumBaselines ()
 Get the number of antenna pairs if all the antennas in v_AntennaIdArray_ were used.
unsigned int getNumEffBaselines ()
 Get the effective number of antenna pairs producing data.
unsigned int getNumPDTvalue (Enum< DataContent > e_dc, EnumSet< AxisName > es_an, bool effective)
 Get the number of primitive data values (i.e.

Private Attributes

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

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 ( vector< Tag >  v_antennaIdArray,
vector< int >  v_feedIdArray,
vector< int >  v_phasedArrayList,
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

Copy constructor.

Destructor (use the default implementation)

sdmbin::BaselinesSet::BaselinesSet ( vector< Tag >  v_antennaIdArray,
vector< int >  v_feedIdArray,
vector< int >  v_phasedArrayList,
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

Copy constructor.

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::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::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 ( 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 ( 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.
unsigned int sdmbin::BaselinesSet::baselineIndex ( Tag  antennaId1,
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 ( Tag  antennaId1,
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 
)

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.
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 300 of file BaselinesSet.h.

References casa::max(), and casa::min().

unsigned int sdmbin::BaselinesSet::feedIndex ( 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.
unsigned int sdmbin::BaselinesSet::feedIndex ( 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.
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
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.
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.

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

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

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 $

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 $

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.

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.

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().

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< DataContent >  e_dc,
EnumSet< 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::getNumPDTvalue ( Enum< DataContent >  e_dc,
EnumSet< 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  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  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  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_.

unsigned int sdmbin::BaselinesSet::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.

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.

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.

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().

vector< Tag > sdmbin::BaselinesSet::v_AntennaIdArray_ [private]

Input array set of antenna identifiers (size numAntennas_)

Definition at line 263 of file BaselinesSet.h.

Effective array of antenna identifiers.

Definition at line 271 of file BaselinesSet.h.

vector< int > sdmbin::BaselinesSet::v_FeedIdArray_ [private]

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

Definition at line 264 of file BaselinesSet.h.

Input phasedArray list (not yet implemented)

Definition at line 265 of file BaselinesSet.h.


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