AerosolZone.h
Go to the documentation of this file.
1 #ifndef _atm_AerosolZone_h_
2 #define _atm_AerosolZone_h_
3 
4 #include <atm/VZone.h>
5 #include <det/Detector.h>
6 #include <atm/AttSlice.h>
7 #include <atm/PFSlice.h>
8 #include <utl/ErrorLogger.h>
9 #include <boost/iterator/indirect_iterator.hpp>
10 #include <vector>
11 #include <string>
12 
13 
14 namespace atm {
15 
16  class AerosolDB;
17 
18 
27  class AerosolZone : public VZone {
28 
29  private:
30  typedef std::vector<const AttSlice*> InternalAttSliceVector;
31  typedef InternalAttSliceVector::const_iterator InternalAttSliceIterator;
32 
34 
35  typedef std::vector<const PFSlice*> InternalPFSliceVector;
36  typedef InternalPFSliceVector::const_iterator InternalPFSliceIterator;
37 
39 
40  public:
42  typedef boost::indirect_iterator<InternalAttSliceIterator,
44 
47 
50 
52  typedef boost::indirect_iterator<InternalPFSliceIterator,
54 
57 
60 
61  private:
62  AerosolZone(const std::string& zoneId, const std::string& aerosolId,
63  const std::string& zoneName,
64  const double northing, const double easting);
65 
66  virtual ~AerosolZone();
67 
68  void CheckAttSlice() const;
69  void CheckPFSlice() const;
70 
71  std::string fAerosolIdString;
72  std::string fAerosolZoneIdString;
73 
74  friend class AerosolDB;
75 
76  };
77 
78 }
79 
80 
81 #endif
AerosolZone(const std::string &zoneId, const std::string &aerosolId, const std::string &zoneName, const double northing, const double easting)
Definition: AerosolZone.cc:17
std::vector< const AttSlice * > InternalAttSliceVector
Definition: AerosolZone.h:30
std::string fAerosolIdString
Definition: AerosolZone.h:71
PFSliceIterator PFSlicesBegin() const
Beginning of the collection of phase function data slices.
Definition: AerosolZone.cc:74
std::vector< const PFSlice * > InternalPFSliceVector
Definition: AerosolZone.h:35
AttSliceIterator AttSlicesBegin() const
Beginning of the collection of Attenuation data slices.
Definition: AerosolZone.cc:56
Attenuation data in a zone slice.
Definition: AttSlice.h:29
virtual ~AerosolZone()
Definition: AerosolZone.cc:39
Class for loading and storing a collection of aerosol data.
Definition: AerosolDB.h:14
AttSliceIterator AttSlicesEnd() const
End of the collection of Attenuation data slices.
Definition: AerosolZone.cc:65
void CheckPFSlice() const
Definition: AerosolZone.cc:102
InternalPFSliceVector::const_iterator InternalPFSliceIterator
Definition: AerosolZone.h:36
Base class for Aerosol, Molecula, Overall Quality and Lidar atmosphere zones.
Definition: VZone.h:28
Class for storing an hour&#39;s worth of aerosol data.
Definition: AerosolZone.h:27
boost::indirect_iterator< InternalAttSliceIterator, const AttSlice & > AttSliceIterator
AttSlice iterator returns a pointer to the attenuation data slice for this zone.
Definition: AerosolZone.h:43
std::string fAerosolZoneIdString
Definition: AerosolZone.h:72
InternalPFSliceVector * fPFSliceVector
Definition: AerosolZone.h:38
InternalAttSliceVector * fAttSliceVector
Definition: AerosolZone.h:33
boost::indirect_iterator< InternalPFSliceIterator, const PFSlice & > PFSliceIterator
PFSlice Iterator returns a pointer to the phase function data slice for this zone.
Definition: AerosolZone.h:53
PFSliceIterator PFSlicesEnd() const
End of the collection of phase function data slices.
Definition: AerosolZone.cc:83
InternalAttSliceVector::const_iterator InternalAttSliceIterator
Definition: AerosolZone.h:31
void CheckAttSlice() const
Definition: AerosolZone.cc:92
phase function data in a zone slice.
Definition: PFSlice.h:30

, generated on Tue Sep 26 2023.