casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SynthesisIterBot.h
Go to the documentation of this file.
1 //# SynthesisDeconvolver.h: Imager functionality sits here;
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 addressed 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 //#
25 //# $Id$
26 
27 #ifndef SYNTHESIS_SYNTHESISITERBOT_H
28 #define SYNTHESIS_SYNTHESISITERBOT_H
29 
30 #include <casa/aips.h>
31 #include <casa/OS/Timer.h>
32 #include <casa/Containers/Record.h>
34 #include <casa/Arrays/IPosition.h>
35 #include <casa/Quanta/Quantum.h>
38 #include <thread>
39 
40 //#include<casa/random.h>
42 
43 namespace casacore{
44 
45 class MeasurementSet;
46 template<class T> class ImageInterface;
47 }
48 
49 namespace casa { //# NAMESPACE CASA - BEGIN
50 
51 // Forward declarations
52 class ViewerProxy;
53 
54 // <summary> Class that contains functions needed for imager </summary>
55 
57 {
58  public:
59  // Default constructor
60 
62  virtual ~SynthesisIterBot();
63 
64  // Copy constructor and assignment operator
65 
66 #if ! defined(WITHOUT_DBUS)
67  // launch thread which opens DBus connection...
68  void openDBus( );
69 #endif
70 
71  // make all pure-inputs const
72  void setupIteration(casacore::Record iterpars);
73 
74  void setInteractiveMode(casacore::Bool interactiveMode);
75  virtual void setIterationDetails(casacore::Record iterpars);
78 
79  int cleanComplete(casacore::Bool lastcyclecheck=casacore::False);
80 
82 
83  void startMinorCycle(casacore::Record& initializationRecord);
84  void endMinorCycle(casacore::Record& executionRecord);
85 
86  void endMajorCycle();
87  void resetMinorCycleInfo();
88 
89  void changeStopFlag( casacore::Bool stopflag );
90 
92 
93 protected:
94 
95  virtual void pauseForUserInteraction();
97 
98  std::shared_ptr<SIIterBot_callback> actionRequestSync;
99  std::shared_ptr<SIIterBot_state> itsLoopController;
100 
102 
103  private:
104  std::thread *dbus_thread;
105 #if ! defined(WITHOUT_DBUS)
106  void dbus_thread_launch_pad( );
107 #endif
108 
110  /* casacore::Vector<casacore::String> itsImageList;
111  casacore::Vector<casacore::Int> itsNTermList;
112  casacore::Vector<casacore::Int> itsActionCodes;
113  casacore::CountedPtr<InteractiveMasking> itsInteractiveMasker;
114  */
115 };
116 
117 
119 {
120  public:
121  // Default constructor
122 
125 
126  void setIterationDetails(casacore::Record iterpars);
128 
129 protected:
130 
132 
133  private:
138 
139  };
140 
141 
142 } //# NAMESPACE CASA - END
143 
144 #endif
std::shared_ptr< SIIterBot_state > itsLoopController
casacore::Record pauseForUserInteractionOld()
void endMinorCycle(casacore::Record &executionRecord)
void setupIteration(casacore::Record iterpars)
make all pure-inputs const
SynthesisIterBotWithOldGUI()
Default constructor.
SynthesisIterBot()
Default constructor.
void startMinorCycle(casacore::Record &initializationRecord)
void setIterationDetails(casacore::Record iterpars)
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
void setInteractiveMode(casacore::Bool interactiveMode)
casacore::Record getIterationDetails()
casacore::Vector< casacore::Int > itsActionCodes
void openDBus()
Copy constructor and assignment operator.
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
int cleanComplete(casacore::Bool lastcyclecheck=casacore::False)
virtual casacore::Record pauseForUserInteractionOld()
casacore::Record getSubIterBot()
const Bool False
Definition: aipstype.h:44
casacore::CountedPtr< InteractiveMasking > itsInteractiveMasker
casacore::Vector< casacore::String > itsImageList
*std::shared_ptr< SIIterBot_callback > actionRequestSync
virtual void pauseForUserInteraction()
virtual void setIterationDetails(casacore::Record iterpars)
Class that contains functions needed for imager.
casacore::Vector< casacore::Bool > itsMultiTermList
void changeStopFlag(casacore::Bool stopflag)
casacore::Record getIterationSummary()
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42