/** \file Contains hooks to iterators over aersol data in the zone \author Tom Paul \version $Id: AerosolZone.h 15110 2009-11-09 19:25:59Z rulrich $ \date 31 Jul 2004 */ #ifndef _atm_AerosolZone_h_ #define _atm_AerosolZone_h_ #include #include #include #include #include #include #include #include namespace atm { class AerosolDB; class AerosolZone : public VZone { private: typedef std::vector InternalAttSliceVector; typedef InternalAttSliceVector::const_iterator InternalAttSliceIterator; mutable InternalAttSliceVector* fAttSliceVector; typedef std::vector InternalPFSliceVector; typedef InternalPFSliceVector::const_iterator InternalPFSliceIterator; mutable InternalPFSliceVector* fPFSliceVector; public: /// AttSlice iterator returns a pointer to the attenuation data slice for this zone typedef boost::indirect_iterator AttSliceIterator; /// Beginning of the collection of Attenuation data slices AttSliceIterator AttSlicesBegin() const; /// End of the collection of Attenuation data slices AttSliceIterator AttSlicesEnd() const; /// PFSlice Iterator returns a pointer to the phase function data slice for this zone typedef boost::indirect_iterator PFSliceIterator; /// Beginning of the collection of phase function data slices PFSliceIterator PFSlicesBegin() const; /// End of the collection of phase function data slices PFSliceIterator PFSlicesEnd() const; private: AerosolZone(const std::string& zoneId, const std::string& aerosolId, const std::string& zoneName, const double northing, const double easting); virtual ~AerosolZone(); std::string fAerosolIdString; std::string fAerosolZoneIdString; friend class AerosolDB; }; } // atm #endif // _atm_AerosolZone_h_ // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // End: