casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
sdmbin::SDMBinData Class Reference

Accessor to the SDM binary data. More...

#include <SDMBinData.h>

List of all members.

Public Member Functions

 SDMBinData (ASDM *const datasetPtr, string execBlockDir)
 Constructor:
 ~SDMBinData ()
void select (EnumSet< ScanIntent > es_si)
 Method to select the main table rows to retrieve data for a subset of scan intents.
void select (EnumSet< ProcessorType > es_pt)
 Method to select the main table rows to retrieve data for a subset of processor types.
void select (EnumSet< CorrelationMode > es_cm)
 Method to select the main table rows to retrieve data for a subset of correlation modes.
void select (EnumSet< SpectralResolutionType > es_srt)
 Method to select the main table rows to retrieve data for a subset of spectral resolution types.
void select (EnumSet< TimeSampling > es_ts)
 Method to select the main table rows to retrieve data for a subset of time samplings.
void select (EnumSet< CorrelationMode > es_cm, EnumSet< SpectralResolutionType > es_srt, EnumSet< TimeSampling > es_ts)
 An alternate method to select the main table rows to retrieve data for a subset of correlation modes, spectral resolution types and time sampling.
void selectDataSubset (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
 Method to constrain the getData methods to return a (sub)set of the data which are in the BLOBs.
void setPriorityDataDescription ()
 Method to set priority for DataDescription in the output order.
vector< pair< unsigned int,
double > > 
timeSequence () const
 Accessor to the sequence of time centroids.
bool dataDescriptionFirst () const
 Predicate to tell if the dataDescriptionId has priority over time in the out sequence of MSData objects.
void applySysCal ()
 Apply system temperature calibration.
bool sysCalApplied () const
 Predicate to know if the system temperature calibration is applied when accessing data.
ProcessorType processorType (MainRow *const mainRowPtr) const
 A utility method which returns the type of the processor which produced the data referred to by a row of the Main table.
bool acceptMainRow (MainRow *const mainRowPtr)
 Accessor to the SDM Main table rows.
bool openMainRow (MainRow *const mainRowPtr)
 Accessor to one SDM Main table row.
string reasonToReject (MainRow *const mainRowPtr)
 Filter: rejection of a Main table row if it does not satisfy the criterion of selection.
bool isComplexData ()
 Method to know if the data to be retrieved will be of type complex or not.
vector< SDMData * > getData ()
vector< MSData * > getData (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
MSDatagetData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin) throw (Error)
MSDatagetCalibratedData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin, pair< bool, vector< vector< float > > > p_tsys) throw (Error)
MSDatagetData (unsigned int na1, unsigned int nfe1, unsigned int na2, unsigned int nfe2, unsigned int ndd, unsigned int nbin, vector< unsigned int > v_napc, float scleFactor)
MSDatagetCalibratedData (unsigned int na1, unsigned int nfe1, unsigned int na2, unsigned int nfe2, unsigned int ndd, unsigned int nbin, vector< unsigned int > v_napc, float scleFactor, pair< bool, vector< vector< float > > > p_tsys)
MSDatagetData (Tag antId, int feedId, Tag dataDescId, AtmPhaseCorrection apc, unsigned int binNum)
MSDatagetData (Tag antId1, int feedId1, Tag antId2, int feedId2, Tag dataDescId, vector< AtmPhaseCorrection > v_apc, unsigned int binNum)
const VMSDatagetDataCols ()
const VMSDatagetDataCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
const VMSDatagetNextMSMainCols (unsigned int n)
 Returns a pointer to a VMSData structure containing the values require to populate the MS Main table columns from what it has got from the reading of at most n SDMDataSubsets in the current BDF file.
void getNextMSMainCols (unsigned int n, boost::shared_ptr< VMSDataWithSharedPtr > &vmsData_p_sp)
const VMSDatagetNextMSMainCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n)
void getNextMSMainCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n, boost::shared_ptr< VMSDataWithSharedPtr > &vmsData_p_sp)
vector< MSData * > getMSDataFromBDFData (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n)
void getNextDataDumps (unsigned int n)
 Populates the vector v_dataDump after having read at most n DataSubsets in the BDF.
 SDMBinData (ASDM *const datasetPtr, string execBlockDir)
 Constructor:
 ~SDMBinData ()
void select (EnumSet< ScanIntent > es_si)
 Method to select the main table rows to retrieve data for a subset of scan intents.
void select (EnumSet< ProcessorType > es_pt)
 Method to select the main table rows to retrieve data for a subset of processor types.
void select (EnumSet< CorrelationMode > es_cm)
 Method to select the main table rows to retrieve data for a subset of correlation modes.
void select (EnumSet< SpectralResolutionType > es_srt)
 Method to select the main table rows to retrieve data for a subset of spectral resolution types.
void select (EnumSet< TimeSampling > es_ts)
 Method to select the main table rows to retrieve data for a subset of time samplings.
void select (EnumSet< CorrelationMode > es_cm, EnumSet< SpectralResolutionType > es_srt, EnumSet< TimeSampling > es_ts)
 An alternate method to select the main table rows to retrieve data for a subset of correlation modes, spectral resolution types and time sampling.
void selectDataSubset (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
 Method to constrain the getData methods to return a (sub)set of the data which are in the BLOBs.
void setPriorityDataDescription ()
 Method to set priority for DataDescription in the output order.
vector< pair< unsigned int,
double > > 
timeSequence () const
 Accessor to the sequence of time centroids.
bool dataDescriptionFirst () const
 Predicate to tell if the dataDescriptionId has priority over time in the out sequence of MSData objects.
void applySysCal ()
 Apply system temperature calibration.
bool sysCalApplied () const
 Predicate to know if the system temperature calibration is applied when accessing data.
bool acceptMainRow (MainRow *const mainRowPtr)
 Accessor to the SDM Main table rows.
bool openMainRow (MainRow *const mainRowPtr)
 Accessor to one SDM Main table row.
string reasonToReject (MainRow *const mainRowPtr)
 Filter: rejection of a Main table row if it does not satisfy the criterion of selection.
bool isComplexData ()
 Method to know if the data to be retrieved will be of type complex or not.
vector< SDMData * > getData ()
vector< MSData * > getData (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
MSDatagetData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin) throw (Error)
MSDatagetCalibratedData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin, pair< bool, vector< vector< float > > > p_tsys) throw (Error)
MSDatagetData (unsigned int na1, unsigned int nfe1, unsigned int na2, unsigned int nfe2, unsigned int ndd, unsigned int nbin, vector< unsigned int > v_napc, float scleFactor)
MSDatagetCalibratedData (unsigned int na1, unsigned int nfe1, unsigned int na2, unsigned int nfe2, unsigned int ndd, unsigned int nbin, vector< unsigned int > v_napc, float scleFactor, pair< bool, vector< vector< float > > > p_tsys)
MSDatagetData (Tag antId, int feedId, Tag dataDescId, AtmPhaseCorrection apc, unsigned int binNum)
MSDatagetData (Tag antId1, int feedId1, Tag antId2, int feedId2, Tag dataDescId, vector< AtmPhaseCorrection > v_apc, unsigned int binNum)
const VMSDatagetDataCols ()
const VMSDatagetDataCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc)
const VMSDatagetNextMSMainCols (unsigned int n)
 Returns a pointer to a VMSData structure containing the values require to populate the MS Main table columns from what it has got from the reading of at most n SDMDataSubsets in the current BDF file.
const VMSDatagetNextMSMainCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n)
vector< MSData * > getMSDataFromBDFData (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n)
void getNextDataDumps (unsigned int n)
 Populates the vector v_dataDump after having read at most n DataSubsets in the BDF.

Static Public Member Functions

static bool baselineReverse ()
 To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSData object.
static bool autoTrailing ()
 To know easily the position of the auto data and metadata relative to the cross data and metadata in the sequence of MSData objects or in a VMSDATA object.
static pair< bool, bool > dataOrder ()
 The two parameters defining the order in the output sequences, baslineReverse and autoTrailing.
static bool baselineReverse ()
 To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSData object.
static bool autoTrailing ()
 To know easily the position of the auto data and metadata relative to the cross data and metadata in the sequence of MSData objects or in a VMSDATA object.
static pair< bool, bool > dataOrder ()
 The two parameters defining the order in the output sequences, baslineReverse and autoTrailing.

Protected Member Functions

int attachDataObject (string dataOID)
 Do the actual binary data binding.
int attachStreamDataObject (const string &dataOID)
 Do the actual binary data binding.
int openStreamDataObject (const string &dataOID)
 Initialize the sequential reading of the SDMDataSubsets (i.e.
void detachDataObject ()
 Unset the current data binding.
MSState getMSState (unsigned int subscanNum, vector< Tag > v_stateId, vector< Tag > v_antennaId, vector< int > v_feedId, vector< Tag > v_ddId, unsigned int na, unsigned int nfe, unsigned int nspw, ArrayTime timeOfDump)
 Determine the view of a MS STATE.
int attachDataObject (string dataOID)
 Do the actual binary data binding.
int attachStreamDataObject (const string &dataOID)
 Do the actual binary data binding.
int openStreamDataObject (const string &dataOID)
 Initialize the sequential reading of the SDMDataSubsets (i.e.
void detachDataObject ()
 Unset the current data binding.
MSState getMSState (unsigned int subscanNum, vector< Tag > v_stateId, vector< Tag > v_antennaId, vector< int > v_feedId, vector< Tag > v_ddId, unsigned int na, unsigned int nfe, unsigned int nspw, ArrayTime timeOfDump)
 Determine the view of a MS STATE.

Private Member Functions

void deleteMsData (MSData *msDataPtr)
void deleteMsData (MSData *msDataPtr)

Private Attributes

EnumSet< ScanIntent > es_si_
EnumSet< ProcessorType > es_pt_
EnumSet< CorrelationMode > es_cm_
EnumSet< SpectralResolutionType > es_srt_
EnumSet< TimeSampling > es_ts_
Enum< CorrelationMode > e_qcm_
EnumSet< AtmPhaseCorrection > es_qapc_
bool ddfirst_
MainRowmainRowPtr_
string dataOID_
SDMDataObjectReader blob_r_
SDMDataObjectStreamReader sdmdosr
bool bdfMemoryMapped
vector< DataDump * > v_dataDump_
const float * floatDataPtr_
const short * shortDataPtr_
const int * longDataPtr_
const unsigned int * flagsPtr_
const int64_t * actualTimesPtr_
const int64_t * actualDurationsPtr_
const float * zeroLagsPtr_
map< Tag, BaselinesSet * > m_cdId_baselinesSet_
set< Tags_cdId_
bool complexData_
const float * floatDataDumpPtr_
vector< pair< unsigned int,
double > > 
v_tci_
bool verbose_

Static Private Attributes

static ASDMdatasetPtr_
static string execBlockDir_
static bool canSelect_
static bool forceComplex_
static MSDatamsDataPtr_
static SDMDatasdmDataPtr_
static BaselinesSetbaselinesSet_
static vector< MSData * > v_msDataPtr_
static VMSDatavmsDataPtr_
static vector< SDMData * > v_sdmDataPtr_
static bool coutDeleteInfo_
static bool baselineReverse_
static bool autoTrailing_
static bool syscal_

Detailed Description

Accessor to the SDM binary data.

Definition at line 46 of file SDMBinData.h.


Constructor & Destructor Documentation

sdmbin::SDMBinData::SDMBinData ( ASDM *const  datasetPtr,
string  execBlockDir 
)

Constructor:

Precondition:
The SDM dataset must be in memory, this dataset must have the binary data, files in a sub-directory named ASDMBinary.
Parameters:
datasetPtrPointer to the SDM dataset
execBlockDirSDM dataset directory (it must be readable as well as its sub-directory ASDMBinary.
Postcondition:
All the rows of the Main table will be accepted in the processing.
  • Would that be inadequate use the methods 'select' to accept only a subset of the SDM main table rows.
  • Use also, if desired, the method 'selectDataSubset' for further filtering at the level of the individual BLOBs.
  • After setting this filtering consider using the method 'isComplex()' before scaning the SDM main table rows if the intent is to build a MeasurementSet MAIN table.
sdmbin::SDMBinData::SDMBinData ( ASDM *const  datasetPtr,
string  execBlockDir 
)

Constructor:

Precondition:
The SDM dataset must be in memory, this dataset must have the binary data, files in a sub-directory named ASDMBinary.
Parameters:
datasetPtrPointer to the SDM dataset
execBlockDirSDM dataset directory (it must be readable as well as its sub-directory ASDMBinary.
Postcondition:
All the rows of the Main table will be accepted in the processing.
  • Would that be inadequate use the methods 'select' to accept only a subset of the SDM main table rows.
  • Use also, if desired, the method 'selectDataSubset' for further filtering at the level of the individual BLOBs.
  • After setting this filtering consider using the method 'isComplex()' before scaning the SDM main table rows if the intent is to build a MeasurementSet MAIN table.

Member Function Documentation

bool sdmbin::SDMBinData::acceptMainRow ( MainRow *const  mainRowPtr)

Accessor to the SDM Main table rows.

Parameters:
mainRowPtrPointer to a row of the Main table
Returns:
true is the SDM row passed the selection criterion, else false
Postcondition:
If true is returned the state is adeqaute to respond to a 'getData' method, else the state is adequate to respond to a new call of this acceptMainRow for an other SDM Main table row.
bool sdmbin::SDMBinData::acceptMainRow ( MainRow *const  mainRowPtr)

Accessor to the SDM Main table rows.

Parameters:
mainRowPtrPointer to a row of the Main table
Returns:
true is the SDM row passed the selection criterion, else false
Postcondition:
If true is returned the state is adeqaute to respond to a 'getData' method, else the state is adequate to respond to a new call of this acceptMainRow for an other SDM Main table row.

Apply system temperature calibration.

  @pre  System temperature calibration not applied
  @post System temperature calibration will be applied
Todo:
Handle the case when what is needed is missing in the syscal table

Apply system temperature calibration.

  @pre  System temperature calibration not applied
  @post System temperature calibration will be applied
Todo:
Handle the case when what is needed is missing in the syscal table
int sdmbin::SDMBinData::attachDataObject ( string  dataOID) [protected]

Do the actual binary data binding.

Parameters:
dataOIDThe data object identifier
int sdmbin::SDMBinData::attachDataObject ( string  dataOID) [protected]

Do the actual binary data binding.

Parameters:
dataOIDThe data object identifier
int sdmbin::SDMBinData::attachStreamDataObject ( const string &  dataOID) [protected]

Do the actual binary data binding.

The BDF is traversed as a stream.

Parameters:
dataOIDThe data object identifier
int sdmbin::SDMBinData::attachStreamDataObject ( const string &  dataOID) [protected]

Do the actual binary data binding.

The BDF is traversed as a stream.

Parameters:
dataOIDThe data object identifier
static bool sdmbin::SDMBinData::autoTrailing ( ) [static]

To know easily the position of the auto data and metadata relative to the cross data and metadata in the sequence of MSData objects or in a VMSDATA object.

Note that this order may be different compared to the order used in the BDF.

static bool sdmbin::SDMBinData::autoTrailing ( ) [static]

To know easily the position of the auto data and metadata relative to the cross data and metadata in the sequence of MSData objects or in a VMSDATA object.

Note that this order may be different compared to the order used in the BDF.

static bool sdmbin::SDMBinData::baselineReverse ( ) [static]

To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSData object.

Note:
Let assume the sequence of antennas {1,2,3,4} in the ConfigDescription table. There are two cases:
  • Return true if the resulting order is (1,2) (1,3) (2,3) (1,4) (2,4) and (3,4)
  • Return false if the resulting order is (1,2) (1,3) (1,4) (2,3) (2,4) and (3,4)

Note that this order may be different compared to the order used in the BDF.

static bool sdmbin::SDMBinData::baselineReverse ( ) [static]

To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSData object.

Note:
Let assume the sequence of antennas {1,2,3,4} in the ConfigDescription table. There are two cases:
  • Return true if the resulting order is (1,2) (1,3) (2,3) (1,4) (2,4) and (3,4)
  • Return false if the resulting order is (1,2) (1,3) (1,4) (2,3) (2,4) and (3,4)

Note that this order may be different compared to the order used in the BDF.

Predicate to tell if the dataDescriptionId has priority over time in the out sequence of MSData objects.

Predicate to tell if the dataDescriptionId has priority over time in the out sequence of MSData objects.

static pair<bool,bool> sdmbin::SDMBinData::dataOrder ( ) [static]

The two parameters defining the order in the output sequences, baslineReverse and autoTrailing.

static pair<bool,bool> sdmbin::SDMBinData::dataOrder ( ) [static]

The two parameters defining the order in the output sequences, baslineReverse and autoTrailing.

void sdmbin::SDMBinData::deleteMsData ( MSData msDataPtr) [private]
void sdmbin::SDMBinData::deleteMsData ( MSData msDataPtr) [private]

Unset the current data binding.

Unset the current data binding.

MSData* sdmbin::SDMBinData::getCalibratedData ( unsigned int  na,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin,
pair< bool, vector< vector< float > > >  p_tsys 
) throw (Error)
MSData* sdmbin::SDMBinData::getCalibratedData ( unsigned int  na1,
unsigned int  nfe1,
unsigned int  na2,
unsigned int  nfe2,
unsigned int  ndd,
unsigned int  nbin,
vector< unsigned int >  v_napc,
float  scleFactor,
pair< bool, vector< vector< float > > >  p_tsys 
)
MSData* sdmbin::SDMBinData::getCalibratedData ( unsigned int  na,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin,
pair< bool, vector< vector< float > > >  p_tsys 
) throw (Error)
MSData* sdmbin::SDMBinData::getCalibratedData ( unsigned int  na1,
unsigned int  nfe1,
unsigned int  na2,
unsigned int  nfe2,
unsigned int  ndd,
unsigned int  nbin,
vector< unsigned int >  v_napc,
float  scleFactor,
pair< bool, vector< vector< float > > >  p_tsys 
)
vector<MSData*> sdmbin::SDMBinData::getData ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)
Todo:
  • apply the polynomials for the field directions
  • apply syscal for the cross data
MSData* sdmbin::SDMBinData::getData ( unsigned int  na,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin 
) throw (Error)
MSData* sdmbin::SDMBinData::getData ( unsigned int  na1,
unsigned int  nfe1,
unsigned int  na2,
unsigned int  nfe2,
unsigned int  ndd,
unsigned int  nbin,
vector< unsigned int >  v_napc,
float  scleFactor 
)
vector<MSData*> sdmbin::SDMBinData::getData ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)
Todo:
  • apply the polynomials for the field directions
  • apply syscal for the cross data
MSData* sdmbin::SDMBinData::getData ( unsigned int  na,
unsigned int  nfe,
unsigned int  ndd,
unsigned int  nbin 
) throw (Error)
MSData* sdmbin::SDMBinData::getData ( Tag  antId,
int  feedId,
Tag  dataDescId,
AtmPhaseCorrection  apc,
unsigned int  binNum 
)
MSData* sdmbin::SDMBinData::getData ( unsigned int  na1,
unsigned int  nfe1,
unsigned int  na2,
unsigned int  nfe2,
unsigned int  ndd,
unsigned int  nbin,
vector< unsigned int >  v_napc,
float  scleFactor 
)
MSData* sdmbin::SDMBinData::getData ( Tag  antId1,
int  feedId1,
Tag  antId2,
int  feedId2,
Tag  dataDescId,
vector< AtmPhaseCorrection >  v_apc,
unsigned int  binNum 
)
MSData* sdmbin::SDMBinData::getData ( Tag  antId,
int  feedId,
Tag  dataDescId,
AtmPhaseCorrection  apc,
unsigned int  binNum 
)
MSData* sdmbin::SDMBinData::getData ( Tag  antId1,
int  feedId1,
Tag  antId2,
int  feedId2,
Tag  dataDescId,
vector< AtmPhaseCorrection >  v_apc,
unsigned int  binNum 
)
const VMSData* sdmbin::SDMBinData::getDataCols ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)
const VMSData* sdmbin::SDMBinData::getDataCols ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)
vector<MSData*> sdmbin::SDMBinData::getMSDataFromBDFData ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc,
unsigned int  n 
)
vector<MSData*> sdmbin::SDMBinData::getMSDataFromBDFData ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc,
unsigned int  n 
)
MSState sdmbin::SDMBinData::getMSState ( unsigned int  subscanNum,
vector< Tag v_stateId,
vector< Tag v_antennaId,
vector< int >  v_feedId,
vector< Tag v_ddId,
unsigned int  na,
unsigned int  nfe,
unsigned int  nspw,
ArrayTime  timeOfDump 
) [protected]

Determine the view of a MS STATE.

Parameters:
subscanNumSubscan number (the semantic of this attribute is assumed to be identical in the SDM and the MS
v_stateIdThe list of states identifiers in the row of SDM Main table
v_antennaIdThe corresponding list of antenna identifier
v_feedIdThe corresponding list of collection of feed identifier
v_ddIdThe sequence of data description identifiers for the current config description
naAntenna index for a given antenna in this antenna list
nfeFeed index
nspwDataDescription index
timeOfDumpThe epoch to be considered to determine this MS STATE view
MSState sdmbin::SDMBinData::getMSState ( unsigned int  subscanNum,
vector< Tag v_stateId,
vector< Tag v_antennaId,
vector< int >  v_feedId,
vector< Tag v_ddId,
unsigned int  na,
unsigned int  nfe,
unsigned int  nspw,
ArrayTime  timeOfDump 
) [protected]

Determine the view of a MS STATE.

Parameters:
subscanNumSubscan number (the semantic of this attribute is assumed to be identical in the SDM and the MS
v_stateIdThe list of states identifiers in the row of SDM Main table
v_antennaIdThe corresponding list of antenna identifier
v_feedIdThe corresponding list of collection of feed identifier
v_ddIdThe sequence of data description identifiers for the current config description
naAntenna index for a given antenna in this antenna list
nfeFeed index
nspwDataDescription index
timeOfDumpThe epoch to be considered to determine this MS STATE view
void sdmbin::SDMBinData::getNextDataDumps ( unsigned int  n)

Populates the vector v_dataDump after having read at most n DataSubsets in the BDF.

void sdmbin::SDMBinData::getNextDataDumps ( unsigned int  n)

Populates the vector v_dataDump after having read at most n DataSubsets in the BDF.

const VMSData* sdmbin::SDMBinData::getNextMSMainCols ( unsigned int  n)

Returns a pointer to a VMSData structure containing the values require to populate the MS Main table columns from what it has got from the reading of at most n SDMDataSubsets in the current BDF file.

  • This method call be called iteratively as long as there are SDMDataSubsets.
  • A returned VMSData having any of its array empty means that all the SDMDataSubsets have been read.
Parameters:
ngives the maximum number of SDMDataSubsets ([sub]integrations) that one wants to read in the current BDF.
Returns:
a pointer to a VMSData containing the values to populate MS rows.
const VMSData* sdmbin::SDMBinData::getNextMSMainCols ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc,
unsigned int  n 
)
const VMSData* sdmbin::SDMBinData::getNextMSMainCols ( unsigned int  n)

Returns a pointer to a VMSData structure containing the values require to populate the MS Main table columns from what it has got from the reading of at most n SDMDataSubsets in the current BDF file.

  • This method call be called iteratively as long as there are SDMDataSubsets.
  • A returned VMSData having any of its array empty means that all the SDMDataSubsets have been read.
Parameters:
ngives the maximum number of SDMDataSubsets ([sub]integrations) that one wants to read in the current BDF.
Returns:
a pointer to a VMSData containing the values to populate MS rows.
void sdmbin::SDMBinData::getNextMSMainCols ( unsigned int  n,
boost::shared_ptr< VMSDataWithSharedPtr > &  vmsData_p_sp 
)
const VMSData* sdmbin::SDMBinData::getNextMSMainCols ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc,
unsigned int  n 
)
void sdmbin::SDMBinData::getNextMSMainCols ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc,
unsigned int  n,
boost::shared_ptr< VMSDataWithSharedPtr > &  vmsData_p_sp 
)

Method to know if the data to be retrieved will be of type complex or not.

Precondition:
  • case a: used in the context of the SDM main table as a whole
  • case b: used in the context of a given row
Returns:
  • case a: true if there is in the table at least one row with references to data with at least 3 polarization cross-products or if there are data of type visibilities, else it returns false
  • case b: true if for the current row there are references to data with at least 3 polarization cross-products or if there are data of type visibilities, else it returns false
Postcondition:
data to be retrieve for the current row will be of type complex if this method returns true, else false.

Method to know if the data to be retrieved will be of type complex or not.

Precondition:
  • case a: used in the context of the SDM main table as a whole
  • case b: used in the context of a given row
Returns:
  • case a: true if there is in the table at least one row with references to data with at least 3 polarization cross-products or if there are data of type visibilities, else it returns false
  • case b: true if for the current row there are references to data with at least 3 polarization cross-products or if there are data of type visibilities, else it returns false
Postcondition:
data to be retrieve for the current row will be of type complex if this method returns true, else false.
bool sdmbin::SDMBinData::openMainRow ( MainRow *const  mainRowPtr)

Accessor to one SDM Main table row.

Parameters:
mainrowPtris a pointer to one row of the SDM Main table,
Returns:
true if the SDM row passed the selection criterium , else false,
Postcondition:
a true value returned means that the instance of SDMBinData is in a state such a call to the getData method can be done, else only another call to openRow (supposedly for another Main row) can be done.
bool sdmbin::SDMBinData::openMainRow ( MainRow *const  mainRowPtr)

Accessor to one SDM Main table row.

Parameters:
mainrowPtris a pointer to one row of the SDM Main table,
Returns:
true if the SDM row passed the selection criterium , else false,
Postcondition:
a true value returned means that the instance of SDMBinData is in a state such a call to the getData method can be done, else only another call to openRow (supposedly for another Main row) can be done.
int sdmbin::SDMBinData::openStreamDataObject ( const string &  dataOID) [protected]

Initialize the sequential reading of the SDMDataSubsets (i.e.

[sub]integrations) contained in the BDF referred to by dataOID.

  • The BDF file referred to by dataOID is opened and the informations global to the whole BDF are read
  • The sequential reading of the SDMDataSubsets can be started.
Parameters:
dataOIDthe BDF identifier.
Returns:
an int value. 0 means a problem, 1 means Ok.
int sdmbin::SDMBinData::openStreamDataObject ( const string &  dataOID) [protected]

Initialize the sequential reading of the SDMDataSubsets (i.e.

[sub]integrations) contained in the BDF referred to by dataOID.

  • The BDF file referred to by dataOID is opened and the informations global to the whole BDF are read
  • The sequential reading of the SDMDataSubsets can be started.
Parameters:
dataOIDthe BDF identifier.
Returns:
an int value. 0 means a problem, 1 means Ok.
ProcessorType sdmbin::SDMBinData::processorType ( MainRow *const  mainRowPtr) const

A utility method which returns the type of the processor which produced the data referred to by a row of the Main table.

Parameters:
mainRowPtra pointer to a row of the Main table of an ASDM dataset.
Returns:
a ProcessorType value.
string sdmbin::SDMBinData::reasonToReject ( MainRow *const  mainRowPtr)

Filter: rejection of a Main table row if it does not satisfy the criterion of selection.

Parameters:
mainRowPtrPointer to a row of the Main table
Returns:
the reason if this row has been rejected, else an empty string
string sdmbin::SDMBinData::reasonToReject ( MainRow *const  mainRowPtr)

Filter: rejection of a Main table row if it does not satisfy the criterion of selection.

Parameters:
mainRowPtrPointer to a row of the Main table
Returns:
the reason if this row has been rejected, else an empty string
void sdmbin::SDMBinData::select ( EnumSet< ScanIntent >  es_si)

Method to select the main table rows to retrieve data for a subset of scan intents.

Parameters:
es_siset of scan intents to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< ScanIntent >  es_si)

Method to select the main table rows to retrieve data for a subset of scan intents.

Parameters:
es_siset of scan intents to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< ProcessorType >  es_pt)

Method to select the main table rows to retrieve data for a subset of processor types.

Parameters:
es_ptset of processor types to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< ProcessorType >  es_pt)

Method to select the main table rows to retrieve data for a subset of processor types.

Parameters:
es_ptset of processor types to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< CorrelationMode >  es_cm)

Method to select the main table rows to retrieve data for a subset of correlation modes.

Parameters:
es_cmset of correlation modes to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< CorrelationMode >  es_cm)

Method to select the main table rows to retrieve data for a subset of correlation modes.

Parameters:
es_cmset of correlation modes to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< SpectralResolutionType >  es_srt)

Method to select the main table rows to retrieve data for a subset of spectral resolution types.

Parameters:
es_srtset of spectral resolution types to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< SpectralResolutionType >  es_srt)

Method to select the main table rows to retrieve data for a subset of spectral resolution types.

Parameters:
es_srtset of spectral resolution types to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< TimeSampling >  es_ts)

Method to select the main table rows to retrieve data for a subset of time samplings.

Parameters:
es_tsset of time samplings to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< TimeSampling >  es_ts)

Method to select the main table rows to retrieve data for a subset of time samplings.

Parameters:
es_tsset of time samplings to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< CorrelationMode >  es_cm,
EnumSet< SpectralResolutionType >  es_srt,
EnumSet< TimeSampling >  es_ts 
)

An alternate method to select the main table rows to retrieve data for a subset of correlation modes, spectral resolution types and time sampling.

Parameters:
es_cmset of correlation modes to be accepted
es_srtset of spectral resolution types to be accepted
es_tsset of time samplings to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::select ( EnumSet< CorrelationMode >  es_cm,
EnumSet< SpectralResolutionType >  es_srt,
EnumSet< TimeSampling >  es_ts 
)

An alternate method to select the main table rows to retrieve data for a subset of correlation modes, spectral resolution types and time sampling.

Parameters:
es_cmset of correlation modes to be accepted
es_srtset of spectral resolution types to be accepted
es_tsset of time samplings to be accepted
Postcondition:
All the rows in the Main table which do not satisfy this selection will be ignored.
Note:
If the method isComplex() is used subsequently this selection can not be modified after that.
void sdmbin::SDMBinData::selectDataSubset ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)

Method to constrain the getData methods to return a (sub)set of the data which are in the BLOBs.

Parameters:
e_qcmselected correlationMode enumerator;
es_qapcset of AtmPhaseCorrection enumerators;
Postcondition:
The getData methods will return the data restricted to that selection. For example if es_qapc is a set of 2 enumerators AP_CORRECTED and AP_UNCORRECTED then both type of data will be returned.
Note:
Note that the MS filler accepts at most one AtmPhaseCorrection enumerator.
void sdmbin::SDMBinData::selectDataSubset ( Enum< CorrelationMode >  e_qcm,
EnumSet< AtmPhaseCorrection >  es_qapc 
)

Method to constrain the getData methods to return a (sub)set of the data which are in the BLOBs.

Parameters:
e_qcmselected correlationMode enumerator;
es_qapcset of AtmPhaseCorrection enumerators;
Postcondition:
The getData methods will return the data restricted to that selection. For example if es_qapc is a set of 2 enumerators AP_CORRECTED and AP_UNCORRECTED then both type of data will be returned.
Note:
Note that the MS filler accepts at most one AtmPhaseCorrection enumerator.

Method to set priority for DataDescription in the output order.

Postcondition:
Output sequence forced to be DataDescriptionId/TimeInterval/Ant1/Ant2
Note:
There is no unset method.

Method to set priority for DataDescription in the output order.

Postcondition:
Output sequence forced to be DataDescriptionId/TimeInterval/Ant1/Ant2
Note:
There is no unset method.

Predicate to know if the system temperature calibration is applied when accessing data.

Predicate to know if the system temperature calibration is applied when accessing data.

vector<pair<unsigned int,double> > sdmbin::SDMBinData::timeSequence ( ) const

Accessor to the sequence of time centroids.

Returns:
An indexed sequence of time centroids
Note:
The returned sequence has the required informations concerning transpositions to minimize the number of measure conversions when computing the UVWs with the UvwCoords state machine.
vector<pair<unsigned int,double> > sdmbin::SDMBinData::timeSequence ( ) const

Accessor to the sequence of time centroids.

Returns:
An indexed sequence of time centroids
Note:
The returned sequence has the required informations concerning transpositions to minimize the number of measure conversions when computing the UVWs with the UvwCoords state machine.

Member Data Documentation

const int64_t * sdmbin::SDMBinData::actualDurationsPtr_ [private]

Definition at line 374 of file SDMBinData.h.

const int64_t * sdmbin::SDMBinData::actualTimesPtr_ [private]

Definition at line 373 of file SDMBinData.h.

static bool sdmbin::SDMBinData::autoTrailing_ [static, private]

Definition at line 387 of file SDMBinData.h.

static bool sdmbin::SDMBinData::baselineReverse_ [static, private]

Definition at line 386 of file SDMBinData.h.

static BaselinesSet * sdmbin::SDMBinData::baselinesSet_ [static, private]

Definition at line 378 of file SDMBinData.h.

Definition at line 366 of file SDMBinData.h.

Definition at line 364 of file SDMBinData.h.

static bool sdmbin::SDMBinData::canSelect_ [static, private]

Definition at line 349 of file SDMBinData.h.

Definition at line 384 of file SDMBinData.h.

static bool sdmbin::SDMBinData::coutDeleteInfo_ [static, private]

Definition at line 385 of file SDMBinData.h.

string sdmbin::SDMBinData::dataOID_ [private]

Definition at line 363 of file SDMBinData.h.

static ASDM * sdmbin::SDMBinData::datasetPtr_ [static, private]

Definition at line 347 of file SDMBinData.h.

Definition at line 360 of file SDMBinData.h.

Enum< CorrelationMode > sdmbin::SDMBinData::e_qcm_ [private]

Definition at line 357 of file SDMBinData.h.

EnumSet< CorrelationMode > sdmbin::SDMBinData::es_cm_ [private]

Definition at line 353 of file SDMBinData.h.

EnumSet< ProcessorType > sdmbin::SDMBinData::es_pt_ [private]

Definition at line 352 of file SDMBinData.h.

EnumSet< AtmPhaseCorrection > sdmbin::SDMBinData::es_qapc_ [private]

Definition at line 358 of file SDMBinData.h.

EnumSet< ScanIntent > sdmbin::SDMBinData::es_si_ [private]

Definition at line 351 of file SDMBinData.h.

EnumSet< SpectralResolutionType > sdmbin::SDMBinData::es_srt_ [private]

Definition at line 354 of file SDMBinData.h.

EnumSet< TimeSampling > sdmbin::SDMBinData::es_ts_ [private]

Definition at line 355 of file SDMBinData.h.

static string sdmbin::SDMBinData::execBlockDir_ [static, private]

Definition at line 348 of file SDMBinData.h.

const unsigned int * sdmbin::SDMBinData::flagsPtr_ [private]

Definition at line 372 of file SDMBinData.h.

const float * sdmbin::SDMBinData::floatDataDumpPtr_ [private]

Definition at line 390 of file SDMBinData.h.

const float * sdmbin::SDMBinData::floatDataPtr_ [private]

Definition at line 369 of file SDMBinData.h.

static bool sdmbin::SDMBinData::forceComplex_ [static, private]

Definition at line 350 of file SDMBinData.h.

const int * sdmbin::SDMBinData::longDataPtr_ [private]

Definition at line 371 of file SDMBinData.h.

Definition at line 382 of file SDMBinData.h.

Definition at line 362 of file SDMBinData.h.

static MSData * sdmbin::SDMBinData::msDataPtr_ [static, private]

Definition at line 376 of file SDMBinData.h.

set< Tag > sdmbin::SDMBinData::s_cdId_ [private]

Definition at line 383 of file SDMBinData.h.

static SDMData * sdmbin::SDMBinData::sdmDataPtr_ [static, private]

Definition at line 377 of file SDMBinData.h.

Definition at line 365 of file SDMBinData.h.

const short * sdmbin::SDMBinData::shortDataPtr_ [private]

Definition at line 370 of file SDMBinData.h.

static bool sdmbin::SDMBinData::syscal_ [static, private]

Definition at line 388 of file SDMBinData.h.

Definition at line 367 of file SDMBinData.h.

static vector< MSData * > sdmbin::SDMBinData::v_msDataPtr_ [static, private]

Definition at line 379 of file SDMBinData.h.

static vector< SDMData * > sdmbin::SDMBinData::v_sdmDataPtr_ [static, private]

Definition at line 381 of file SDMBinData.h.

vector< pair< unsigned int, double > > sdmbin::SDMBinData::v_tci_ [private]

Definition at line 392 of file SDMBinData.h.

Definition at line 396 of file SDMBinData.h.

static VMSData * sdmbin::SDMBinData::vmsDataPtr_ [static, private]

Definition at line 380 of file SDMBinData.h.

const float * sdmbin::SDMBinData::zeroLagsPtr_ [private]

Definition at line 375 of file SDMBinData.h.


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