8 #ifndef SINGLEDISH_FILLER_SINGLEDISHMSFILLER_H_
9 #define SINGLEDISH_FILLER_SINGLEDISHMSFILLER_H_
42 class DataAccumulator;
45 template<
typename Reader>
46 class SingleDishMSFiller {
53 inline static void fillMainMT(SingleDishMSFiller<Reader> *filler);
182 std::unique_ptr<casacore::MeasurementSet>
ms_;
224 #include <singledishfiller/Filler/SingleDishMSFiller.tcc>
std::unique_ptr< casacore::MSMainColumns > ms_columns_
casacore::Int updateDataDescription(casacore::Int const &polarization_id, casacore::Int const &spw_id)
update DATA_DESCRIPTION table
sdfiller::MSDataRecord record_
casacore::Data storage to interact with DataAccumulator
std::unique_ptr< casacore::MSFeedColumns > feed_columns_
LatticeExprNode arg(const LatticeExprNode &expr)
casacore::Vector< casacore::uInt > num_pointing_time_
SingleDishMSFiller(std::string const &name, bool parallel=false)
constructor
std::vector< casacore::Vector< casacore::String > * > polarization_type_pool_
for FEED table
casacore::Bool const parallel_
for parallel processing
std::unique_ptr< casacore::MSWeatherColumns > weather_columns_
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
static void create_context()
static methods for parallel processing
static void fillMainMT(SingleDishMSFiller< Reader > *filler)
casacore::String data_key_
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
void save(std::string const &name)
save
std::map< casacore::Int, casacore::Double > pointing_time_max_
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
casacore::Int reference_feed_
for POINTING table
void fillSpectralWindow()
fill SPECTRAL_WINDOW table
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)
static void destroy_context()
std::map< casacore::Int, casacore::Double > pointing_time_min_
std::map< casacore::Int, casacore::Vector< casacore::Double > > pointing_time_
std::vector< sdfiller::SysCalTableRecord > syscal_list_
for SYSCAL table
void fill()
top level method to fill casacore::MS by reading input data
void setupMS()
setup casacore::MS as Scratch table The table will be non-Scratch when it is saved ...
void fillMain()
fill MAIN table
void fillField()
fill SOURCE table
void fillProcessor()
fill PROCESSOR table
void fillObservation()
fill OBSERVATION table
std::string const & getDataName() const
std::unique_ptr< Reader > reader_
A class to provide easy read-write access to MSSysCal columns.
casacore::Int updateState(casacore::Int const &subscan, casacore::String const &obs_mode)
update STATE table
bool Bool
Define the standard types used by Casacore.
~SingleDishMSFiller()
destructor
std::unique_ptr< casacore::MSStateColumns > state_columns_
Reader const & getReader() const
access to reader object
std::unique_ptr< casacore::MeasurementSet > ms_
void initialize()
initialization
std::unique_ptr< casacore::MSPointingColumns > pointing_columns_
std::vector< sdfiller::WeatherRecord > weather_list_
for WEATHER table
void finalize()
finalization
void fillHistory()
fill HISTORY table
void fillPostProcessTables()
fill tables that must be processed after main loop
casacore::Int updatePolarization(casacore::Vector< casacore::Int > const &corr_type, casacore::Int const &num_pol)
update POLARIZATION table
void fillSource()
fill SOURCE table
String: the storage and methods of handling collections of characters.
static void * produce(void *arg)
void fillPreProcessTables()
fill tables that can be processed prior to main loop
void updateWeather(casacore::Int const &antenna_id, casacore::Double const &time, casacore::Double const &interval, sdfiller::MSDataRecord const &data_record)
void flush(sdfiller::DataAccumulator &accumulator)
flush accumulated data
static void * consume(void *arg)
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
void fillAntenna()
Fill subtables fill ANTENNA table.
std::unique_ptr< casacore::MSPolarizationColumns > polarization_columns_
casacore::Int updateFeed(casacore::Int const &feed_id, casacore::Int const &spw_id, casacore::String const &pol_type)
update FEED table
std::vector< casacore::Int > subscan_list_
for STATE table
std::unique_ptr< casacore::MSDataDescColumns > data_description_columns_
A class to provide easy read-write access to MSWeather columns.
std::unique_ptr< casacore::MSSysCalColumns > syscal_columns_