My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
OpticalBench.h
Go to the documentation of this file.
1 #ifndef OPTICALBENCH_H
2 #define OPTICALBENCH_H
3 
12 #include "gcp/util/common/Angle.h"
13 
14 namespace gcp {
15  namespace antenna {
16  namespace control {
17 
22  class OpticalBench {
23 
24  public:
25 
29  OpticalBench();
30 
34  ~OpticalBench();
35 
36  void setZeroPosition(double y1, double y2, double y3, double x4, double x5, double z6);
37  void setOffset(double y1, double y2, double y3, double x4, double x5, double z6);
38  void setUseBrakes(bool use_brakes);
39  void setAcquiredThreshold(double threshold);
40  double getAcquiredThreshold() {return acquiredThreshold_;};
41  void setFocus(double focus);
42  double getDeadBand();
43  double getFocus() {return focus_;};;
44  double enforceY1Limits(double y1);
45  double enforceY2Limits(double y2);
46  double enforceY3Limits(double y3);
47  double enforceX4Limits(double x4);
48  double enforceX5Limits(double x5);
49  double enforceZ6Limits(double z6);
50  double getExpectedY1();
51  double getExpectedY2();
52  double getExpectedY3();
53  double getExpectedX4();
54  double getExpectedX5();
55  double getExpectedZ6();
56 
57  double getZerosY1() {return zeroPosition_.y1;};
58  double getZerosY2() {return zeroPosition_.y2;};
59  double getZerosY3() {return zeroPosition_.y3;};
60  double getZerosX4() {return zeroPosition_.x4;};
61  double getZerosX5() {return zeroPosition_.x5;};
62  double getZerosZ6() {return zeroPosition_.z6;};
63 
64  double getOffsetY1() {return offset_.y1;};
65  double getOffsetY2() {return offset_.y2;};
66  double getOffsetY3() {return offset_.y3;};
67  double getOffsetX4() {return offset_.x4;};
68  double getOffsetX5() {return offset_.x5;};
69  double getOffsetZ6() {return offset_.z6;};
70 
71  private:
72 
73  class OpticalBenchPosition {
74  public:
75  double y1;
76  double y2;
77  double y3;
78  double x4;
79  double x5;
80  double z6;
81  };
82 
83  class OpticalBenchOffset {
84  public:
85  double y1;
86  double y2;
87  double y3;
88  double x4;
89  double x5;
90  double z6;
91  };
92 
93  OpticalBenchPosition zeroPosition_;
94  OpticalBenchPosition lowLimit_;
95  OpticalBenchPosition highLimit_;
96  OpticalBenchOffset offset_;
97  bool useBrakes_;
98  double acquiredThreshold_;
99  double focus_;
100  gcp::util::Angle theta_;
101 
102  }; // End class Tracker
103 
104  }; // End namespace control
105  }; // End namespace antenna
106 }; // End namespace gcp
107 
108 #endif
OpticalBench()
Definition: OpticalBench.cc:12
~OpticalBench()
Definition: OpticalBench.cc:32
Definition: OpticalBench.h:22
Definition: Angle.h:20