CARMA C++
SubarrayStatus.h
Go to the documentation of this file.
1 
13 #ifndef CARMA_MONITOR_SUBARRAY_STATUS_H
14 #define CARMA_MONITOR_SUBARRAY_STATUS_H
15 
16 
17 #include "carma/monitor/Subarray.h"
19 #include "carma/monitor/ControlSubsystem.h"
20 
21 namespace carma {
22  namespace ui {
23  namespace rtd {
29 class SubarrayStatus {
30  public:
31 
40  SubarrayStatus
42  int subarrayIndex) ;
43 
47  ~SubarrayStatus () ;
48 
55  const int& number () const ;
56 
64  const int& numAntennas() const ;
65 
73  const std::string& antennaRatio () const ;
74 
83  const std::string& reachabilityRatio() const ;
84 
93  const std::string& mode() const ;
94 
102  const double& trackMJD () const ;
103 
111  const std::string& trackSource () const ;
112 
113 
119  void updateValues () ;
120 
126  static int numColumns () ;
127 
135  static const std::string& columnHeading (int columnIndex) ;
136 
137  protected:
138  typedef ::std::set< monitor::ControlSubsystemBase::Antenna * > AntGroup;
139 
140 
141  void updateNumberOfAntennas () ;
142  void updateNumReachableObjects( const AntGroup & antGroup );
143  void updateTrackMJD () ;
144  void updateTrackValues () ;
145 
146  std::string makeAntennaRatio () const ;
147  std::string makeReachabilityRatioString () const ;
148  std::string makeTrackModeString( const AntGroup & antGroup ) const;
149  std::string makeTrackSource () const ;
150  std::string makeNoiseStateString () const ;
151 
152  static void evalReachableMP( carma::monitor::MonitorPointBool & mp,
153  int & actual,
154  int & potential );
155 
156  private:
158  carma::monitor::ControlSubsystemBase::Subarray& controller_;
159  const int subarrayNumber_;
160  int numAntennas_;
161  const int numTotalAntennas_;
162  carma::monitor::Subarray subarray_;
163  std::string antennaRatio_;
164  std::string reachabilityRatio_;
165  std::string trackMode_;
166  std::string trackSource_;
167 
168  int actuallyReachable_;
169  int potentiallyReachable_;
170 
171  double trackMJD_;
172 
173 }; // class SubarrayStatus
174 
175 } } } // rtd, ui, carma namespaces
176 
177 #endif // CARMA_MONITOR_SUBARRAY_STATUS_H
The monitor system for the Control subsystem.
Semi-hand-forged extensions to the auto-generated classes for the Control subsystem.
Class to provide information about CARMA Subarray capabilities.