8 #ifndef SINGLEDISH_FILLER_SCANTABLE2MSREADER_H_
9 #define SINGLEDISH_FILLER_SCANTABLE2MSREADER_H_
46 if ((max_pol == 3) && (pol_type ==
"linear" || pol_type ==
"circular")) {
55 return main_table_->keywordSet().asString(
"FluxUnit");
169 template<
class _Record>
175 template<
class _Iterator,
class _Record,
class _Func>
177 _Func &func,
typename _Iterator::Product *
product =
nullptr) {
186 iter->getEntry(record);
193 func = &Scantable2MSReader::noMoreRowImpl<_Record>;
casacore::ScalarColumn< casacore::uInt > weather_id_column_
void initializeSpecific()
casacore::ArrayColumn< casacore::Float > data_column_
casacore::Bool getAntennaRowImpl(sdfiller::AntennaRecord &record)
std::unique_ptr< ScantableSourceIterator > source_iter_
casacore::ArrayColumn< casacore::Double > direction_column_
casacore::Bool noMoreRowImpl(_Record &)
virtual casacore::Bool getObservationRow(sdfiller::ObservationRecord &record)
to get OBSERVATION table
casacore::ScalarColumn< casacore::Float > wind_direction_column_
Main interface class to a read/write table.
casacore::Bool getObservationRowImpl(sdfiller::ObservationRecord &record)
virtual casacore::Bool getSourceRow(sdfiller::SourceRecord &record)
to get SOURCE table
virtual ~Scantable2MSReader()
std::unique_ptr< ScantableFrequenciesIterator > freq_iter_
virtual casacore::Bool getFieldRow(sdfiller::FieldRecord &record)
to get FIELD table
casacore::ScalarColumn< casacore::String > fieldname_column_
casacore::ScalarColumn< casacore::uInt > flagrow_column_
casacore::Table weather_table_
virtual size_t getNumberOfRows()
get number of rows for MAIN table
casacore::ArrayColumn< casacore::uChar > flag_column_
casacore::ScalarColumn< casacore::Float > wind_speed_column_
casacore::ScalarColumn< casacore::Int > srctype_column_
virtual casacore::Bool getAntennaRow(sdfiller::AntennaRecord &record)
to get ANTENNA table
virtual casacore::Bool getSpectralWindowRow(sdfiller::SpectralWindowRecord &record)
to get SOURCE table
casacore::ArrayColumn< casacore::Float > tcal_column_
casacore::ScalarColumn< casacore::uInt > cycle_column_
casacore::Bool getSourceRowImpl(sdfiller::SourceRecord &record)
casacore::String pol_type_
casacore::Bool(Scantable2MSReader::* get_spw_row_)(sdfiller::SpectralWindowRecord &)
std::unique_ptr< ScantableFieldIterator > field_iter_
virtual casacore::String getDataUnit() const
casacore::ScalarColumn< casacore::Double > time_column_
casacore::Bool getSpectralWindowRowImpl(sdfiller::SpectralWindowRecord &record)
std::unique_ptr< casacore::Table > main_table_
casacore::ScalarColumn< casacore::uInt > polno_column_
casacore::Matrix< T > product(const casacore::Vector< T > &x, const casacore::Matrix< T > &yT)
The matrix/outer product of a vector and a transposed vector.
Scantable2MSReader(std::string const &scantable_name)
bool Bool
Define the standard types used by Casacore.
casacore::Vector< casacore::uInt > sorted_rows_
casacore::Bool getRowImplTemplate(std::unique_ptr< _Iterator > &iter, _Record &record, _Func &func, typename _Iterator::Product *product=nullptr)
casacore::Table tcal_table_
casacore::Bool getFieldRowImpl(sdfiller::FieldRecord &record)
casacore::Bool(Scantable2MSReader::* get_observation_row_)(sdfiller::ObservationRecord &)
casacore::ScalarColumn< casacore::uInt > beam_column_
casacore::ScalarColumn< casacore::Float > temperature_column_
casacore::ScalarColumn< casacore::uInt > scan_column_
casacore::Bool(Scantable2MSReader::* get_source_row_)(sdfiller::SourceRecord &)
virtual casacore::Bool isFloatData() const
ScantableFrequenciesIterator::Product num_chan_map_
casacore::Bool(Scantable2MSReader::* get_processor_row_)(sdfiller::ProcessorRecord &)
casacore::ArrayColumn< casacore::Double > scanrate_column_
virtual casacore::Bool getData(size_t irow, sdfiller::DataRecord &record)
for DataAccumulator
casacore::ScalarColumn< casacore::uInt > tcal_id_column_
casacore::ScalarColumn< casacore::Double > interval_column_
std::map< casacore::Int, casacore::Int > Product
casacore::Bool getProcessorRowImpl(sdfiller::ProcessorRecord &record)
std::map< casacore::uInt, casacore::uInt > tcal_id_map_
String: the storage and methods of handling collections of characters.
std::map< casacore::uInt, casacore::uInt > weather_id_map_
casacore::ArrayColumn< casacore::Float > tsys_column_
virtual casacore::Bool getProcessorRow(sdfiller::ProcessorRecord &record)
to get PROCESSOR table
casacore::ScalarColumn< casacore::Float > humidity_column_
casacore::Bool(Scantable2MSReader::* get_field_row_)(sdfiller::FieldRecord &)
casacore::ScalarColumn< casacore::Float > pressure_column_
ScantableFieldIterator::Product field_map_
std::map< casacore::String, casacore::Int > Product
casacore::ScalarColumn< casacore::uInt > ifno_column_
void getColumn(Vector< T > &vec, Bool resize=False) const
Get the vector of all values in the column.
casacore::Bool(Scantable2MSReader::* get_antenna_row_)(sdfiller::AntennaRecord &)