26#ifndef MEASURES_ARRAYQUANTCOLUMN_H
27#define MEASURES_ARRAYQUANTCOLUMN_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/Arrays/Vector.h>
32#include <casacore/casa/Quanta/Quantum.h>
248#define ROArrayQuantColumn ArrayQuantColumn
250#ifndef CASACORE_NO_AUTO_TEMPLATES
251#include <casacore/measures/TableMeasures/ArrayQuantColumn.tcc>
ArrayQuantColumn(const Table &tab, const String &columnName)
Create the ArrayQuantColumn from the supplied table and column name.
ArrayQuantColumn()
The default constructor creates a null object.
Bool isUnitVariable() const
Test whether the Quantum column has variable units.
Bool isNull() const
Test if the object is null.
ArrayColumn< String > * itsArrUnitsCol
void getData(rownr_t rownr, Array< Quantum< T > > &q, Bool resize) const
Get the data without possible conversion.
void get(rownr_t rownr, Array< Quantum< T > > &q, const Quantum< T > &other, Bool resize=False) const
Get the quantum array in the specified row.
Vector< String > getUnits() const
Returns the column's units as a vector of strings.
Array< Quantum< T > > operator()(rownr_t rownr, const Quantum< T > &other) const
Return the quantum array stored in the specified row, converted to the unit in other.
void get(rownr_t rownr, Array< Quantum< T > > &q, Bool resize=False) const
Get the quantum array in the specified row.
void attach(const Table &tab, const String &columnName)
Attach a column to the object.
Bool operator==(const ArrayQuantColumn< T > &that)
Comparison is not defined, since its semantics are unclear.
ArrayQuantColumn & operator=(const ArrayQuantColumn< T > &that)
Assignment makes no sense in a read only class.
void get(rownr_t rownr, Array< Quantum< T > > &q, const Unit &, Bool resize=False) const
Get the quantum array in the specified row.
void put(rownr_t rownr, const Array< Quantum< T > > &q)
Put an array of quanta into the specified row of the table.
void get(rownr_t rownr, Array< Quantum< T > > &q, const Vector< Unit > &, Bool resize=False) const
Get the quantum array in the specified row.
void cleanUp()
Deletes allocated memory etc.
void attach(const Table &tab, const String &columnName, const Vector< Unit > &)
void throwIfNull() const
Throw an exception if the object is null.
ArrayColumn< T > * itsDataCol
Array< Quantum< T > > operator()(rownr_t rownr, const Unit &) const
Return the quantum array stored in the specified row, converted to the given unit.
const ScalarColumn< String > * scaUnitsCol() const
void reference(const ArrayQuantColumn< T > &that)
Make this object reference the column in "that".
Array< Quantum< T > > operator()(rownr_t rownr, const Vector< Unit > &) const
Return the quantum array stored in the specified row, converted to the given units.
ArrayQuantColumn(const Table &tab, const String &columnName, const Unit &)
Create the ArrayQuantColumn from the supplied table and column name.
void init(const Table &tab, const String &columnName)
Initialize the ArrayQuantColumn from the specified table and column.
void attach(const Table &tab, const String &columnName, const Unit &)
ScalarColumn< String > * itsScaUnitsCol
ArrayQuantColumn(const Table &tab, const String &columnName, const Vector< Unit > &)
Array< Quantum< T > > operator()(rownr_t rownr) const
Return the quantum array stored in the specified row.
ArrayQuantColumn(const ArrayQuantColumn< T > &that)
Copy constructor (copy semantics).
const ArrayColumn< String > * arrUnitsCol() const
Get access to itsUnitsCol.
Vector< Unit > itsUnitOut
String: the storage and methods of handling collections of characters.
For temporary backward namespace compatibility, use casa as alias for casacore.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.