source: trunk/src/STSubTable.h @ 3106

Last change on this file since 3106 was 3106, checked in by Takeshi Nakazato, 8 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes/No?

Interface Changes: Yes/No?

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...


Check-in asap modifications from Jim regarding casacore namespace conversion.

File size: 1.3 KB
RevLine 
[808]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
[2658]19
[808]20namespace asap {
21
[849]22class Scantable;
[808]23/**
24Abstract base class for all subtables in the Scantable class.
25
26@author Malte Marquarding
27@date $Date:$
28@version $Revision:$
29*/
[2658]30class STSubTable  {
[808]31public:
[849]32  STSubTable() {;}
[3106]33  STSubTable( casacore::Table tab, const casacore::String& name);
34  STSubTable( const Scantable& parent, const casacore::String& name );
[808]35
36  virtual ~STSubTable();
37
[849]38  STSubTable& operator=(const STSubTable& other);
[808]39
[849]40
41
[808]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
[3106]48  virtual const casacore::String& name() const = 0;
[857]49
[808]50  /**
51   * Recalculate IDs to be 0-based and incremented by 1 i.e.
52   * rowno == ID
53   * @return the 'old' IDs
54   */
[3106]55  casacore::Vector<casacore::uInt> repopulate();
[808]56
[3106]57  const casacore::Table& table() const { return table_; }
58  casacore::Table table() { return table_; }
[808]59
60protected:
[3106]61  casacore::Table table_;
62  casacore::ScalarColumn<casacore::uInt> idCol_;
[808]63
64private:
[857]65
[808]66};
67
68}
69
70#endif
Note: See TracBrowser for help on using the repository browser.