casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CTTimeInterp1.h
Go to the documentation of this file.
1 //# CTTimeInterp1.h: Definition for Single-element Cal Interpolation time
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003
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_CTTIMEINTERP1_H
29 #define CALTABLES_CTTIMEINTERP1_H
30 
31 #include <casa/aips.h>
32 
35 #include <casa/Arrays/Cube.h>
38 #include <casa/Logging/LogSink.h>
39 
40 namespace casa { //# NAMESPACE CASA - BEGIN
41 
42 
44 {
45 public:
46 
47  // Null ctor
48  // CTTimeInterp1(); // TBD: make private?
49 
50  // From NewCalTable
52  const casacore::String& timetype,
55 
56  // Destructor
57  virtual ~CTTimeInterp1();
58 
59  // Some state info
60  casacore::Double timeRef() const { return timeRef_; };
61  casacore::String timeType() const { return timeType_; };
63 
64  // Interpolate, given timestamp; returns T if new result
66 
67  // Interpolate, given timestamp and fiducial freq; returns T if new result
69 
70  virtual void state(casacore::Bool verbose=false);
71 
72  // static factory method to make CTTimeInterp1
74  const casacore::String& timetype,
77  return new casa::CTTimeInterp1(ct,timetype,result,rflag); }
78 
79  // Set interpolation type
80  void setInterpType(casacore::String strtype);
81 
82 protected:
83 
84  // Find time registration
86 
87  // Do phase delay math
89 
90 
91  // The CalTable
92  // Should be a single antenna, spw
94 
95  // Access to columns
97 
98  // Interpolation modes
100 
101  // Current time, idx
105 
106  // casacore::Time list
110 
111  // Flags list
113 
114  // Pointer to the time interpolator
116 
117  // Phase-delay correction info
120 
121  // Arrays in which to deposit results
122  // (ordinarily, these (CASA-casacore::Array) reference external Arrays)
125 
126 };
127 
128 // Pointer to static factory methods for CTTimeInterp1
129 typedef CTTimeInterp1* (*CTTIFactoryPtr)(NewCalTable&,
130  const casacore::String&,
133 
134 } //# NAMESPACE CASA - END
135 
136 #endif
casacore::Double timeRef() const
Some state info.
Definition: CTTimeInterp1.h:60
casacore::Cube< casacore::Bool > flaglist_
Flags list.
int Int
Definition: aipstype.h:50
NewCalTable ct_
The CalTable Should be a single antenna, spw.
Definition: CTTimeInterp1.h:93
casacore::Vector< casacore::Double > domain() const
Definition: CTTimeInterp1.h:62
casacore::String timeType_
Interpolation modes.
Definition: CTTimeInterp1.h:99
Interpolate in one dimension.
casacore::Double cfreq_
Phase-delay correction info.
casacore::Double timeRef_
casacore::Time list
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Definition: PlotTool.h:43
casacore::String timeType() const
Definition: CTTimeInterp1.h:61
casacore::Interpolate1D< casacore::Float, casacore::Array< casacore::Float > > * tInterpolator_p
Pointer to the time interpolator.
virtual ~CTTimeInterp1()
Destructor.
virtual void state(casacore::Bool verbose=false)
void applyPhaseDelay(casacore::Double freq)
Do phase delay math.
casacore::Int currIdx_
casacore::Double currTime_
Current time, idx.
double Double
Definition: aipstype.h:55
static CTTimeInterp1 * factory(NewCalTable &ct, const casacore::String &timetype, casacore::Array< casacore::Float > &result, casacore::Array< casacore::Bool > &rflag)
static factory method to make CTTimeInterp1
Definition: CTTimeInterp1.h:73
CTTimeInterp1(NewCalTable &ct, const casacore::String &timetype, casacore::Array< casacore::Float > &result, casacore::Array< casacore::Bool > &rflag)
Null ctor CTTimeInterp1(); // TBD: make private?
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Array< casacore::Float > result_
Arrays in which to deposit results (ordinarily, these (CASA-casacore::Array) reference external Array...
casacore::Vector< casacore::Double > domain_
float Float
Definition: aipstype.h:54
casacore::Bool findTimeRegistration(casacore::Int &idx, casacore::Bool &exact, casacore::Float newtime)
Find time registration.
casacore::Vector< casacore::Float > timelist_
ROCTMainColumns * mcols_p
Access to columns.
Definition: CTTimeInterp1.h:96
casacore::Bool lastWasExact_
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual casacore::Bool interpolate(casacore::Double time)
Interpolate, given timestamp; returns T if new result.
casacore::Array< casacore::Bool > rflag_
void setInterpType(casacore::String strtype)
Set interpolation type.
casacore::Cube< casacore::Float > cycles_