source: trunk/src/STSubTable.h@ 2768

Last change on this file since 2768 was 2658, checked in by Malte Marquarding, 12 years ago

Ticket #199: Excised Logger::pushLog; now everything is using LogIO

File size: 1.3 KB
Line 
1//
2// C++ Interface: STSubTable
3//
4// Description:
5//
6//
7// Author: Malte Marquarding <asap@atnf.csiro.au>, (C) 2006
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef ASAPSTSUBTABLE_H
13#define ASAPSTSUBTABLE_H
14
15#include <tables/Tables/Table.h>
16#include <tables/Tables/ScalarColumn.h>
17
18
19
20namespace asap {
21
22class Scantable;
23/**
24Abstract base class for all subtables in the Scantable class.
25
26@author Malte Marquarding
27@date $Date:$
28@version $Revision:$
29*/
30class STSubTable {
31public:
32 STSubTable() {;}
33 STSubTable( casa::Table tab, const casa::String& name);
34 STSubTable( const Scantable& parent, const casa::String& name );
35
36 virtual ~STSubTable();
37
38 STSubTable& operator=(const STSubTable& other);
39
40
41
42 /**
43 * Add extra columns. To be implemented in derived class
44 */
45 virtual void setup() = 0;
46 // -> virtual bool conformant(const STSubTable& other) = 0;
47
48 virtual const casa::String& name() const = 0;
49
50 /**
51 * Recalculate IDs to be 0-based and incremented by 1 i.e.
52 * rowno == ID
53 * @return the 'old' IDs
54 */
55 casa::Vector<casa::uInt> repopulate();
56
57 const casa::Table& table() const { return table_; }
58 casa::Table table() { return table_; }
59
60protected:
61 casa::Table table_;
62 casa::ScalarColumn<casa::uInt> idCol_;
63
64private:
65
66};
67
68}
69
70#endif
Note: See TracBrowser for help on using the repository browser.