casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CalibratingVi2FactoryI.h
Go to the documentation of this file.
1 //# CalibratingVi2FactoryI.h: MSVis Interface definition of the CalibratingVi2Factory class.
2 //#
3 //# CASA - Common Astronomy Software Applications (http://casa.nrao.edu/)
4 //# Copyright (C) Associated Universities, Inc. Washington DC, USA 2011, All rights reserved.
5 //# Copyright (C) European Southern Observatory, 2011, All rights reserved.
6 //#
7 //# This library is free software; you can redistribute it and/or
8 //# modify it under the terms of the GNU Lesser General Public
9 //# License as published by the Free software Foundation; either
10 //# version 2.1 of the License, or (at your option) any later version.
11 //#
12 //# This library is distributed in the hope that it will be useful,
13 //# but WITHOUT ANY WARRANTY, without even the implied warranty of
14 //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 //# Lesser General Public License for more details.
16 //#
17 //# You should have received a copy of the GNU Lesser General Public
18 //# License along with this library; if not, write to the Free Software
19 //# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 //# MA 02111-1307 USA
21 //# $Id: $
22 
23 #ifndef CalibratingVi2FactoryI_H_
24 #define CalibratingVi2FactoryI_H_
25 
26 // Where ViFactory interface is defined
29 
30 
31 namespace casa { //# NAMESPACE CASA - BEGIN
32 namespace vi { //# NAMESPACE VI - BEGIN
33 
35 {
36 
37 friend class LayeredVi2Factory;
38 
39 public:
40 
41  typedef CalibratingVi2FactoryI* (*CalViFacGenerator)();
42 
43  typedef CalibratingVi2FactoryI* (*CalViFac_byRec_Generator)(casacore::MeasurementSet*,
44  const casacore::Record&,
45  const IteratingParameters&);
48 
51 
52  // Public function to generate myself via static generator_p implemented in synthesis
54 
55  // Public function to generate myself via static byRec_generator_p
57  const casacore::Record& calrec,
58  const IteratingParameters& iterpar);
59 
60  // Public functions to initialize a generic CVi2F (pure virtual)
61  virtual void initialize(casacore::MeasurementSet* ms,
62  const casacore::Record& calrec,
63  const IteratingParameters& iterpar=IteratingParameters())=0;
64  virtual void initialize(casacore::MeasurementSet* ms,
65  const casacore::String& callib,
66  const IteratingParameters& iterpar=IteratingParameters())=0;
67 
68 protected:
69 
70  // Create CalibratingVi2 implementation
71  // this version makes plain one inside
72  virtual vi::ViImplementation2 * createVi () const = 0;
73  // If vii not NULL, then use it as the underlying one
74  virtual vi::ViImplementation2 * createVi (vi::ViImplementation2 * vii) const = 0;
75 
76 private:
77 
80 };
81 
82 
83 } //# NAMESPACE VI - END
84 } //# NAMESPACE CASA - END
85 
86 
87 #endif /* CalibratingVi2FactoryI_H_ */
88 
virtual vi::ViImplementation2 * createVi() const =0
Create CalibratingVi2 implementation this version makes plain one inside.
static CalViFac_byRec_Generator byRec_generator_p
CalibratingVi2FactoryI *(* CalViFacGenerator)()
static casacore::Bool set_byRec_Generator(CalViFac_byRec_Generator)
static CalibratingVi2FactoryI * generate()
Public function to generate myself via static generator_p implemented in synthesis.
static casacore::Bool setGenerator(CalViFacGenerator)
A factory for generating ViImplementation2 layers that optionally include calibration (via Calibratin...
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual void initialize(casacore::MeasurementSet *ms, const casacore::Record &calrec, const IteratingParameters &iterpar=IteratingParameters())=0
Public functions to initialize a generic CVi2F (pure virtual)
CalibratingVi2FactoryI *(* CalViFac_byRec_Generator)(casacore::MeasurementSet *, const casacore::Record &, const IteratingParameters &)
A Table intended to hold astronomical data (a set of Measurements).
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
static CalViFacGenerator generator_p