| [2] | 1 | //#---------------------------------------------------------------------------
 | 
|---|
 | 2 | //# python_SDMemTable.cc: python exposure of c++ SDMemTable class
 | 
|---|
 | 3 | //#---------------------------------------------------------------------------
 | 
|---|
 | 4 | //# Copyright (C) 2004
 | 
|---|
| [125] | 5 | //# ATNF
 | 
|---|
| [2] | 6 | //#
 | 
|---|
 | 7 | //# This program is free software; you can redistribute it and/or modify it
 | 
|---|
 | 8 | //# under the terms of the GNU General Public License as published by the Free
 | 
|---|
 | 9 | //# Software Foundation; either version 2 of the License, or (at your option)
 | 
|---|
 | 10 | //# any later version.
 | 
|---|
 | 11 | //#
 | 
|---|
 | 12 | //# This program is distributed in the hope that it will be useful, but
 | 
|---|
 | 13 | //# WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
 | 14 | //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 | 
|---|
 | 15 | //# Public License for more details.
 | 
|---|
 | 16 | //#
 | 
|---|
 | 17 | //# You should have received a copy of the GNU General Public License along
 | 
|---|
 | 18 | //# with this program; if not, write to the Free Software Foundation, Inc.,
 | 
|---|
 | 19 | //# 675 Massachusetts Ave, Cambridge, MA 02139, USA.
 | 
|---|
 | 20 | //#
 | 
|---|
 | 21 | //# Correspondence concerning this software should be addressed as follows:
 | 
|---|
 | 22 | //#        Internet email: Malte.Marquarding@csiro.au
 | 
|---|
 | 23 | //#        Postal address: Malte Marquarding,
 | 
|---|
 | 24 | //#                        Australia Telescope National Facility,
 | 
|---|
 | 25 | //#                        P.O. Box 76,
 | 
|---|
 | 26 | //#                        Epping, NSW, 2121,
 | 
|---|
 | 27 | //#                        AUSTRALIA
 | 
|---|
 | 28 | //#
 | 
|---|
 | 29 | //# $Id:
 | 
|---|
 | 30 | //#---------------------------------------------------------------------------
 | 
|---|
 | 31 | #include <vector>
 | 
|---|
 | 32 | 
 | 
|---|
 | 33 | #include <boost/python.hpp>
 | 
|---|
| [16] | 34 | #include <boost/python/args.hpp>
 | 
|---|
| [125] | 35 | 
 | 
|---|
| [2] | 36 | #include "SDMemTableWrapper.h"
 | 
|---|
 | 37 | 
 | 
|---|
 | 38 | using namespace boost::python;
 | 
|---|
 | 39 | 
 | 
|---|
| [83] | 40 | namespace asap {
 | 
|---|
| [2] | 41 |   namespace python {
 | 
|---|
 | 42 | 
 | 
|---|
 | 43 | void python_SDMemTable() {
 | 
|---|
 | 44 |   class_<SDMemTableWrapper>("sdtable")
 | 
|---|
| [96] | 45 |     //.def( init <> () )
 | 
|---|
| [2] | 46 |     .def( init < std::string > () )
 | 
|---|
| [96] | 47 |     .def( init < const SDMemTableWrapper& > () )
 | 
|---|
 | 48 |     .def( init < const SDMemTableWrapper&, std::string > () )
 | 
|---|
 | 49 |     .def("_copy", &SDMemTableWrapper::copy)
 | 
|---|
| [2] | 50 |     .def("getif", &SDMemTableWrapper::getIF)
 | 
|---|
 | 51 |     .def("getbeam", &SDMemTableWrapper::getBeam)
 | 
|---|
 | 52 |     .def("getpol", &SDMemTableWrapper::getPol)
 | 
|---|
| [401] | 53 |     .def("_lines", &SDMemTableWrapper::spectralLines)
 | 
|---|
| [18] | 54 |     .def("nif", &SDMemTableWrapper::nIF)
 | 
|---|
 | 55 |     .def("nbeam", &SDMemTableWrapper::nBeam)
 | 
|---|
 | 56 |     .def("npol", &SDMemTableWrapper::nPol)
 | 
|---|
 | 57 |     .def("nchan", &SDMemTableWrapper::nChan)
 | 
|---|
| [96] | 58 |     .def("nscan", &SDMemTableWrapper::nScan)
 | 
|---|
 | 59 |     .def("nrow", &SDMemTableWrapper::nRow)
 | 
|---|
| [16] | 60 |     .def("setif", &SDMemTableWrapper::setIF,
 | 
|---|
| [96] | 61 |          (boost::python::arg("whichIF")=0) )
 | 
|---|
| [2] | 62 |     .def("setbeam", &SDMemTableWrapper::setBeam)
 | 
|---|
 | 63 |     .def("setpol", &SDMemTableWrapper::setPol)
 | 
|---|
| [433] | 64 |     .def("_rotate_xyphase", &SDMemTableWrapper::rotateXYPhase)
 | 
|---|
| [252] | 65 |     .def("_setmask", &SDMemTableWrapper::setMask)
 | 
|---|
| [207] | 66 |     .def("get_fluxunit", &SDMemTableWrapper::getFluxUnit)
 | 
|---|
| [219] | 67 |     .def("set_fluxunit", &SDMemTableWrapper::setFluxUnit)
 | 
|---|
| [357] | 68 |     .def("_setInstrument", &SDMemTableWrapper::setInstrument)
 | 
|---|
| [252] | 69 |     .def("_getscan", &SDMemTableWrapper::getScan)
 | 
|---|
 | 70 |     .def("_getsource", &SDMemTableWrapper::getSource)
 | 
|---|
 | 71 |     .def("_getspectrum", &SDMemTableWrapper::getSpectrum,
 | 
|---|
| [423] | 72 |          (boost::python::arg("whichRow")=0))
 | 
|---|
 | 73 |     .def("_getstokesspectrum", &SDMemTableWrapper::getStokesSpectrum,
 | 
|---|
 | 74 |          (boost::python::arg("whichRow")=0),
 | 
|---|
| [426] | 75 |          (boost::python::arg("pol")=false),
 | 
|---|
 | 76 |          (boost::python::arg("pa")=0.0) )
 | 
|---|
| [431] | 77 |     .def("_getcircularspectrum", &SDMemTableWrapper::getCircularSpectrum,
 | 
|---|
 | 78 |          (boost::python::arg("whichRow")=0),
 | 
|---|
 | 79 |          (boost::python::arg("rr")=true))
 | 
|---|
| [252] | 80 |     .def("_setspectrum",&SDMemTableWrapper::setSpectrum,
 | 
|---|
 | 81 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
 | 82 |     .def("_getabcissa", &SDMemTableWrapper::getAbcissa,
 | 
|---|
 | 83 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
 | 84 |     .def("_getabcissalabel", &SDMemTableWrapper::getAbcissaString,
 | 
|---|
 | 85 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
 | 86 |     .def("_getmask", &SDMemTableWrapper::getMask,
 | 
|---|
 | 87 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
 | 88 |     .def("_gettsys", &SDMemTableWrapper::getTsys)
 | 
|---|
 | 89 |     .def("_getsourcename", &SDMemTableWrapper::getSourceName,
 | 
|---|
 | 90 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
 | 91 |     .def("_gettime", &SDMemTableWrapper::getTime,
 | 
|---|
 | 92 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
| [96] | 93 |     .def("_flag", &SDMemTableWrapper::flag,
 | 
|---|
 | 94 |          (boost::python::arg("whichRow")=-1) )
 | 
|---|
| [122] | 95 |     .def("_save",  &SDMemTableWrapper::makePersistent)
 | 
|---|
| [412] | 96 |     .def("_summary",  &SDMemTableWrapper::summary,
 | 
|---|
 | 97 |          (boost::python::arg("verbose")=true) )
 | 
|---|
| [392] | 98 |     .def("_getrestfreqs",  &SDMemTableWrapper::getRestFreqs)
 | 
|---|
| [106] | 99 |     .def("_setrestfreqs",  &SDMemTableWrapper::setRestFreqs)
 | 
|---|
 | 100 |     .def("_setcoordinfo", &SDMemTableWrapper::setCoordInfo)
 | 
|---|
 | 101 |     .def("_getcoordinfo", &SDMemTableWrapper::getCoordInfo)
 | 
|---|
| [207] | 102 |     .def("_history", &SDMemTableWrapper::history,
 | 
|---|
 | 103 |          (boost::python::arg("whichRow")=0) )
 | 
|---|
| [2] | 104 |   ;
 | 
|---|
 | 105 | };
 | 
|---|
 | 106 | 
 | 
|---|
 | 107 |   } // python
 | 
|---|
| [83] | 108 | } // asap
 | 
|---|