casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AnnAnnulus.h
Go to the documentation of this file.
1 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
3 //# License for more details.
4 //#
5 //# You should have received a copy of the GNU Library General Public License
6 //# along with this library; if not, write to the Free Software Foundation,
7 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
8 //#
9 //# Correspondence concerning AIPS++ should be addressed as follows:
10 //# Internet email: aips2-request@nrao.edu.
11 //# Postal address: AIPS++ Project Office
12 //# National Radio Astronomy Observatory
13 //# 520 Edgemont Road
14 //# Charlottesville, VA 22903-2475 USA
15 //#
16 
17 #ifndef REGIONS_ANNANNULUS_H
18 #define REGIONS_ANNANNULUS_H
19 
20 #include <casa/aips.h>
22 
23 namespace casa {
24 
25 // <summary>
26 // This class represents an annotation for an annular (in position coordinates) region specified
27 // in an ascii region file as proposed in CAS-2285. It is specified by its center position
28 // and inner and outer radii.
29 // </summary>
30 // <author>Dave Mehringer</author>
31 // <use visibility=export>
32 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
33 // </reviewed>
34 // <prerequisite>
35 
36 // </prerequisite>
37 
38 // <etymology>
39 // Holds the specification of a annotation for an annular region as specified in ASCII format.
40 // Specified by center position and inner and outer radii.
41 // </etymology>
42 
43 // <synopsis>
44 // This class represents a annotation for an annular region in specified by
45 // center and inner and outer radii.
46 // </synopsis>
47 
48 
49 class AnnAnnulus: public AnnRegion {
50 
51 public:
52 
53  // avoid using the default constructor, it's behavior is subject to change
54  AnnAnnulus();
55 
56  AnnAnnulus(
57  const casacore::Quantity& xcenter,
58  const casacore::Quantity& ycenter,
59  const casacore::Quantity& innerRadius,
60  const casacore::Quantity& outerRadius,
61  const casacore::String& dirRefFrameString,
62  const casacore::CoordinateSystem& csys,
63  const casacore::IPosition& imShape,
64  const casacore::Quantity& beginFreq,
65  const casacore::Quantity& endFreq,
66  const casacore::String& freqRefFrameString,
67  const casacore::String& dopplerString,
68  const casacore::Quantity& restfreq,
70  const casacore::Bool annotationOnly,
71  const casacore::Bool requireImageRegion=true
72  );
73 
74  // Simplified constructor.
75  // all frequencies and all polarizations are used (these can be set after construction).
76  // xcenter and ycenter
77  // must be in the same frame as the csys direction coordinate.
78  // is a region (not just an annotation), although this value can be changed after
79  // construction.
80  AnnAnnulus(
81  const casacore::Quantity& xcenter,
82  const casacore::Quantity& ycenter,
83  const casacore::Quantity& innerRadius,
84  const casacore::Quantity& outerRadius,
85  const casacore::CoordinateSystem& csys,
86  const casacore::IPosition& imShape,
88  const casacore::Bool requireImageRegion=true
89  );
90 
91  // the default copy constructor and destructor are fine
92 
93  AnnAnnulus& operator=(const AnnAnnulus& other);
94 
95  casacore::Bool operator==(const AnnAnnulus& other);
96 
97 
98  // get the center position, converted to the frame
99  // of the input coordinate system if necessary
101 
102  // get the radii in angular units. The first
103  // value will be the inner radius, the second
104  // the outer
106 
107  virtual std::ostream& print(std::ostream &os) const;
108 
109 private:
112 
113  void _init();
114 };
115 
116 }
117 
118 #endif /* ANNANNULUS_H */
AnnAnnulus()
avoid using the default constructor, it&#39;s behavior is subject to change
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
A Measure: astronomical direction.
Definition: MDirection.h:174
A 1-D Specialization of the Array class.
casacore::Bool operator==(const AnnAnnulus &other)
This class represents a annotation referring to a region specified in an ascii region file as propose...
Definition: AnnRegion.h:53
casacore::Vector< casacore::Quantity > _convertedRadii
Definition: AnnAnnulus.h:110
casacore::MDirection getCenter() const
get the center position, converted to the frame of the input coordinate system if necessary ...
casacore::Quantity _ycenter
Definition: AnnAnnulus.h:111
casacore::Quantity _outerRadius
Definition: AnnAnnulus.h:111
casacore::Quantity _innerRadius
Definition: AnnAnnulus.h:111
This class represents an annotation for an annular (in position coordinates) region specified in an a...
Definition: AnnAnnulus.h:49
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Vector< casacore::Quantity > getRadii() const
get the radii in angular units.
virtual std::ostream & print(std::ostream &os) const
casacore::Quantity _xcenter
Definition: AnnAnnulus.h:111
AnnAnnulus & operator=(const AnnAnnulus &other)
the default copy constructor and destructor are fine
String: the storage and methods of handling collections of characters.
Definition: String.h:223
Interconvert pixel and world coordinates.