casacore
LattStatsProgress.h
Go to the documentation of this file.
1 //# LattStatsProgress.h: progress meter for LatticeStatistics
2 //# Copyright (C) 1996,1997,1998,1999
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 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id$
27 
28 #ifndef LATTICES_LATTSTATSPROGRESS_H
29 #define LATTICES_LATTSTATSPROGRESS_H
30 
31 
32 //# Includes
33 #include <casacore/casa/aips.h>
34 #include <casacore/lattices/LatticeMath/LatticeProgress.h>
35 #include <casacore/casa/Utilities/CountedPtr.h>
36 
37 namespace casacore { //# NAMESPACE CASACORE - BEGIN
38 
39 class ProgressMeter;
40 
41 // <summary> Provides a progress meter for the <src>LatticeStatistics</src> class </summary>
42 // <use visibility=export>
43 //
44 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
45 // </reviewed>
46 //
47 // <prerequisite>
48 // <li> <linkto module=Lattices>LatticeProgress</linkto>
49 // </prerequisite>
50 //
51 // <etymology>
52 // Display a progress meter for the class <src>LatticeStatistics</src>
53 // </etymology>
54 //
55 // <synopsis>
56 // Progress meters can be displayed by the <src>LatticeApply</src> class
57 // which is used by <src>LatticeStatistics</src> in order to optimally iterate
58 // through the lattice. To do this, one must derive a
59 // class from <src>LatticeProgress</src>. <src>LatticeApply</src> calls
60 // methods declared in <src>LatticeProgress</src> and implemented in
61 // the derived class.
62 // </synopsis>
63 //
64 // <motivation>
65 // I like progress meters !
66 // </motivation>
67 //
68 // <todo asof="1998/01/10">
69 // </todo>
70 
71 
73 {
74 public:
75 
76  // Constructor makes a null object
78 
79  // Destructor deletes the ProgressMeter pointer
80  virtual ~LattStatsProgress();
81 
82  // increment the current step (postfix version)
83  void operator++(Int);
84 
85  // Initialize this object. Here we create the ProgressMeter
86  // This function is called by the <src>init</src> in LatticeProgress
87  virtual void initDerived();
88 
89  // Tell the number of steps done so far.
90  virtual void nstepsDone (uInt nsteps);
91 
92  // The process has ended so clean things up.
93  virtual void done();
94 
95 private:
98 };
99 
100 
101 
102 
103 } //# NAMESPACE CASACORE - END
104 
105 #endif
Referenced counted pointer for constant data.
Definition: CountedPtr.h:81
Provides a progress meter for the LatticeStatistics class.
virtual ~LattStatsProgress()
Destructor deletes the ProgressMeter pointer.
LattStatsProgress()
Constructor makes a null object.
virtual void done()
The process has ended so clean things up.
virtual void nstepsDone(uInt nsteps)
Tell the number of steps done so far.
virtual void initDerived()
Initialize this object.
void operator++(Int)
increment the current step (postfix version)
CountedPtr< ProgressMeter > _meter
this file contains all the compiler specific defines
Definition: mainpage.dox:28
unsigned int uInt
Definition: aipstype.h:51
int Int
Definition: aipstype.h:50