Class for storing an hour's worth of aerosol data. More...
#include <AerosolZone.h>
Public Types | |
typedef boost::indirect_iterator < InternalAttSliceIterator, const AttSlice & > | AttSliceIterator |
AttSlice iterator returns a pointer to the attenuation data slice for this zone. More... | |
typedef boost::indirect_iterator < InternalPFSliceIterator, const PFSlice & > | PFSliceIterator |
PFSlice Iterator returns a pointer to the phase function data slice for this zone. More... | |
Public Member Functions | |
AttSliceIterator | AttSlicesBegin () const |
Beginning of the collection of Attenuation data slices. More... | |
AttSliceIterator | AttSlicesEnd () const |
End of the collection of Attenuation data slices. More... | |
double | GetEasting () const |
Easting for the zone. More... | |
const std::string & | GetName () const |
Zone name. More... | |
double | GetNorthing () const |
Northing for the zone. More... | |
PFSliceIterator | PFSlicesBegin () const |
Beginning of the collection of phase function data slices. More... | |
PFSliceIterator | PFSlicesEnd () const |
End of the collection of phase function data slices. More... | |
Protected Member Functions | |
template<typename Slice > | |
void | CacheSlices (std::vector< const Slice * > *&slices, const std::string &database, const std::string &property, const std::string &zone, const det::VManager &manager) const |
Protected Attributes | |
double | fEasting |
std::string | fName |
double | fNorthing |
std::string | fZoneIdString |
Private Types | |
typedef InternalAttSliceVector::const_iterator | InternalAttSliceIterator |
typedef std::vector< const AttSlice * > | InternalAttSliceVector |
typedef InternalPFSliceVector::const_iterator | InternalPFSliceIterator |
typedef std::vector< const PFSlice * > | InternalPFSliceVector |
Private Member Functions | |
AerosolZone (const std::string &zoneId, const std::string &aerosolId, const std::string &zoneName, const double northing, const double easting) | |
void | CheckAttSlice () const |
void | CheckPFSlice () const |
virtual | ~AerosolZone () |
Private Attributes | |
std::string | fAerosolIdString |
std::string | fAerosolZoneIdString |
InternalAttSliceVector * | fAttSliceVector = nullptr |
InternalPFSliceVector * | fPFSliceVector = nullptr |
Friends | |
class | AerosolDB |
Class for storing an hour's worth of aerosol data.
AerosolZone stores one hour's data from a given location in a set of data containers. The stored data include the aerosol vertical optical depth (VAOD) and volume extinction coefficient, the wavelength dependence of the extinction, and the aerosol phase function.
To maintain the hierarchy of aerosol data, the various results are kept in collections of aerosol zone "slice" objects. The attenuation and wavelength dependence values go into an AttSlice container, and the phase function data are stored in a PFSlice. The AerosolZone provides public iterators to allow loops over the slices (each slice corresponds to a 200 meter thick horizontal chunk of atmosphere).
Contains hooks to iterators over aersol data in the zone
Definition at line 27 of file AerosolZone.h.
typedef boost::indirect_iterator<InternalAttSliceIterator, const AttSlice&> atm::AerosolZone::AttSliceIterator |
AttSlice iterator returns a pointer to the attenuation data slice for this zone.
Definition at line 43 of file AerosolZone.h.
|
private |
Definition at line 31 of file AerosolZone.h.
|
private |
Definition at line 30 of file AerosolZone.h.
|
private |
Definition at line 36 of file AerosolZone.h.
|
private |
Definition at line 35 of file AerosolZone.h.
typedef boost::indirect_iterator<InternalPFSliceIterator, const PFSlice&> atm::AerosolZone::PFSliceIterator |
PFSlice Iterator returns a pointer to the phase function data slice for this zone.
Definition at line 53 of file AerosolZone.h.
|
private |
Definition at line 17 of file AerosolZone.cc.
References fAerosolIdString, fAerosolZoneIdString, atm::VZone::fZoneIdString, and utl::m.
|
privatevirtual |
Definition at line 39 of file AerosolZone.cc.
References fAttSliceVector, fPFSliceVector, and G4StationSimulatorOG::p.
AerosolZone::AttSliceIterator AerosolZone::AttSlicesBegin | ( | ) | const |
Beginning of the collection of Attenuation data slices.
Definition at line 56 of file AerosolZone.cc.
References CheckAttSlice(), and fAttSliceVector.
AerosolZone::AttSliceIterator AerosolZone::AttSlicesEnd | ( | ) | const |
End of the collection of Attenuation data slices.
Definition at line 65 of file AerosolZone.cc.
References CheckAttSlice(), and fAttSliceVector.
|
inlineprotectedinherited |
Definition at line 60 of file VZone.h.
References det::VManager::eNotFound, ERROR, and det::VManager::GetData().
Referenced by CheckAttSlice(), CheckPFSlice(), atm::LidarZone::VAODSlicesBegin(), and atm::LidarZone::VAODSlicesEnd().
|
private |
Definition at line 92 of file AerosolZone.cc.
References atm::VZone::CacheSlices(), fAerosolZoneIdString, and fAttSliceVector.
Referenced by AttSlicesBegin(), and AttSlicesEnd().
|
private |
Definition at line 102 of file AerosolZone.cc.
References atm::VZone::CacheSlices(), fAerosolZoneIdString, and fPFSliceVector.
Referenced by PFSlicesBegin(), and PFSlicesEnd().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
AerosolZone::PFSliceIterator AerosolZone::PFSlicesBegin | ( | ) | const |
Beginning of the collection of phase function data slices.
Definition at line 74 of file AerosolZone.cc.
References CheckPFSlice(), and fPFSliceVector.
AerosolZone::PFSliceIterator AerosolZone::PFSlicesEnd | ( | ) | const |
End of the collection of phase function data slices.
Definition at line 83 of file AerosolZone.cc.
References CheckPFSlice(), and fPFSliceVector.
|
friend |
Definition at line 74 of file AerosolZone.h.
|
private |
Definition at line 71 of file AerosolZone.h.
Referenced by AerosolZone().
|
private |
Definition at line 72 of file AerosolZone.h.
Referenced by AerosolZone(), CheckAttSlice(), and CheckPFSlice().
|
mutableprivate |
Definition at line 33 of file AerosolZone.h.
Referenced by AttSlicesBegin(), AttSlicesEnd(), CheckAttSlice(), and ~AerosolZone().
|
protectedinherited |
Definition at line 54 of file VZone.h.
Referenced by atm::VZone::GetEasting().
|
protectedinherited |
Definition at line 52 of file VZone.h.
Referenced by atm::VZone::GetName().
|
protectedinherited |
Definition at line 53 of file VZone.h.
Referenced by atm::VZone::GetNorthing().
|
mutableprivate |
Definition at line 38 of file AerosolZone.h.
Referenced by CheckPFSlice(), PFSlicesBegin(), PFSlicesEnd(), and ~AerosolZone().
|
protectedinherited |
Definition at line 51 of file VZone.h.
Referenced by AerosolZone(), atm::LidarZone::LidarZone(), and atm::MolecularZone::MolecularZone().