casa::SingleDishMSFiller< Reader > Class Template Reference

#include <SingleDishMSFiller.h>

List of all members.

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

Detailed Description

template<typename Reader>
class casa::SingleDishMSFiller< Reader >

Definition at line 47 of file SingleDishMSFiller.h.


Constructor & Destructor Documentation

template<typename Reader>
casa::SingleDishMSFiller< Reader >::SingleDishMSFiller ( std::string const &  name,
bool  parallel = false 
)

constructor

template<typename Reader>
casa::SingleDishMSFiller< Reader >::~SingleDishMSFiller (  ) 

destructor


Member Function Documentation

template<typename Reader>
static void* casa::SingleDishMSFiller< Reader >::consume ( void *  arg  )  [static]
template<typename Reader>
static void casa::SingleDishMSFiller< Reader >::create_context (  )  [inline, static]

static methods for parallel processing

template<typename Reader>
static void casa::SingleDishMSFiller< Reader >::destroy_context (  )  [inline, static]
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fill (  ) 

top level method to fill MS by reading input data

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillAntenna (  )  [private]

Fill subtables fill ANTENNA table.

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillField (  )  [private]

fill SOURCE table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillHistory (  )  [private]

fill HISTORY table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillMain (  )  [private]

fill MAIN table

template<typename Reader>
static void casa::SingleDishMSFiller< Reader >::fillMainMT ( SingleDishMSFiller< Reader > *  filler  )  [inline, static]
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillNROArray (  )  [private]

add and fill NRO_ARRAY table (specific for NRO data)

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillObservation (  )  [private]

fill OBSERVATION table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillPostProcessTables (  )  [private]

fill tables that must be processed after main loop

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillPreProcessTables (  )  [private]

fill tables that can be processed prior to main loop

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillProcessor (  )  [private]

fill PROCESSOR table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillSource (  )  [private]

fill SOURCE table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::fillSpectralWindow (  )  [private]

fill SPECTRAL_WINDOW table

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::finalize (  )  [private]

finalization

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::flush ( sdfiller::DataAccumulator accumulator  )  [inline, private]

flush accumulated data

template<typename Reader>
std::string const& casa::SingleDishMSFiller< Reader >::getDataName (  )  const [inline]

Definition at line 67 of file SingleDishMSFiller.h.

References casa::SingleDishMSFiller< Reader >::reader_.

template<typename 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_.

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::initialize (  )  [private]

initialization

template<typename Reader>
static void* casa::SingleDishMSFiller< Reader >::produce ( void *  arg  )  [static]
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::save ( std::string const &  name  ) 

save

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::setupMS (  )  [private]

setup MS as Scratch table The table will be non-Scratch when it is saved

template<typename Reader>
void casa::SingleDishMSFiller< Reader >::sortPointing (  )  [private]
template<typename Reader>
Int casa::SingleDishMSFiller< Reader >::updateDataDescription ( Int const &  polarization_id,
Int const &  spw_id 
) [inline, private]

update DATA_DESCRIPTION table

Parameters:
[in] polarization_id polarization id
[in] spw_id spectral window id
Returns:
data description id
template<typename Reader>
Int casa::SingleDishMSFiller< Reader >::updateFeed ( Int const &  feed_id,
Int const &  spw_id,
String const &  pol_type 
) [inline, private]

update FEED table

Parameters:
[in] feed_id feed ID
[in] spw_id spectral window ID
[in] pol_type polarization type
Returns:
feed row number
template<typename Reader>
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

Parameters:
[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
template<typename Reader>
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

Parameters:
[in] antenna_id antenna id
[in] time time stamp
[in] direction pointing direction
template<typename Reader>
Int casa::SingleDishMSFiller< Reader >::updatePolarization ( Vector< Int > const &  corr_type,
Int const &  num_pol 
) [inline, private]

update POLARIZATION table

Parameters:
[in] corr_type polarization type list
[in] num_pol number of polarization components
Returns:
polarization id
template<typename Reader>
Int casa::SingleDishMSFiller< Reader >::updateState ( Int const &  subscan,
String const &  obs_mode 
) [inline, private]

update STATE table

Parameters:
[in] subscan subscan number
[in] obs_mode observing mode string
Returns:
state id
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::updateSysCal ( MSSysCalColumns &  columns,
uInt  irow,
sdfiller::SysCalRecord const &  record 
) [inline, private]
template<typename Reader>
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]
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::updateWeather ( MSWeatherColumns &  columns,
uInt  irow,
sdfiller::WeatherRecord const &  record 
) [inline, private]
template<typename Reader>
void casa::SingleDishMSFiller< Reader >::updateWeather ( Int const &  antenna_id,
Double const &  time,
Double const &  interval,
sdfiller::MSDataRecord const &  data_record 
) [inline, private]

Member Data Documentation

template<typename Reader>
std::unique_ptr<MSDataDescColumns> casa::SingleDishMSFiller< Reader >::data_description_columns_ [private]

Definition at line 188 of file SingleDishMSFiller.h.

template<typename Reader>
String casa::SingleDishMSFiller< Reader >::data_key_ [private]

Definition at line 197 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSFeedColumns> casa::SingleDishMSFiller< Reader >::feed_columns_ [private]

Definition at line 189 of file SingleDishMSFiller.h.

template<typename Reader>
bool casa::SingleDishMSFiller< Reader >::is_float_ [private]

Definition at line 196 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MeasurementSet> casa::SingleDishMSFiller< Reader >::ms_ [private]

Definition at line 186 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSMainColumns> casa::SingleDishMSFiller< Reader >::ms_columns_ [private]

Definition at line 187 of file SingleDishMSFiller.h.

template<typename Reader>
Vector<uInt> casa::SingleDishMSFiller< Reader >::num_pointing_time_ [private]

Definition at line 204 of file SingleDishMSFiller.h.

template<typename Reader>
Bool const casa::SingleDishMSFiller< Reader >::parallel_ [private]

for parallel processing

Definition at line 222 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSPointingColumns> casa::SingleDishMSFiller< Reader >::pointing_columns_ [private]

Definition at line 190 of file SingleDishMSFiller.h.

template<typename Reader>
std::map<Int, Vector<Double> > casa::SingleDishMSFiller< Reader >::pointing_time_ [private]

Definition at line 201 of file SingleDishMSFiller.h.

template<typename Reader>
std::map<Int, Double> casa::SingleDishMSFiller< Reader >::pointing_time_max_ [private]

Definition at line 202 of file SingleDishMSFiller.h.

template<typename Reader>
std::map<Int, Double> casa::SingleDishMSFiller< Reader >::pointing_time_min_ [private]

Definition at line 203 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSPolarizationColumns> casa::SingleDishMSFiller< Reader >::polarization_columns_ [private]

Definition at line 191 of file SingleDishMSFiller.h.

template<typename Reader>
std::vector<Vector<String> *> casa::SingleDishMSFiller< Reader >::polarization_type_pool_ [private]

for FEED table

Definition at line 213 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<Reader> casa::SingleDishMSFiller< Reader >::reader_ [private]
template<typename Reader>
sdfiller::MSDataRecord casa::SingleDishMSFiller< Reader >::record_ [private]

Data storage to interact with DataAccumulator.

Definition at line 219 of file SingleDishMSFiller.h.

template<typename Reader>
Int casa::SingleDishMSFiller< Reader >::reference_feed_ [private]

for POINTING table

Definition at line 200 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSStateColumns> casa::SingleDishMSFiller< Reader >::state_columns_ [private]

Definition at line 193 of file SingleDishMSFiller.h.

template<typename Reader>
std::vector<Int> casa::SingleDishMSFiller< Reader >::subscan_list_ [private]

for STATE table

Definition at line 210 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSSysCalColumns> casa::SingleDishMSFiller< Reader >::syscal_columns_ [private]

Definition at line 192 of file SingleDishMSFiller.h.

template<typename Reader>
std::vector<sdfiller::SysCalTableRecord> casa::SingleDishMSFiller< Reader >::syscal_list_ [private]

for SYSCAL table

Definition at line 207 of file SingleDishMSFiller.h.

template<typename Reader>
std::unique_ptr<MSWeatherColumns> casa::SingleDishMSFiller< Reader >::weather_columns_ [private]

Definition at line 194 of file SingleDishMSFiller.h.

template<typename Reader>
std::vector<sdfiller::WeatherRecord> casa::SingleDishMSFiller< Reader >::weather_list_ [private]

for WEATHER table

Definition at line 216 of file SingleDishMSFiller.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1