source: branches/alma/src/STMolecules.h@ 3016

Last change on this file since 3016 was 1446, checked in by TakTsutsumi, 16 years ago

Merged recent updates (since 2007) from nrao-asap

File size: 2.1 KB
Line 
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>
19#include <tables/Tables/ArrayColumn.h>
20#include <casa/Arrays/Array.h>
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:
33 STMolecules() {;}
34 explicit STMolecules(casa::Table tab);
35 explicit STMolecules( const Scantable& parent);
36
37 virtual ~STMolecules();
38
39 STMolecules& operator=(const STMolecules& other);
40
41/***
42 casa::uInt addEntry( casa::Double restfreq, const casa::String& name="",
43 const casa::String& formattedname="");
44***/
45
46 casa::uInt addEntry( casa::Vector<casa::Double> restfreq, const casa::Vector<casa::String>& name=casa::Vector<casa::String>(0),
47 const casa::Vector<casa::String>& formattedname=casa::Vector<casa::String>(0));
48
49/***
50 void getEntry( casa::Double& restfreq, casa::String& name,
51 casa::String& formattedname, casa::uInt id) const;
52***/
53 void getEntry( casa::Vector<casa::Double>& restfreq, casa::Vector<casa::String>& name,
54 casa::Vector<casa::String>& formattedname, casa::uInt id) const;
55
56 std::vector<double> getRestFrequencies() const;
57 std::vector<double> getRestFrequency( casa::uInt id ) const;
58 const casa::String& name() const { return name_; }
59 int nrow() const;
60
61private:
62 void setup();
63 static const casa::String name_;
64 //casa::Table table_;
65 //casa::ScalarColumn<casa::uInt> freqidCol_;
66 //casa::ScalarColumn<casa::Double> restfreqCol_;
67 casa::ArrayColumn<casa::Double> restfreqCol_;
68 //casa::ScalarColumn<casa::String> nameCol_;
69 casa::ArrayColumn<casa::String> nameCol_;
70 //casa::ScalarColumn<casa::String> formattednameCol_; // e.g. latex
71 casa::ArrayColumn<casa::String> formattednameCol_; // e.g. latex
72
73};
74
75}
76
77#endif
Note: See TracBrowser for help on using the repository browser.