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>
38template <
class T>
class ArrayColumn;
39template <
class T>
class ScalarColumn;
262#define ROArrayQuantColumn ArrayQuantColumn
265#ifndef CASACORE_NO_AUTO_TEMPLATES
266#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.
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
const ScalarColumn< String > * scaUnitsCol() const
void reference(const ArrayQuantColumn< T > &that)
Make this object reference the column in "that".
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.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.