casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AccorJones.h
Go to the documentation of this file.
1 //# AccorJones.h: Declaration of amplitude normalization VisCal
2 //# Copyright (C) 1996,1997,2000,2001,2002,2003,2011,2016,2017
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 SYNTHESIS_ACCORJONES_H
29 #define SYNTHESIS_ACCORJONES_H
30 
31 #include <casa/aips.h>
33 
34 namespace casa { //# NAMESPACE CASA - BEGIN
35 
36 // Accor (normalization) VisCal
37 class AccorJones : public SolvableVisJones {
38 public:
39  AccorJones(VisSet& vs);
43 
44  virtual ~AccorJones();
45 
46  // Return the type enum
47  virtual Type type() { return VisCal::G; };
48 
49  // Return type name as string
50  virtual casacore::String typeName() { return "Accor Jones"; };
51  virtual casacore::String longTypeName() { return "Accor Jones (normalization)"; };
52 
53  // Type of Jones matrix according to nPar()
55 
56  // Nominally, we will only use parallel hands for now
57  virtual casacore::Bool phandonly() { return true; };
58 
59  virtual casacore::Bool normalizable() { return true; };
60 
61  virtual casacore::Bool useGenericSolveOne() { return false; }
62 
63  // Hazard a guess at parameters (unneeded here)
64  virtual void guessPar(VisBuffer&) {};
65 
66  // Local implementation of selfSolveOne (generalized signature)
67  virtual void selfSolveOne(VisBuffGroupAcc& vbga);
68  virtual void selfSolveOne(SDBList& sdbs);
69 
70  virtual void keepNCT();
71 
72 protected:
73 
74  // G has two trivial casacore::Complex parameters
75  virtual casacore::Int nPar() { return 2; };
76 
77  // Jones matrix elements are trivial
78  virtual casacore::Bool trivialJonesElem() { return true; };
79 
80  // dG/dp are trivial
81  virtual casacore::Bool trivialDJ() { return true; };
82 
83  // Initialize trivial dJs
84  virtual void initTrivDJ();
85 };
86 
87 } //# NAMESPACE CASA - END
88 
89 #endif
virtual ~AccorJones()
int Int
Definition: aipstype.h:50
virtual casacore::String typeName()
Return type name as string.
Definition: AccorJones.h:50
virtual void guessPar(VisBuffer &)
Hazard a guess at parameters (unneeded here)
Definition: AccorJones.h:64
virtual casacore::String longTypeName()
Definition: AccorJones.h:51
virtual casacore::Bool trivialDJ()
dG/dp are trivial
Definition: AccorJones.h:81
virtual casacore::Int nPar()
G has two trivial casacore::Complex parameters.
Definition: AccorJones.h:75
virtual casacore::Bool useGenericSolveOne()
Use generic solution engine for a single solve (usually inside the generic gathering mechanism) ...
Definition: AccorJones.h:61
casacore::Int & nAnt()
Definition: VisCal.h:237
virtual Type type()
Return the type enum.
Definition: AccorJones.h:47
virtual casacore::Bool normalizable()
Does normalization by MODEL_DATA commute with this VisCal?
Definition: AccorJones.h:59
Type
Allowed types of VisCal matrices - &#39;correct&#39; order enum Type{UVMOD,Mf,M,K,B,G,D,C,E,P,T,EP,F}; enum Type{Test=0,ANoise,M,KAntPos,K,B,G,J,D,X,C,P,E,T,F,A,ALL};.
Definition: VisCal.h:62
virtual casacore::Bool phandonly()
Nominally, we will only use parallel hands for now.
Definition: AccorJones.h:57
virtual void keepNCT()
SVJ-specific write to caltable.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual Jones::JonesType jonesType()
Type of Jones matrix according to nPar()
Definition: AccorJones.h:54
virtual casacore::Bool trivialJonesElem()
Jones matrix elements are trivial.
Definition: AccorJones.h:78
AccorJones(VisSet &vs)
A class to group separately averaged VisBuffers.
Accor (normalization) VisCal.
Definition: AccorJones.h:37
const MSMetaInfoForCal & msmc() const
Access to the MSMetaInfoForCal (throws if none)
Definition: VisCal.h:338
SolvableVisJones
String: the storage and methods of handling collections of characters.
Definition: String.h:223
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
virtual void selfSolveOne(VisBuffGroupAcc &vbga)
Local implementation of selfSolveOne (generalized signature)
virtual void initTrivDJ()
Initialize trivial dJs.