1 #if !defined(_SDMBINDATA_H)
35 #include <boost/shared_ptr.hpp>
73 void select( EnumSet<ScanIntentMod::ScanIntent> es_si);
82 void select( EnumSet<ProcessorTypeMod::ProcessorType> es_pt);
91 void select( EnumSet<CorrelationModeMod::CorrelationMode> es_cm);
100 void select( EnumSet<SpectralResolutionTypeMod::SpectralResolutionType> es_srt);
109 void select( EnumSet<TimeSamplingMod::TimeSampling> es_ts);
121 void select( EnumSet<CorrelationModeMod::CorrelationMode> es_cm,
122 EnumSet<SpectralResolutionTypeMod::SpectralResolutionType> es_srt,
123 EnumSet<TimeSamplingMod::TimeSampling> es_ts);
135 EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc );
149 std::vector<std::pair<unsigned int,double> >
timeSequence()
const;
218 std::vector<SDMData*>
getData();
225 std::vector<MSData*>
getData( Enum<CorrelationModeMod::CorrelationMode> e_qcm, EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc);
227 MSData*
getData(
unsigned int na,
unsigned int nfe,
unsigned int ndd,
unsigned int nbin)
throw (
Error);
230 std::pair<
bool,std::vector<std::vector<float> > > p_tsys)
throw (
Error);
232 MSData*
getData(
unsigned int na1,
unsigned int nfe1,
unsigned int na2,
unsigned int nfe2,
233 unsigned int ndd,
unsigned int nbin, std::vector<unsigned int> v_napc,
237 unsigned int ndd,
unsigned int nbin, std::vector<unsigned int> v_napc,
239 std::pair<
bool,std::vector<std::vector<float> > > p_tsys);
243 AtmPhaseCorrectionMod::AtmPhaseCorrection apc,
244 unsigned int binNum);
249 std::vector<AtmPhaseCorrectionMod::AtmPhaseCorrection> v_apc,
250 unsigned int binNum);
254 const VMSData*
getDataCols( Enum<CorrelationModeMod::CorrelationMode> e_qcm, EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc );
267 const VMSData*
getNextMSMainCols(Enum<CorrelationModeMod::CorrelationMode> e_qcm, EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc,
unsigned int n);
271 #ifndef WITHOUT_BOOST
272 void getNextMSMainCols(
unsigned int n, boost::shared_ptr<VMSDataWithSharedPtr>& vmsData_p_sp);
273 void getNextMSMainCols(Enum<CorrelationModeMod::CorrelationMode> e_qcm, EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc,
unsigned int n, boost::shared_ptr<VMSDataWithSharedPtr>& vmsData_p_sp);
276 std::vector<MSData*>
getMSDataFromBDFData(Enum<CorrelationModeMod::CorrelationMode> e_qcm, EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection> es_qapc,
unsigned int n);
344 std::vector<asdm::Tag> v_stateId,
345 std::vector<asdm::Tag> v_antennaId, std::vector<int> v_feedId, std::vector<asdm::Tag> v_ddId,
346 unsigned int na,
unsigned int nfe,
unsigned int nspw,
asdm::ArrayTime timeOfDump);
353 EnumSet<ScanIntentMod::ScanIntent>
es_si_;
354 EnumSet<ProcessorTypeMod::ProcessorType>
es_pt_;
355 EnumSet<CorrelationModeMod::CorrelationMode>
es_cm_;
356 EnumSet<SpectralResolutionTypeMod::SpectralResolutionType>
es_srt_;
357 EnumSet<TimeSamplingMod::TimeSampling>
es_ts_;
359 Enum<CorrelationModeMod::CorrelationMode>
e_qcm_;
360 EnumSet<AtmPhaseCorrectionMod::AtmPhaseCorrection>
es_qapc_;
390 std::vector<std::pair<unsigned int,double> >
v_tci_;
399 #define _SDMBINDATA_H
int openStreamDataObject(const std::string &dataOID)
Initialize the sequential reading of the SDMDataSubsets (i.e.
A structure containing a block of data for a single MS Main table row.
int attachStreamDataObject(const std::string &dataOID)
Do the actual binary data binding.
asdm::MainRow * mainRowPtr_
void setPriorityDataDescription()
Method to set priority for DataDescription in the output order.
EnumSet< SpectralResolutionTypeMod::SpectralResolutionType > es_srt_
The Error class represents a list of exceptions that may happen when errors occur.
std::set< asdm::Tag > s_cdId_
asdmbinaries::SDMDataObjectReader blob_r_
static bool coutDeleteInfo_
static asdm::ASDM * datasetPtr_
std::vector< DataDump * > v_dataDump_
static std::string execBlockDir_
EnumSet< ProcessorTypeMod::ProcessorType > es_pt_
EnumSet< ScanIntentMod::ScanIntent > es_si_
void detachDataObject()
Unset the current data binding.
MSState getMSState(unsigned int subscanNum, std::vector< asdm::Tag > v_stateId, std::vector< asdm::Tag > v_antennaId, std::vector< int > v_feedId, std::vector< asdm::Tag > v_ddId, unsigned int na, unsigned int nfe, unsigned int nspw, asdm::ArrayTime timeOfDump)
Determine the view of a MS STATE.
EnumSet< CorrelationModeMod::CorrelationMode > es_cm_
int attachDataObject(std::string dataOID)
Do the actual binary data binding.
static bool baselineReverse_
The ASDM class is the container for all tables.
static MSData * msDataPtr_
void getNextDataDumps(unsigned int n)
Populates the vector v_dataDump after having read at most n DataSubsets in the BDF.
Definition of the second level (the top level) in the tree hierarchy: include the antenna baseline co...
std::vector< std::pair< unsigned int, double > > v_tci_
SDMBinData(asdm::ASDM *const datasetPtr, std::string execBlockDir)
Constructor:
bool openMainRow(asdm::MainRow *const mainRowPtr)
Accessor to one SDM Main table row.
void selectDataSubset(Enum< CorrelationModeMod::CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrectionMod::AtmPhaseCorrection > es_qapc)
Method to constrain the getData methods to return a (sub)set of the data which are in the BLOBs...
const VMSData * getNextMSMainCols(unsigned int n)
Returns a pointer to a VMSData structure containing the values require to populate the MS Main table ...
std::vector< SDMData * > getData()
std::vector< std::pair< unsigned int, double > > timeSequence() const
Accessor to the sequence of time centroids.
bool sysCalApplied() const
Predicate to know if the system temperature calibration is applied when accessing data...
static std::vector< SDMData * > v_sdmDataPtr_
bool dataDescriptionFirst() const
Predicate to tell if the dataDescriptionId has priority over time in the out sequence of MSData objec...
ProcessorTypeMod::ProcessorType processorType(asdm::MainRow *const mainRowPtr) const
A utility method which returns the type of the processor which produced the data referred to by a row...
static bool autoTrailing()
To know easily the position of the auto data and metadata relative to the cross data and metadata in ...
std::map< asdm::Tag, BaselinesSet * > m_cdId_baselinesSet_
asdmbinaries::SDMDataObjectStreamReader sdmdosr
Enum< CorrelationModeMod::CorrelationMode > e_qcm_
The MainRow class is a row of a MainTable.
bool acceptMainRow(asdm::MainRow *const mainRowPtr)
Accessor to the SDM Main table rows.
MSData * getCalibratedData(unsigned int na, unsigned int nfe, unsigned int ndd, unsigned int nbin, std::pair< bool, std::vector< std::vector< float > > > p_tsys)
EnumSet< TimeSamplingMod::TimeSampling > es_ts_
A structure containing the data from a single SDM BLOB (origin: version for TP FBT, FV 12 Avril 2007) with the view of one row in the SDM Main table.
A structure containing state information following the MSv2.0 data model.
static VMSData * vmsDataPtr_
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
static bool baselineReverse()
To know easily in which order the baselines are returned in a sequence of MSData objects or in a VMSD...
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
void select(EnumSet< ScanIntentMod::ScanIntent > es_si)
Method to select the main table rows to retrieve data for a subset of scan intents.
bool isComplexData()
Method to know if the data to be retrieved will be of type complex or not.
const float * floatDataDumpPtr_
void applySysCal()
Apply system temperature calibration.
A class to read a MIME message containing ALMA binary data and provide a view on these binary data th...
static BaselinesSet * baselinesSet_
Accessor to the SDM binary data.
void deleteMsData(MSData *msDataPtr)
const float * floatDataPtr_
static std::pair< bool, bool > dataOrder()
The two parameters defining the order in the output sequences, baslineReverse and autoTrailing...
const VMSData * getDataCols()
std::vector< MSData * > getMSDataFromBDFData(Enum< CorrelationModeMod::CorrelationMode > e_qcm, EnumSet< AtmPhaseCorrectionMod::AtmPhaseCorrection > es_qapc, unsigned int n)
static std::vector< MSData * > v_msDataPtr_
static bool forceComplex_
EnumSet< AtmPhaseCorrectionMod::AtmPhaseCorrection > es_qapc_
static SDMData * sdmDataPtr_
std::string reasonToReject(asdm::MainRow *const mainRowPtr)
Filter: rejection of a Main table row if it does not satisfy the criterion of selection.
A structure containing the data from a single SDM BLOB.
const short * shortDataPtr_
static bool autoTrailing_