CARMA C++
OffsetBase.h
Go to the documentation of this file.
1 #ifndef OFFSETBASE_H
2 #define OFFSETBASE_H
3 
13 
14 // Share includes for constants mastor, pi, twopi
15 
16 #include "carma/szaarrayutils/szaconst.h"
17 
18 namespace sza {
19  namespace antenna {
20  namespace control {
21 
22  class PointingCorrections;
23 
27  class OffsetBase {
28 
29  public:
30 
34  OffsetBase();
35 
40  virtual ~OffsetBase() = 0;
41 
42  // Define methods which should be over-written by classes
43  // which inherit from Offset
44  //
45  // These will be stubbed out so they only need to be defined
46  // by inheritors where relevant
47 
51  virtual void apply(PointingCorrections* f);
52 
56  virtual void set(sza::util::OffsetMsg);
57 
62  virtual void set(sza::util::OffsetMsg, unsigned seq);
63 
67  virtual void setAngle(double angle);
68 
69  // Some utility functions we want all inheritors of this class
70  // to have.
71 
75  double wrapPi(double angle);
76 
80  double wrap2pi(double angle);
81  };
82 
83  }; // End namespace control
84  }; // End namespace antenna
85 }; // End namespace sza
86 
87 #endif
virtual void apply(PointingCorrections *f)
Apply these offsets to the pointing model.
virtual void setAngle(double angle)
Set an angle.
virtual void set(sza::util::OffsetMsg)
Install new offsets received from the control program.
virtual ~OffsetBase()=0
Pure virtual destructor prevents instantiation of OffsetBase.
While computing pointing corrections, an object of the following type is used to communicate accumula...
double wrapPi(double angle)
Round an angle into the range -pi..pi.
Tagged: Thu Nov 13 16:53:47 UTC 2003.
Define a class to encapsulate a variety of offsets.
Definition: OffsetBase.h:27
double wrap2pi(double angle)
Round an angle into the range 0-2.pi.
Tagged: Thu Mar 11 16:38:48 PST 2004.