source: trunk/src/STMolecules.h @ 2321

Last change on this file since 2321 was 2321, checked in by Malte Marquarding, 13 years ago

Ticket #249: scantbable schema was changed. This required an update to scantable version 4. I have added a class STUpgrade to handle all schema upgrades. This is handled transparently in the scantable constructor

File size: 2.1 KB
RevLine 
[809]1//
2// C++ Interface: STMolecules
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 ASAPSTMOLECULES_H
13#define ASAPSTMOLECULES_H
14
15#include <casa/aips.h>
16#include <casa/BasicSL/String.h>
17#include <tables/Tables/Table.h>
18#include <tables/Tables/ScalarColumn.h>
[1819]19#include <tables/Tables/ArrayColumn.h>
20#include <casa/Arrays/Array.h>
[809]21
22#include "STSubTable.h"
23
24namespace asap {
25
26/**
27The Molecules subtable of the Scantable
28
29@author Malte Marquarding
30*/
31class STMolecules : public STSubTable {
32public:
[849]33  STMolecules() {;}
[1353]34  explicit STMolecules(casa::Table tab);
35  explicit STMolecules( const Scantable& parent);
[809]36
37  virtual ~STMolecules();
38
[849]39  STMolecules& operator=(const STMolecules& other);
40
[1819]41/***
[809]42  casa::uInt addEntry( casa::Double restfreq, const casa::String& name="",
43                       const casa::String& formattedname="");
[1819]44***/
[809]45
[2321]46  casa::uInt addEntry( casa::Vector<casa::Double> restfreq,
47                       const casa::Vector<casa::String>& name=casa::Vector<casa::String>(0),
[1819]48                       const casa::Vector<casa::String>& formattedname=casa::Vector<casa::String>(0));
49
50/***
[870]51  void getEntry( casa::Double& restfreq, casa::String& name,
52                 casa::String& formattedname, casa::uInt id) const;
[1819]53***/
[2321]54  void getEntry( casa::Vector<casa::Double>& restfreq,
55                 casa::Vector<casa::String>& name,
56                 casa::Vector<casa::String>& formattedname,
57                 casa::uInt id) const;
[830]58
[847]59  std::vector<double> getRestFrequencies() const;
[1819]60  std::vector<double> getRestFrequency( casa::uInt id ) const;
[856]61  const casa::String& name() const { return name_; }
[1819]62  int nrow() const;
[856]63
[809]64private:
65  void setup();
66  static const casa::String name_;
67  //casa::Table table_;
68  //casa::ScalarColumn<casa::uInt> freqidCol_;
[1819]69  //casa::ScalarColumn<casa::Double> restfreqCol_;
70  casa::ArrayColumn<casa::Double> restfreqCol_;
71  //casa::ScalarColumn<casa::String> nameCol_;
72  casa::ArrayColumn<casa::String> nameCol_;
73  //casa::ScalarColumn<casa::String> formattednameCol_; // e.g. latex
74  casa::ArrayColumn<casa::String> formattednameCol_; // e.g. latex
[809]75
76};
77
78}
79
80#endif
Note: See TracBrowser for help on using the repository browser.