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);
43 array.putStorage(storage, ownership);
54 const double *storage =
array.getStorage(ownership);
58 array.freeStorage(storage, ownership);
Non-templated base class for templated Array class.
Stores values of a UVW column in a compressed way.
void WriteUvw(uint64_t row, size_t antenna1, size_t antenna2, const double *uvw)
Write a single row to the column.
void ReadUvw(uint64_t row, size_t antenna1, size_t antenna2, double *uvw)
Read a single row.
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
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.