casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IDL.h
Go to the documentation of this file.
1 //# Pixon.h: Definition for Pixon
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be adressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //#
27 //# $Id$
28 
29 #ifndef SYNTHESIS_IDL_H
30 #define SYNTHESIS_IDL_H
31 
32 #include <casa/Arrays/Vector.h>
33 #include <casa/BasicSL/String.h>
34 
35 #ifdef HAVE_IDL_LIB
36 #include <casa/stdio.h>
37 #include "export.h"
38 #endif
39 
40 namespace casa { //# NAMESPACE CASA - BEGIN
41 
42 // <summary> A class to start IDL and execute commands, etc.
43 // </summary>
44 
45 // <use visibility=export>
46 
47 // <reviewed reviewer="" date="" tests="" demos="">
48 
49 // <prerequisite>
50 // <li> IDL libraries
51 // </prerequisite>
52 //
53 // <etymology>
54 // IDL is the class for running IDL from inside AIPS++
55 // </etymology>
56 //
57 // <synopsis>
58 // We can start IDL, execute commands, send and retreive named
59 // arrays, etc using this class. The initial use of this class
60 // is to allow Pixon processing to be performed using the IDL
61 // code.
62 // </synopsis>
63 //
64 // <example>
65 // </example>
66 //
67 // <motivation>
68 // Get access to IDL functionality
69 // </motivation>
70 //
71 // <todo asof="01/03/03">
72 // <ul> Add more interface functions
73 // <ul> Turn into DO
74 // </todo>
75 
76 class IDL {
77 public:
78 
79  // The constructor will start IDL.
81 
82  // Copy constructor
83  IDL(const IDL &other);
84 
85  // Assignment operator
86  IDL &operator=(const IDL &other);
87 
88  // The destructor will stop IDL.
89  ~IDL();
90 
91  // Run a sequence of IDL commands
93 
94  // Run a single IDL command
96 
97  // Send an array to IDL and name it
99 
100  // Get an array from IDL
102 
103  // Get an scalar from IDL
105 
106  // Get an scalar from IDL
108 
109  // Set the path inside IDL
111 
112 protected:
113 
114  char* getIDLName(const casacore::String);
115 
116 #ifdef HAVE_IDL_LIB
117  IDL_VPTR getPointer(const casacore::String);
118 #endif
119 
120  void ok();
121 
122 };
123 
124 } //# NAMESPACE CASA - END
125 
126 #endif
int Int
Definition: aipstype.h:50
LatticeExprNode log(const LatticeExprNode &expr)
casacore::Bool sendArray(const casacore::Array< casacore::Float > &a, casacore::String aname)
Send an array to IDL and name it.
IDL(casacore::Int options=0)
The constructor will start IDL.
casacore::Int getInt(casacore::String aname)
Get an scalar from IDL.
char * getIDLName(const casacore::String)
IDL & operator=(const IDL &other)
Assignment operator.
A class to start IDL and execute commands, etc.
Definition: IDL.h:76
Options options
casacore::Bool setPath(const casacore::Vector< casacore::String > &)
Set the path inside IDL.
casacore::Float getFloat(casacore::String aname)
Get an scalar from IDL.
casacore::Bool runCommands(const casacore::Vector< casacore::String > &commands, casacore::Bool log=true)
Run a sequence of IDL commands.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
void ok()
casacore::Bool runCommand(const casacore::String &command, casacore::Bool log=true)
Run a single IDL command.
~IDL()
The destructor will stop IDL.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::Array< casacore::Float > getArray(casacore::String aname)
Get an array from IDL.