casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
casa::SingleDishMSFiller< Reader > Class Template Reference

forward decleration More...

#include <FieldRecord.h>

Public Member Functions

 SingleDishMSFiller (std::string const &name, bool parallel=false)
 constructor More...
 
 ~SingleDishMSFiller ()
 destructor More...
 
Reader const & getReader () const
 access to reader object More...
 
std::string const & getDataName () const
 
void fill ()
 top level method to fill casacore::MS by reading input data More...
 
void save (std::string const &name)
 save More...
 

Static Public Member Functions

static void create_context ()
 static methods for parallel processing More...
 
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 More...
 
void finalize ()
 finalization More...
 
void setupMS ()
 setup casacore::MS as Scratch table The table will be non-Scratch when it is saved More...
 
void fillPreProcessTables ()
 fill tables that can be processed prior to main loop More...
 
void fillPostProcessTables ()
 fill tables that must be processed after main loop More...
 
void fillMain ()
 fill MAIN table More...
 
void flush (sdfiller::DataAccumulator &accumulator)
 flush accumulated data More...
 
void sortPointing ()
 
void fillAntenna ()
 Fill subtables fill ANTENNA table. More...
 
void fillObservation ()
 fill OBSERVATION table More...
 
void fillProcessor ()
 fill PROCESSOR table More...
 
void fillSource ()
 fill SOURCE table More...
 
void fillField ()
 fill SOURCE table More...
 
void fillSpectralWindow ()
 fill SPECTRAL_WINDOW table More...
 
void fillHistory ()
 fill HISTORY table More...
 
casacore::Int updatePolarization (casacore::Vector< casacore::Int > const &corr_type, casacore::Int const &num_pol)
 update POLARIZATION table More...
 
casacore::Int updateDataDescription (casacore::Int const &polarization_id, casacore::Int const &spw_id)
 update DATA_DESCRIPTION table More...
 
casacore::Int updateState (casacore::Int const &subscan, casacore::String const &obs_mode)
 update STATE table More...
 
casacore::Int updateFeed (casacore::Int const &feed_id, casacore::Int const &spw_id, casacore::String const &pol_type)
 update FEED table More...
 
casacore::Int updatePointing (casacore::Int const &antenna_id, casacore::Int const &feed_id, casacore::Double const &time, casacore::Double const &interval, casacore::Matrix< casacore::Double > const &direction)
 update POINTING table More...
 
void updateWeather (casacore::Int const &antenna_id, casacore::Double const &time, casacore::Double const &interval, sdfiller::MSDataRecord const &data_record)
 
void updateWeather (casacore::MSWeatherColumns &columns, casacore::uInt irow, sdfiller::WeatherRecord const &record)
 
void updateSysCal (casacore::Int const &antenna_id, casacore::Int const &feed_id, casacore::Int const &spw_id, casacore::Double const &time, casacore::Double const &interval, sdfiller::MSDataRecord const &data_record)
 
void updateSysCal (casacore::MSSysCalColumns &columns, casacore::uInt irow, sdfiller::SysCalRecord const &record)
 
void updateMain (casacore::Int const &antenna_id, casacore::Int field_id, casacore::Int feedId, casacore::Int dataDescriptionId, casacore::Int stateId, casacore::Int const &scan_number, casacore::Double const &time, sdfiller::MSDataRecord const &dataRecord)
 update MAIN table More...
 

Private Attributes

std::unique_ptr
< casacore::MeasurementSet
ms_
 
std::unique_ptr
< casacore::MSMainColumns
ms_columns_
 
std::unique_ptr
< casacore::MSDataDescColumns
data_description_columns_
 
std::unique_ptr
< casacore::MSFeedColumns
feed_columns_
 
std::unique_ptr
< casacore::MSPointingColumns
pointing_columns_
 
std::unique_ptr
< casacore::MSPolarizationColumns
polarization_columns_
 
std::unique_ptr
< casacore::MSSysCalColumns
syscal_columns_
 
std::unique_ptr
< casacore::MSStateColumns
state_columns_
 
std::unique_ptr
< casacore::MSWeatherColumns
weather_columns_
 
std::unique_ptr< Reader > reader_
 
bool is_float_
 
casacore::String data_key_
 
casacore::Int reference_feed_
 for POINTING table More...
 
std::map< casacore::Int,
casacore::Vector
< casacore::Double > > 
pointing_time_
 
std::map< casacore::Int,
casacore::Double
pointing_time_max_
 
std::map< casacore::Int,
casacore::Double
pointing_time_min_
 
casacore::Vector< casacore::uIntnum_pointing_time_
 
std::vector
< sdfiller::SysCalTableRecord
syscal_list_
 for SYSCAL table More...
 
std::vector< casacore::Intsubscan_list_
 for STATE table More...
 
std::vector< casacore::Vector
< casacore::String > * > 
polarization_type_pool_
 for FEED table More...
 
std::vector
< sdfiller::WeatherRecord
weather_list_
 for WEATHER table More...
 
sdfiller::MSDataRecord record_
 casacore::Data storage to interact with DataAccumulator More...
 
casacore::Bool const parallel_
 for parallel processing More...
 

Detailed Description

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

forward decleration

Definition at line 21 of file FieldRecord.h.

Constructor & Destructor Documentation

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

constructor

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

destructor

Member Function Documentation

template<class Reader >
static void* casa::SingleDishMSFiller< Reader >::consume ( void *  arg)
static
template<class Reader >
static void casa::SingleDishMSFiller< Reader >::create_context ( )
inlinestatic

static methods for parallel processing

template<class Reader >
static void casa::SingleDishMSFiller< Reader >::destroy_context ( )
inlinestatic
template<class Reader >
void casa::SingleDishMSFiller< Reader >::fill ( )

top level method to fill casacore::MS by reading input data

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillAntenna ( )
private

Fill subtables fill ANTENNA table.

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillField ( )
private

fill SOURCE table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillHistory ( )
private

fill HISTORY table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillMain ( )
private

fill MAIN table

template<class Reader >
static void casa::SingleDishMSFiller< Reader >::fillMainMT ( SingleDishMSFiller< Reader > *  filler)
inlinestatic
template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillObservation ( )
private

fill OBSERVATION table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillPostProcessTables ( )
private

fill tables that must be processed after main loop

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillPreProcessTables ( )
private

fill tables that can be processed prior to main loop

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillProcessor ( )
private

fill PROCESSOR table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillSource ( )
private

fill SOURCE table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::fillSpectralWindow ( )
private

fill SPECTRAL_WINDOW table

template<class Reader >
void casa::SingleDishMSFiller< Reader >::finalize ( )
private

finalization

template<class Reader >
void casa::SingleDishMSFiller< Reader >::flush ( sdfiller::DataAccumulator accumulator)
inlineprivate

flush accumulated data

template<class Reader >
std::string const& casa::SingleDishMSFiller< Reader >::getDataName ( ) const
inline

Definition at line 66 of file SingleDishMSFiller.h.

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

template<class Reader >
Reader const& casa::SingleDishMSFiller< Reader >::getReader ( ) const
inline

access to reader object

Definition at line 62 of file SingleDishMSFiller.h.

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

template<class Reader >
void casa::SingleDishMSFiller< Reader >::initialize ( )
private

initialization

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

save

template<class Reader >
void casa::SingleDishMSFiller< Reader >::setupMS ( )
private

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

template<class Reader >
void casa::SingleDishMSFiller< Reader >::sortPointing ( )
private
template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::updateDataDescription ( casacore::Int const &  polarization_id,
casacore::Int const &  spw_id 
)
inlineprivate

update DATA_DESCRIPTION table

Parameters
[in]polarization_idpolarization id
[in]spw_idspectral window id
Returns
data description id
template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::updateFeed ( casacore::Int const &  feed_id,
casacore::Int const &  spw_id,
casacore::String const &  pol_type 
)
inlineprivate

update FEED table

Parameters
[in]feed_idfeed ID
[in]spw_idspectral window ID
[in]pol_typepolarization type
Returns
feed row number
template<class Reader >
void casa::SingleDishMSFiller< Reader >::updateMain ( casacore::Int const &  antenna_id,
casacore::Int  field_id,
casacore::Int  feedId,
casacore::Int  dataDescriptionId,
casacore::Int  stateId,
casacore::Int const &  scan_number,
casacore::Double const &  time,
sdfiller::MSDataRecord const &  dataRecord 
)
inlineprivate

update MAIN table

Parameters
[in]fieldIdfield id
[in]feedIdfeed id
[in]dataDescriptionIddata description id
[in]stateIdstate id
[in]mainSpecmain table row specification except id
template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::updatePointing ( casacore::Int const &  antenna_id,
casacore::Int const &  feed_id,
casacore::Double const &  time,
casacore::Double const &  interval,
casacore::Matrix< casacore::Double > const &  direction 
)
inlineprivate

update POINTING table

Parameters
[in]antenna_idantenna id
[in]timetime stamp
[in]directionpointing direction
template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::updatePolarization ( casacore::Vector< casacore::Int > const &  corr_type,
casacore::Int const &  num_pol 
)
inlineprivate

update POLARIZATION table

Parameters
[in]corr_typepolarization type list
[in]num_polnumber of polarization components
Returns
polarization id
template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::updateState ( casacore::Int const &  subscan,
casacore::String const &  obs_mode 
)
inlineprivate

update STATE table

Parameters
[in]subscansubscan number
[in]obs_modeobserving mode string
Returns
state id
template<class Reader >
void casa::SingleDishMSFiller< Reader >::updateSysCal ( casacore::Int const &  antenna_id,
casacore::Int const &  feed_id,
casacore::Int const &  spw_id,
casacore::Double const &  time,
casacore::Double const &  interval,
sdfiller::MSDataRecord const &  data_record 
)
inlineprivate
template<class Reader >
void casa::SingleDishMSFiller< Reader >::updateSysCal ( casacore::MSSysCalColumns columns,
casacore::uInt  irow,
sdfiller::SysCalRecord const &  record 
)
inlineprivate
template<class Reader >
void casa::SingleDishMSFiller< Reader >::updateWeather ( casacore::Int const &  antenna_id,
casacore::Double const &  time,
casacore::Double const &  interval,
sdfiller::MSDataRecord const &  data_record 
)
inlineprivate
template<class Reader >
void casa::SingleDishMSFiller< Reader >::updateWeather ( casacore::MSWeatherColumns columns,
casacore::uInt  irow,
sdfiller::WeatherRecord const &  record 
)
inlineprivate

Member Data Documentation

template<class Reader >
std::unique_ptr<casacore::MSDataDescColumns> casa::SingleDishMSFiller< Reader >::data_description_columns_
private

Definition at line 184 of file SingleDishMSFiller.h.

template<class Reader >
casacore::String casa::SingleDishMSFiller< Reader >::data_key_
private

Definition at line 193 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSFeedColumns> casa::SingleDishMSFiller< Reader >::feed_columns_
private

Definition at line 185 of file SingleDishMSFiller.h.

template<class Reader >
bool casa::SingleDishMSFiller< Reader >::is_float_
private

Definition at line 192 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MeasurementSet> casa::SingleDishMSFiller< Reader >::ms_
private

Definition at line 182 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSMainColumns> casa::SingleDishMSFiller< Reader >::ms_columns_
private

Definition at line 183 of file SingleDishMSFiller.h.

template<class Reader >
casacore::Vector<casacore::uInt> casa::SingleDishMSFiller< Reader >::num_pointing_time_
private

Definition at line 200 of file SingleDishMSFiller.h.

template<class Reader >
casacore::Bool const casa::SingleDishMSFiller< Reader >::parallel_
private

for parallel processing

Definition at line 218 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSPointingColumns> casa::SingleDishMSFiller< Reader >::pointing_columns_
private

Definition at line 186 of file SingleDishMSFiller.h.

template<class Reader >
std::map<casacore::Int, casacore::Vector<casacore::Double> > casa::SingleDishMSFiller< Reader >::pointing_time_
private

Definition at line 197 of file SingleDishMSFiller.h.

template<class Reader >
std::map<casacore::Int, casacore::Double> casa::SingleDishMSFiller< Reader >::pointing_time_max_
private

Definition at line 198 of file SingleDishMSFiller.h.

template<class Reader >
std::map<casacore::Int, casacore::Double> casa::SingleDishMSFiller< Reader >::pointing_time_min_
private

Definition at line 199 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSPolarizationColumns> casa::SingleDishMSFiller< Reader >::polarization_columns_
private

Definition at line 187 of file SingleDishMSFiller.h.

template<class Reader >
std::vector<casacore::Vector<casacore::String> *> casa::SingleDishMSFiller< Reader >::polarization_type_pool_
private

for FEED table

Definition at line 209 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<Reader> casa::SingleDishMSFiller< Reader >::reader_
private
template<class Reader >
sdfiller::MSDataRecord casa::SingleDishMSFiller< Reader >::record_
private

casacore::Data storage to interact with DataAccumulator

Definition at line 215 of file SingleDishMSFiller.h.

template<class Reader >
casacore::Int casa::SingleDishMSFiller< Reader >::reference_feed_
private

for POINTING table

Definition at line 196 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSStateColumns> casa::SingleDishMSFiller< Reader >::state_columns_
private

Definition at line 189 of file SingleDishMSFiller.h.

template<class Reader >
std::vector<casacore::Int> casa::SingleDishMSFiller< Reader >::subscan_list_
private

for STATE table

Definition at line 206 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSSysCalColumns> casa::SingleDishMSFiller< Reader >::syscal_columns_
private

Definition at line 188 of file SingleDishMSFiller.h.

template<class Reader >
std::vector<sdfiller::SysCalTableRecord> casa::SingleDishMSFiller< Reader >::syscal_list_
private

for SYSCAL table

Definition at line 203 of file SingleDishMSFiller.h.

template<class Reader >
std::unique_ptr<casacore::MSWeatherColumns> casa::SingleDishMSFiller< Reader >::weather_columns_
private

Definition at line 190 of file SingleDishMSFiller.h.

template<class Reader >
std::vector<sdfiller::WeatherRecord> casa::SingleDishMSFiller< Reader >::weather_list_
private

for WEATHER table

Definition at line 212 of file SingleDishMSFiller.h.


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