LidarCloudDBModel.h
Go to the documentation of this file.
1 
9 #ifndef _atm_LidarCloudDBModel_h_
10 #define _atm_LidarCloudDBModel_h_
11 
12 
13 #include <atm/VCloudModel.h>
14 #include <utl/Point.h>
15 
16 #include <map>
17 
18 namespace atm {
19 
74 
75  public:
76 
78 
79  virtual ~LidarCloudDBModel();
80 
83  EvaluateCloudCoverage(const unsigned int eyeId,
84  const unsigned int telescopeId,
85  const unsigned int pixelId,
86  const utl::Point& x) const;
87 
88  bool HasData() const;
89 
90  void Init();
91 
92  private:
93 
94  // Check for cached lidar data; return true if found.
95  bool CheckForUpdates() const;
96 
97  // Get the LidarZone closest to the current Eye.
98  std::string GetZoneName(const unsigned int eyeId) const;
99 
100  // Get the LidarZone closest to a point in the sky.
101  std::string GetZoneName(const utl::Point& x) const;
102 
103  // Container for LidarZone cloud bases.
104  mutable std::map< std::string, double >* fCloudHeightMap;
105 
106  // Container for LidarZone positions.
107  mutable std::map< std::string, utl::Point > fZonePositions;
108 
110 
111  mutable bool fLidarDbIsEmptyNow;
112 
114  };
115 
116 } // atm
117 
118 #endif // _atm_LidarCloudDBModel_h_
119 
CloudResult EvaluateCloudCoverage(const unsigned int eyeId, const unsigned int telescopeId, const unsigned int pixelId, const utl::Point &x) const
Evaluate coverage for a pixel with some Eye, Telescope, and Pixel ID.
std::map< std::string, double > * fCloudHeightMap
Point object.
Definition: Point.h:32
REGISTER_MODEL(atm::VCloudModel,"LidarCloudDB", LidarCloudDBModel)
bool HasData() const
True if a data source is for the given model.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
Class for cloud coverage calculations.
std::string GetZoneName(const unsigned int eyeId) const
Store the obscuration of an FD pixel by a cloud in the field of view.
Definition: CloudResult.h:43
std::map< std::string, utl::Point > fZonePositions
Base class for cloud coverage calculations.
Definition: VCloudModel.h:39

, generated on Tue Sep 26 2023.