casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RIorAParray.h
Go to the documentation of this file.
1 //# RIorAParray.h: Definition for RI/AP on-demand converter
2 //# Copyright (C) 2012
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 
28 #ifndef CALTABLES_RIORAPARRAY_H
29 #define CALTABLES_RIORAPARRAY_H
30 
31 #include <casa/aips.h>
32 #include <casa/BasicSL/Constants.h>
33 #include <casa/Arrays/Array.h>
35 #include <casa/Logging/LogSink.h>
36 
37 namespace casa { //# NAMESPACE CASA - BEGIN
38 
39 
41 {
42 public:
43  // Construct empty
44  RIorAPArray();
45 
46  // Construct from external casacore::Complex Array
48 
49  // Construct from external casacore::Float Array
51 
52  // Destructor
53  ~RIorAPArray();
54 
55  // Set data
58 
59  // State
60  void state(casacore::Bool verbose=false);
61 
62  // Render casacore::Complex version (calc from casacore::Float, if necessary)
64 
65  // Render casacore::Float version (calc from casacore::Complex, if necessary)
67 
68 private:
69 
70  // Resize internal target arrays
71  void resizec_();
72  void resizef_();
73 
74  // Perform the actual calculation
75  void calc_c();
76  void calc_f(casacore::Bool trackphase);
77 
78  // Unwind phase
80 
81  // State of casacore::Complex and casacore::Float versions
83 
85 
86  // Internal Arrays for casacore::Complex and casacore::Float versions
89 
90 };
91 
92 } //# NAMESPACE CASA - END
93 
94 #endif
95 
casacore::Array< casacore::Complex > c()
Render casacore::Complex version (calc from casacore::Float, if necessary)
casacore::Bool f_ok_
Definition: RIorAParray.h:82
casacore::Bool c_ok_
State of casacore::Complex and casacore::Float versions.
Definition: RIorAParray.h:82
RIorAPArray()
Construct empty.
void state(casacore::Bool verbose=false)
State.
casacore::Array< casacore::Float > f_
Definition: RIorAParray.h:88
casacore::Array< casacore::Complex > c_
Internal Arrays for casacore::Complex and casacore::Float versions.
Definition: RIorAParray.h:87
casacore::Bool phaseTracked_
Definition: RIorAParray.h:84
void resizec_()
Resize internal target arrays.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
~RIorAPArray()
Destructor.
void calc_c()
Perform the actual calculation.
void setData(const casacore::Array< casacore::Complex > &c)
Set data.
casacore::Array< casacore::Float > f(casacore::Bool trackphase)
Render casacore::Float version (calc from casacore::Complex, if necessary)
void trackPhase(casacore::Array< casacore::Float > &ph)
Unwind phase.
void calc_f(casacore::Bool trackphase)