1#ifndef CASACORE_STOKES_I_ST_MAN_COLUMN_H_
2#define CASACORE_STOKES_I_ST_MAN_COLUMN_H_
4#include <casacore/tables/DataMan/StManColumn.h>
5#include <casacore/tables/Tables/ScalarColumn.h>
7#include <casacore/casa/Arrays/Array.h>
8#include <casacore/casa/Arrays/IPosition.h>
26 throw std::runtime_error(
27 "UvwStMan can only be used for array columns with 1 dimension of "
39 double *storage =
array.getStorage(ownership);
42 file_.ReadUvw(row, antenna1, antenna2, storage);
43 array.putStorage(storage, ownership);
54 const double *storage =
array.getStorage(ownership);
57 file_.WriteUvw(row, antenna1, antenna2, storage);
58 array.freeStorage(storage, ownership);
Non-templated base class for templated Array class.
StManColumn(int dataType)
Default constructor.
Stores values of a UVW column in a compressed way.
UvwStManColumn(UvwFile &file)
IPosition shape(rownr_t) final
Get the shape of the item in the given row.
void operator=(const UvwStManColumn &source)=delete
IPosition shape(uInt) final
void setShapeColumn(const IPosition &shape) final
Set the dimensions of values in this column.
ScalarColumn< int > antenna2_column_
Bool isWritable() const final
Test if data can be put into this column.
void getArrayV(rownr_t row, ArrayBase &dataPtr) final
Get the array value in the given row.
UvwStManColumn(const UvwStManColumn &source)=delete
ScalarColumn< int > antenna1_column_
void putArrayV(rownr_t row, const ArrayBase &dataPtr) final
Write values into a particular row.
void Prepare(Table &table)
this file contains all the compiler specific defines
TYPE * array
the allocated array
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.