List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends
atm::AerosolZone Class Reference

Class for storing an hour's worth of aerosol data. More...

#include <AerosolZone.h>

Inheritance diagram for atm::AerosolZone:
Inheritance graph
[legend]

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
 
InternalAttSliceVectorfAttSliceVector = nullptr
 
InternalPFSliceVectorfPFSliceVector = nullptr
 

Friends

class AerosolDB
 

Detailed Description

Class for storing an hour's worth of aerosol data.

Author
T. Paul

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

Author
Tom Paul
Date
31 Jul 2004

Definition at line 27 of file AerosolZone.h.

Member Typedef Documentation

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.

typedef InternalAttSliceVector::const_iterator atm::AerosolZone::InternalAttSliceIterator
private

Definition at line 31 of file AerosolZone.h.

typedef std::vector<const AttSlice*> atm::AerosolZone::InternalAttSliceVector
private

Definition at line 30 of file AerosolZone.h.

typedef InternalPFSliceVector::const_iterator atm::AerosolZone::InternalPFSliceIterator
private

Definition at line 36 of file AerosolZone.h.

typedef std::vector<const PFSlice*> atm::AerosolZone::InternalPFSliceVector
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.

Constructor & Destructor Documentation

AerosolZone::AerosolZone ( const std::string &  zoneId,
const std::string &  aerosolId,
const std::string &  zoneName,
const double  northing,
const double  easting 
)
private
AerosolZone::~AerosolZone ( )
privatevirtual

Definition at line 39 of file AerosolZone.cc.

References fAttSliceVector, fPFSliceVector, and G4StationSimulatorOG::p.

Member Function Documentation

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.

template<typename Slice >
void atm::VZone::CacheSlices ( std::vector< const Slice * > *&  slices,
const std::string &  database,
const std::string &  property,
const std::string &  zone,
const det::VManager manager 
) const
inlineprotectedinherited
void AerosolZone::CheckAttSlice ( ) const
private

Definition at line 92 of file AerosolZone.cc.

References atm::VZone::CacheSlices(), fAerosolZoneIdString, and fAttSliceVector.

Referenced by AttSlicesBegin(), and AttSlicesEnd().

void AerosolZone::CheckPFSlice ( ) const
private

Definition at line 102 of file AerosolZone.cc.

References atm::VZone::CacheSlices(), fAerosolZoneIdString, and fPFSliceVector.

Referenced by PFSlicesBegin(), and PFSlicesEnd().

double atm::VZone::GetEasting ( ) const
inlineinherited

Easting for the zone.

Definition at line 38 of file VZone.h.

References atm::VZone::fEasting.

const std::string& atm::VZone::GetName ( ) const
inlineinherited

Zone name.

Definition at line 32 of file VZone.h.

References atm::VZone::fName.

double atm::VZone::GetNorthing ( ) const
inlineinherited

Northing for the zone.

Definition at line 35 of file VZone.h.

References atm::VZone::fNorthing.

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.

Friends And Related Function Documentation

friend class AerosolDB
friend

Definition at line 74 of file AerosolZone.h.

Member Data Documentation

std::string atm::AerosolZone::fAerosolIdString
private

Definition at line 71 of file AerosolZone.h.

Referenced by AerosolZone().

std::string atm::AerosolZone::fAerosolZoneIdString
private

Definition at line 72 of file AerosolZone.h.

Referenced by AerosolZone(), CheckAttSlice(), and CheckPFSlice().

InternalAttSliceVector* atm::AerosolZone::fAttSliceVector = nullptr
mutableprivate

Definition at line 33 of file AerosolZone.h.

Referenced by AttSlicesBegin(), AttSlicesEnd(), CheckAttSlice(), and ~AerosolZone().

double atm::VZone::fEasting
protectedinherited

Definition at line 54 of file VZone.h.

Referenced by atm::VZone::GetEasting().

std::string atm::VZone::fName
protectedinherited

Definition at line 52 of file VZone.h.

Referenced by atm::VZone::GetName().

double atm::VZone::fNorthing
protectedinherited

Definition at line 53 of file VZone.h.

Referenced by atm::VZone::GetNorthing().

InternalPFSliceVector* atm::AerosolZone::fPFSliceVector = nullptr
mutableprivate

Definition at line 38 of file AerosolZone.h.

Referenced by CheckPFSlice(), PFSlicesBegin(), PFSlicesEnd(), and ~AerosolZone().

std::string atm::VZone::fZoneIdString
protectedinherited

The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.