#include <SingleDishMSFiller.h>
Public Member Functions | |
SingleDishMSFiller (std::string const &name, bool parallel=false) | |
constructor | |
~SingleDishMSFiller () | |
destructor | |
Reader const & | getReader () const |
access to reader object | |
std::string const & | getDataName () const |
void | fill () |
top level method to fill MS by reading input data | |
void | save (std::string const &name) |
save | |
Static Public Member Functions | |
static void | create_context () |
static methods for parallel processing | |
static void | destroy_context () |
static void * | consume (void *arg) |
static void * | produce (void *arg) |
static void | fillMainMT (SingleDishMSFiller< Reader > *filler) |
Private Member Functions | |
void | initialize () |
initialization | |
void | finalize () |
finalization | |
void | setupMS () |
setup MS as Scratch table The table will be non-Scratch when it is saved | |
void | fillPreProcessTables () |
fill tables that can be processed prior to main loop | |
void | fillPostProcessTables () |
fill tables that must be processed after main loop | |
void | fillMain () |
fill MAIN table | |
void | flush (sdfiller::DataAccumulator &accumulator) |
flush accumulated data | |
void | sortPointing () |
void | fillAntenna () |
Fill subtables fill ANTENNA table. | |
void | fillObservation () |
fill OBSERVATION table | |
void | fillProcessor () |
fill PROCESSOR table | |
void | fillSource () |
fill SOURCE table | |
void | fillField () |
fill SOURCE table | |
void | fillSpectralWindow () |
fill SPECTRAL_WINDOW table | |
void | fillHistory () |
fill HISTORY table | |
void | fillNROArray () |
add and fill NRO_ARRAY table (specific for NRO data) | |
Int | updatePolarization (Vector< Int > const &corr_type, Int const &num_pol) |
update POLARIZATION table | |
Int | updateDataDescription (Int const &polarization_id, Int const &spw_id) |
update DATA_DESCRIPTION table | |
Int | updateState (Int const &subscan, String const &obs_mode) |
update STATE table | |
Int | updateFeed (Int const &feed_id, Int const &spw_id, String const &pol_type) |
update FEED table | |
Int | updatePointing (Int const &antenna_id, Int const &feed_id, Double const &time, Double const &interval, Matrix< Double > const &direction) |
update POINTING table | |
void | updateWeather (Int const &antenna_id, Double const &time, Double const &interval, sdfiller::MSDataRecord const &data_record) |
void | updateWeather (MSWeatherColumns &columns, uInt irow, sdfiller::WeatherRecord const &record) |
void | updateSysCal (Int const &antenna_id, Int const &feed_id, Int const &spw_id, Double const &time, Double const &interval, sdfiller::MSDataRecord const &data_record) |
void | updateSysCal (MSSysCalColumns &columns, uInt irow, sdfiller::SysCalRecord const &record) |
void | updateMain (Int const &antenna_id, Int field_id, Int feedId, Int dataDescriptionId, Int stateId, Int const &scan_number, Double const &time, sdfiller::MSDataRecord const &dataRecord) |
update MAIN table | |
Private Attributes | |
std::unique_ptr< MeasurementSet > | ms_ |
std::unique_ptr< MSMainColumns > | ms_columns_ |
std::unique_ptr < MSDataDescColumns > | data_description_columns_ |
std::unique_ptr< MSFeedColumns > | feed_columns_ |
std::unique_ptr < MSPointingColumns > | pointing_columns_ |
std::unique_ptr < MSPolarizationColumns > | polarization_columns_ |
std::unique_ptr< MSSysCalColumns > | syscal_columns_ |
std::unique_ptr< MSStateColumns > | state_columns_ |
std::unique_ptr< MSWeatherColumns > | weather_columns_ |
std::unique_ptr< Reader > | reader_ |
bool | is_float_ |
String | data_key_ |
Int | reference_feed_ |
for POINTING table | |
std::map< Int, Vector< Double > > | pointing_time_ |
std::map< Int, Double > | pointing_time_max_ |
std::map< Int, Double > | pointing_time_min_ |
Vector< uInt > | num_pointing_time_ |
std::vector < sdfiller::SysCalTableRecord > | syscal_list_ |
for SYSCAL table | |
std::vector< Int > | subscan_list_ |
for STATE table | |
std::vector< Vector< String > * > | polarization_type_pool_ |
for FEED table | |
std::vector < sdfiller::WeatherRecord > | weather_list_ |
for WEATHER table | |
sdfiller::MSDataRecord | record_ |
Data storage to interact with DataAccumulator. | |
Bool const | parallel_ |
for parallel processing |
Definition at line 47 of file SingleDishMSFiller.h.
casa::SingleDishMSFiller< Reader >::SingleDishMSFiller | ( | std::string const & | name, | |
bool | parallel = false | |||
) |
constructor
casa::SingleDishMSFiller< Reader >::~SingleDishMSFiller | ( | ) |
destructor
static void* casa::SingleDishMSFiller< Reader >::consume | ( | void * | arg | ) | [static] |
static void casa::SingleDishMSFiller< Reader >::create_context | ( | ) | [inline, static] |
static methods for parallel processing
static void casa::SingleDishMSFiller< Reader >::destroy_context | ( | ) | [inline, static] |
void casa::SingleDishMSFiller< Reader >::fill | ( | ) |
top level method to fill MS by reading input data
void casa::SingleDishMSFiller< Reader >::fillAntenna | ( | ) | [private] |
Fill subtables fill ANTENNA table.
void casa::SingleDishMSFiller< Reader >::fillField | ( | ) | [private] |
fill SOURCE table
void casa::SingleDishMSFiller< Reader >::fillHistory | ( | ) | [private] |
fill HISTORY table
void casa::SingleDishMSFiller< Reader >::fillMain | ( | ) | [private] |
fill MAIN table
static void casa::SingleDishMSFiller< Reader >::fillMainMT | ( | SingleDishMSFiller< Reader > * | filler | ) | [inline, static] |
void casa::SingleDishMSFiller< Reader >::fillNROArray | ( | ) | [private] |
add and fill NRO_ARRAY table (specific for NRO data)
void casa::SingleDishMSFiller< Reader >::fillObservation | ( | ) | [private] |
fill OBSERVATION table
void casa::SingleDishMSFiller< Reader >::fillPostProcessTables | ( | ) | [private] |
fill tables that must be processed after main loop
void casa::SingleDishMSFiller< Reader >::fillPreProcessTables | ( | ) | [private] |
fill tables that can be processed prior to main loop
void casa::SingleDishMSFiller< Reader >::fillProcessor | ( | ) | [private] |
fill PROCESSOR table
void casa::SingleDishMSFiller< Reader >::fillSource | ( | ) | [private] |
fill SOURCE table
void casa::SingleDishMSFiller< Reader >::fillSpectralWindow | ( | ) | [private] |
fill SPECTRAL_WINDOW table
void casa::SingleDishMSFiller< Reader >::finalize | ( | ) | [private] |
finalization
void casa::SingleDishMSFiller< Reader >::flush | ( | sdfiller::DataAccumulator & | accumulator | ) | [inline, private] |
flush accumulated data
std::string const& casa::SingleDishMSFiller< Reader >::getDataName | ( | ) | const [inline] |
Definition at line 67 of file SingleDishMSFiller.h.
References casa::SingleDishMSFiller< Reader >::reader_.
Reader const& casa::SingleDishMSFiller< Reader >::getReader | ( | ) | const [inline] |
access to reader object
Definition at line 63 of file SingleDishMSFiller.h.
References casa::SingleDishMSFiller< Reader >::reader_.
void casa::SingleDishMSFiller< Reader >::initialize | ( | ) | [private] |
initialization
static void* casa::SingleDishMSFiller< Reader >::produce | ( | void * | arg | ) | [static] |
void casa::SingleDishMSFiller< Reader >::save | ( | std::string const & | name | ) |
save
void casa::SingleDishMSFiller< Reader >::setupMS | ( | ) | [private] |
setup MS as Scratch table The table will be non-Scratch when it is saved
void casa::SingleDishMSFiller< Reader >::sortPointing | ( | ) | [private] |
Int casa::SingleDishMSFiller< Reader >::updateDataDescription | ( | Int const & | polarization_id, | |
Int const & | spw_id | |||
) | [inline, private] |
update DATA_DESCRIPTION table
[in] | polarization_id | polarization id |
[in] | spw_id | spectral window id |
Int casa::SingleDishMSFiller< Reader >::updateFeed | ( | Int const & | feed_id, | |
Int const & | spw_id, | |||
String const & | pol_type | |||
) | [inline, private] |
update FEED table
[in] | feed_id | feed ID |
[in] | spw_id | spectral window ID |
[in] | pol_type | polarization type |
void casa::SingleDishMSFiller< Reader >::updateMain | ( | Int const & | antenna_id, | |
Int | field_id, | |||
Int | feedId, | |||
Int | dataDescriptionId, | |||
Int | stateId, | |||
Int const & | scan_number, | |||
Double const & | time, | |||
sdfiller::MSDataRecord const & | dataRecord | |||
) | [inline, private] |
update MAIN table
[in] | fieldId | field id |
[in] | feedId | feed id |
[in] | dataDescriptionId | data description id |
[in] | stateId | state id |
[in] | mainSpec | main table row specification except id |
Int casa::SingleDishMSFiller< Reader >::updatePointing | ( | Int const & | antenna_id, | |
Int const & | feed_id, | |||
Double const & | time, | |||
Double const & | interval, | |||
Matrix< Double > const & | direction | |||
) | [inline, private] |
update POINTING table
[in] | antenna_id | antenna id |
[in] | time | time stamp |
[in] | direction | pointing direction |
Int casa::SingleDishMSFiller< Reader >::updatePolarization | ( | Vector< Int > const & | corr_type, | |
Int const & | num_pol | |||
) | [inline, private] |
update POLARIZATION table
[in] | corr_type | polarization type list |
[in] | num_pol | number of polarization components |
Int casa::SingleDishMSFiller< Reader >::updateState | ( | Int const & | subscan, | |
String const & | obs_mode | |||
) | [inline, private] |
update STATE table
[in] | subscan | subscan number |
[in] | obs_mode | observing mode string |
void casa::SingleDishMSFiller< Reader >::updateSysCal | ( | MSSysCalColumns & | columns, | |
uInt | irow, | |||
sdfiller::SysCalRecord const & | record | |||
) | [inline, private] |
void casa::SingleDishMSFiller< Reader >::updateSysCal | ( | Int const & | antenna_id, | |
Int const & | feed_id, | |||
Int const & | spw_id, | |||
Double const & | time, | |||
Double const & | interval, | |||
sdfiller::MSDataRecord const & | data_record | |||
) | [inline, private] |
void casa::SingleDishMSFiller< Reader >::updateWeather | ( | MSWeatherColumns & | columns, | |
uInt | irow, | |||
sdfiller::WeatherRecord const & | record | |||
) | [inline, private] |
void casa::SingleDishMSFiller< Reader >::updateWeather | ( | Int const & | antenna_id, | |
Double const & | time, | |||
Double const & | interval, | |||
sdfiller::MSDataRecord const & | data_record | |||
) | [inline, private] |
std::unique_ptr<MSDataDescColumns> casa::SingleDishMSFiller< Reader >::data_description_columns_ [private] |
Definition at line 188 of file SingleDishMSFiller.h.
String casa::SingleDishMSFiller< Reader >::data_key_ [private] |
Definition at line 197 of file SingleDishMSFiller.h.
std::unique_ptr<MSFeedColumns> casa::SingleDishMSFiller< Reader >::feed_columns_ [private] |
Definition at line 189 of file SingleDishMSFiller.h.
bool casa::SingleDishMSFiller< Reader >::is_float_ [private] |
Definition at line 196 of file SingleDishMSFiller.h.
std::unique_ptr<MeasurementSet> casa::SingleDishMSFiller< Reader >::ms_ [private] |
Definition at line 186 of file SingleDishMSFiller.h.
std::unique_ptr<MSMainColumns> casa::SingleDishMSFiller< Reader >::ms_columns_ [private] |
Definition at line 187 of file SingleDishMSFiller.h.
Vector<uInt> casa::SingleDishMSFiller< Reader >::num_pointing_time_ [private] |
Definition at line 204 of file SingleDishMSFiller.h.
Bool const casa::SingleDishMSFiller< Reader >::parallel_ [private] |
for parallel processing
Definition at line 222 of file SingleDishMSFiller.h.
std::unique_ptr<MSPointingColumns> casa::SingleDishMSFiller< Reader >::pointing_columns_ [private] |
Definition at line 190 of file SingleDishMSFiller.h.
std::map<Int, Vector<Double> > casa::SingleDishMSFiller< Reader >::pointing_time_ [private] |
Definition at line 201 of file SingleDishMSFiller.h.
std::map<Int, Double> casa::SingleDishMSFiller< Reader >::pointing_time_max_ [private] |
Definition at line 202 of file SingleDishMSFiller.h.
std::map<Int, Double> casa::SingleDishMSFiller< Reader >::pointing_time_min_ [private] |
Definition at line 203 of file SingleDishMSFiller.h.
std::unique_ptr<MSPolarizationColumns> casa::SingleDishMSFiller< Reader >::polarization_columns_ [private] |
Definition at line 191 of file SingleDishMSFiller.h.
std::vector<Vector<String> *> casa::SingleDishMSFiller< Reader >::polarization_type_pool_ [private] |
for FEED table
Definition at line 213 of file SingleDishMSFiller.h.
std::unique_ptr<Reader> casa::SingleDishMSFiller< Reader >::reader_ [private] |
Definition at line 195 of file SingleDishMSFiller.h.
Referenced by casa::SingleDishMSFiller< Reader >::getDataName(), and casa::SingleDishMSFiller< Reader >::getReader().
sdfiller::MSDataRecord casa::SingleDishMSFiller< Reader >::record_ [private] |
Data storage to interact with DataAccumulator.
Definition at line 219 of file SingleDishMSFiller.h.
Int casa::SingleDishMSFiller< Reader >::reference_feed_ [private] |
for POINTING table
Definition at line 200 of file SingleDishMSFiller.h.
std::unique_ptr<MSStateColumns> casa::SingleDishMSFiller< Reader >::state_columns_ [private] |
Definition at line 193 of file SingleDishMSFiller.h.
std::vector<Int> casa::SingleDishMSFiller< Reader >::subscan_list_ [private] |
for STATE table
Definition at line 210 of file SingleDishMSFiller.h.
std::unique_ptr<MSSysCalColumns> casa::SingleDishMSFiller< Reader >::syscal_columns_ [private] |
Definition at line 192 of file SingleDishMSFiller.h.
std::vector<sdfiller::SysCalTableRecord> casa::SingleDishMSFiller< Reader >::syscal_list_ [private] |
for SYSCAL table
Definition at line 207 of file SingleDishMSFiller.h.
std::unique_ptr<MSWeatherColumns> casa::SingleDishMSFiller< Reader >::weather_columns_ [private] |
Definition at line 194 of file SingleDishMSFiller.h.
std::vector<sdfiller::WeatherRecord> casa::SingleDishMSFiller< Reader >::weather_list_ [private] |
for WEATHER table
Definition at line 216 of file SingleDishMSFiller.h.