CARMA C++
TelescopeStatus.h
1 #ifndef CARMA_SERVICES_TELESCOPE_STATUS_H
2 #define CARMA_SERVICES_TELESCOPE_STATUS_H
3 
4 #include "carma/services/Types.h"
5 #include <string>
6 
7 namespace carma {
8  namespace services {
9 
18  friend class SourceChecker;
19  public:
21  virtual ~TelescopeStatus();
22 
26  TelescopeLimitsType getLimits() const
27  {
28  return limits_;
29  }
30 
31  ::std::string getLimitsString() const
32  {
33  switch ( limits_ ) {
34  default:
35  case NO_LIMIT:
36  return ::std::string("NO_LIMIT");
37  case LIMIT_NEVER_RISES :
38  return ::std::string("LIMIT_NEVER_RISES");
39  case LIMIT_HORIZON_STOP :
40  return ::std::string("LIMIT_HORIZON_STOP");
42  return ::std::string("LIMIT_AZ_HORIZON_STOP");
43  case LIMIT_AZ_STOP:
44  return ::std::string("LIMIT_AZ_STOP");
45  }
46  }
47 
51  bool isInZenithBlindSpot() const {
52  return blinded_;
53  }
54 
58  bool canEnterZenithBlindSpot() const {
59  return canBlind_;
60  }
61 
62  private:
63  TelescopeLimitsType limits_;
64  bool blinded_;
65  bool canBlind_;
66  };
67 
68  }
69 }
70 
71 #endif // CARMA_SERVICES_TELESCOPE_STATUS_H
Telescope stopped by horizon limit on negative wrap, by azimuth limit on positive wrap...
Definition: Types.h:179
TelescopeLimitsType getLimits() const
TelescopeLimits enum value for given source.
Telescope stopped by horizon limit.
Definition: Types.h:174
Telescope stopped by azimuth limit on positive wrap, no limit on negative wrap.
Definition: Types.h:184
Various type definitions for services classes.
Telescope never stopped by a limit.
Definition: Types.h:187
bool isInZenithBlindSpot() const
Is source currently passing through the zenith blind spot?
bool canEnterZenithBlindSpot() const
Can the source pass through the zenith blind spot?
Holds information about the telescope status with respect to azimuth wrap and upper elevation limits...
Source checker returns info on the location in the sky of a source at a given time, e.g.
Definition: SourceChecker.h:37
Object always below horizon.
Definition: Types.h:171