Accessor to the SDM binary data. More...
#include <SDMBinData.h>
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) |
| MSData * | getData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin) throw (Error) |
| MSData * | getCalibratedData (unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin, pair< bool, vector< vector< float > > > p_tsys) throw (Error) |
| MSData * | 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 * | 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 * | getData (Tag antId, int feedId, Tag dataDescId, AtmPhaseCorrection apc, unsigned int binNum) |
| MSData * | getData (Tag antId1, int feedId1, Tag antId2, int feedId2, Tag dataDescId, vector< AtmPhaseCorrection > v_apc, unsigned int binNum) |
| const VMSData * | getDataCols () |
| const VMSData * | getDataCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc) |
| const VMSData * | 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. | |
| void | getNextMSMainCols (unsigned int n, std::shared_ptr< VMSDataWithSharedPtr > &vmsData_p_sp) |
| const VMSData * | getNextMSMainCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n) |
| void | getNextMSMainCols (Enum< CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrection > es_qapc, unsigned int n, std::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. | |
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. | |
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. | |
Private Member Functions | |
| 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_ |
| MainRow * | mainRowPtr_ |
| 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< Tag > | s_cdId_ |
| bool | complexData_ |
| const float * | floatDataDumpPtr_ |
| vector< pair< unsigned int, double > > | v_tci_ |
| bool | verbose_ |
Static Private Attributes | |
| static ASDM * | datasetPtr_ |
| static string | execBlockDir_ |
| static bool | canSelect_ |
| static bool | forceComplex_ |
| static MSData * | msDataPtr_ |
| static SDMData * | sdmDataPtr_ |
| static BaselinesSet * | baselinesSet_ |
| static vector< MSData * > | v_msDataPtr_ |
| static VMSData * | vmsDataPtr_ |
| static vector< SDMData * > | v_sdmDataPtr_ |
| static bool | coutDeleteInfo_ |
| static bool | baselineReverse_ |
| static bool | autoTrailing_ |
| static bool | syscal_ |
Accessor to the SDM binary data.
Definition at line 46 of file SDMBinData.h.
| sdmbin::SDMBinData::SDMBinData | ( | ASDM *const | datasetPtr, | |
| string | execBlockDir | |||
| ) |
Constructor:.
| datasetPtr | Pointer to the SDM dataset | |
| execBlockDir | SDM dataset directory (it must be readable as well as its sub-directory ASDMBinary. |
| sdmbin::SDMBinData::~SDMBinData | ( | ) |
| bool sdmbin::SDMBinData::acceptMainRow | ( | MainRow *const | mainRowPtr | ) |
Accessor to the SDM Main table rows.
| mainRowPtr | Pointer to a row of the Main table |
| void sdmbin::SDMBinData::applySysCal | ( | ) |
Apply system temperature calibration.
| int sdmbin::SDMBinData::attachDataObject | ( | string | dataOID | ) | [protected] |
Do the actual binary data binding.
| dataOID | The data object identifier |
| int sdmbin::SDMBinData::attachStreamDataObject | ( | const string & | dataOID | ) | [protected] |
Do the actual binary data binding.
The BDF is traversed as a stream.
| dataOID | The 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::baselineReverse | ( | ) | [static] |
To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSData object.
Note that this order may be different compared to the order used in the BDF.
| bool sdmbin::SDMBinData::dataDescriptionFirst | ( | ) | const |
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.
| void sdmbin::SDMBinData::deleteMsData | ( | MSData * | msDataPtr | ) | [private] |
| void sdmbin::SDMBinData::detachDataObject | ( | ) | [protected] |
Unset the current data binding.
| 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::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 | ( | 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 | ( | unsigned int | na, | |
| unsigned int | nfe, | |||
| unsigned int | ndd, | |||
| unsigned int | nbin | |||
| ) | throw (Error) |
| vector<MSData*> sdmbin::SDMBinData::getData | ( | Enum< CorrelationMode > | e_qcm, | |
| EnumSet< AtmPhaseCorrection > | es_qapc | |||
| ) |
| vector<SDMData*> sdmbin::SDMBinData::getData | ( | ) |
| const VMSData* sdmbin::SDMBinData::getDataCols | ( | Enum< CorrelationMode > | e_qcm, | |
| EnumSet< AtmPhaseCorrection > | es_qapc | |||
| ) |
| const VMSData* sdmbin::SDMBinData::getDataCols | ( | ) |
| 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.
| subscanNum | Subscan number (the semantic of this attribute is assumed to be identical in the SDM and the MS | |
| v_stateId | The list of states identifiers in the row of SDM Main table | |
| v_antennaId | The corresponding list of antenna identifier | |
| v_feedId | The corresponding list of collection of feed identifier | |
| v_ddId | The sequence of data description identifiers for the current config description | |
| na | Antenna index for a given antenna in this antenna list | |
| nfe | Feed index | |
| nspw | DataDescription index | |
| timeOfDump | The 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::getNextMSMainCols | ( | Enum< CorrelationMode > | e_qcm, | |
| EnumSet< AtmPhaseCorrection > | es_qapc, | |||
| unsigned int | n, | |||
| std::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 | ( | unsigned int | n, | |
| std::shared_ptr< VMSDataWithSharedPtr > & | vmsData_p_sp | |||
| ) |
| 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.
| n | gives the maximum number of SDMDataSubsets ([sub]integrations) that one wants to read in the current BDF. |
| bool sdmbin::SDMBinData::isComplexData | ( | ) |
Method to know if the data to be retrieved will be of type complex or not.
| bool sdmbin::SDMBinData::openMainRow | ( | MainRow *const | mainRowPtr | ) |
Accessor to one SDM Main table row.
| mainrowPtr | is a pointer to one row of the SDM Main table, |
| 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.
| dataOID | the BDF identifier. |
| 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.
| mainRowPtr | a pointer to a row of the Main table of an ASDM dataset. |
| string sdmbin::SDMBinData::reasonToReject | ( | MainRow *const | mainRowPtr | ) |
Filter: rejection of a Main table row if it does not satisfy the criterion of selection.
| mainRowPtr | Pointer to a row of the Main table |
| 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.
| es_cm | set of correlation modes to be accepted | |
| es_srt | set of spectral resolution types to be accepted | |
| es_ts | set of time samplings to be accepted |
| void sdmbin::SDMBinData::select | ( | EnumSet< TimeSampling > | es_ts | ) |
Method to select the main table rows to retrieve data for a subset of time samplings.
| es_ts | set of time samplings to be accepted |
| 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.
| es_srt | set of spectral resolution types to be accepted |
| void sdmbin::SDMBinData::select | ( | EnumSet< CorrelationMode > | es_cm | ) |
Method to select the main table rows to retrieve data for a subset of correlation modes.
| es_cm | set of correlation modes to be accepted |
| void sdmbin::SDMBinData::select | ( | EnumSet< ProcessorType > | es_pt | ) |
Method to select the main table rows to retrieve data for a subset of processor types.
| es_pt | set of processor types to be accepted |
| void sdmbin::SDMBinData::select | ( | EnumSet< ScanIntent > | es_si | ) |
Method to select the main table rows to retrieve data for a subset of scan intents.
| es_si | set of scan intents to be accepted |
| 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.
| e_qcm | selected correlationMode enumerator; | |
| es_qapc | set of AtmPhaseCorrection enumerators; |
| void sdmbin::SDMBinData::setPriorityDataDescription | ( | ) |
Method to set priority for DataDescription in the output order.
| bool sdmbin::SDMBinData::sysCalApplied | ( | ) | const |
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.
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.
bool sdmbin::SDMBinData::autoTrailing_ [static, private] |
Definition at line 387 of file SDMBinData.h.
bool sdmbin::SDMBinData::baselineReverse_ [static, private] |
Definition at line 386 of file SDMBinData.h.
BaselinesSet* sdmbin::SDMBinData::baselinesSet_ [static, private] |
Definition at line 378 of file SDMBinData.h.
bool sdmbin::SDMBinData::bdfMemoryMapped [private] |
Definition at line 366 of file SDMBinData.h.
Definition at line 364 of file SDMBinData.h.
bool sdmbin::SDMBinData::canSelect_ [static, private] |
Definition at line 349 of file SDMBinData.h.
bool sdmbin::SDMBinData::complexData_ [private] |
Definition at line 384 of file SDMBinData.h.
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.
ASDM* sdmbin::SDMBinData::datasetPtr_ [static, private] |
Definition at line 347 of file SDMBinData.h.
bool sdmbin::SDMBinData::ddfirst_ [private] |
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.
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.
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.
map<Tag,BaselinesSet*> sdmbin::SDMBinData::m_cdId_baselinesSet_ [private] |
Definition at line 382 of file SDMBinData.h.
MainRow* sdmbin::SDMBinData::mainRowPtr_ [private] |
Definition at line 362 of file SDMBinData.h.
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.
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.
bool sdmbin::SDMBinData::syscal_ [static, private] |
Definition at line 388 of file SDMBinData.h.
vector<DataDump*> sdmbin::SDMBinData::v_dataDump_ [private] |
Definition at line 367 of file SDMBinData.h.
vector<MSData*> sdmbin::SDMBinData::v_msDataPtr_ [static, private] |
Definition at line 379 of file SDMBinData.h.
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.
bool sdmbin::SDMBinData::verbose_ [private] |
Definition at line 396 of file SDMBinData.h.
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.
1.6.1