casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BeamManipulator.h
Go to the documentation of this file.
1 #ifndef IMAGES_BEAMMANIPULATOR_H
2 #define IMAGES_BEAMMANIPULATOR_H
3 
5 
6 #include <casa/Quanta/Quantum.h>
7 
8 namespace casa {
9 
10 template <class T> class BeamManipulator {
11  // <summary>
12  // Manipulate beams associated with images.
13  // </summary>
14 
15  // <reviewed reviewer="" date="" tests="" demos="">
16  // </reviewed>
17 
18  // <prerequisite>
19  // </prerequisite>
20 
21  // <etymology>
22  // Manipulates beams.
23  // </etymology>
24 
25  // <synopsis>
26  // Manipulate beams associated with images.
27  // </synopsis>
28 
29 public:
30 
31  BeamManipulator() = delete;
32 
33  BeamManipulator(SPIIT image);
34 
35  BeamManipulator operator=(const BeamManipulator& other) = delete;
36 
38 
39  // remove all existing beam(s)
40  void remove();
41 
42  // rotate all the beams counterclockwise by the specified angle
43  // prependMsgs get added to the history before the before/after beam info
44  void rotate(
45  const Quantity& angle
46  );
47 
48  void rotate(
49  const Quantity& angle, const std::vector<String>& prependMsgs
50  );
51 
52  void set(
53  const casacore::Quantity& major, const casacore::Quantity& minor,
54  const casacore::Quantity& pa, const casacore::Record& rec,
55  casacore::Int channel, casacore::Int polarization
56  );
57 
58  // set all beams in one go
59  void set(const casacore::ImageBeamSet& beamSet);
60 
61  void setVerbose(casacore::Bool v);
62 
63 private:
65  std::shared_ptr<casacore::LogIO> _log;
66 };
67 }
68 
69 #ifndef AIPS_NO_TEMPLATE_SRC
70 #include <imageanalysis/ImageAnalysis/BeamManipulator.tcc>
71 #endif
72 
73 #endif
std::shared_ptr< casacore::LogIO > _log
int Int
Definition: aipstype.h:50
BeamManipulator operator=(const BeamManipulator &other)=delete
void set(const casacore::Quantity &major, const casacore::Quantity &minor, const casacore::Quantity &pa, const casacore::Record &rec, casacore::Int channel, casacore::Int polarization)
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
#define SPIIT
Definition: ImageTypedefs.h:34
Represents a set of restoring beams associated with an image.
Definition: ImageBeamSet.h:88
A hierarchical collection of named fields of various types.
Definition: Record.h:180
void setVerbose(casacore::Bool v)
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
void rotate(const Quantity &angle)
rotate all the beams counterclockwise by the specified angle prependMsgs get added to the history bef...
BeamManipulator()=delete
Manipulate beams associated with images.