/** \file Attenuation data for a zone slice \author Tom Paul \version $Id$ \date 13 Aug 2004 */ #ifndef _atm_AttSlice_h_ #define _atm_AttSlice_h_ static const char CVSId_atm_AttSlice[] = "$Id$"; #include #include namespace atm { /** \class AttSlice \brief Attenuation data in a zone slice. \author Tom Paul \version $Id$ \date 14 Aug 2004 \ingroup atm */ class AttSlice : public VZoneSlice { private: AttSlice(const std::string& headerDBName, const std::string& sliceId, const std::string& aerosolZoneId, const double minHeight, const double maxHeight); virtual ~AttSlice(); public: /// reciprocal attenuation length (alpha) for this slice double GetAttAlpha() const; /// minimum value for alpha double GetMinAttAlpha() const; double GetMinAttAlphaCor() const; double GetMinAttAlphaUncor() const; /// maximum value for alpha double GetMaxAttAlpha() const; double GetMaxAttAlphaCor() const; double GetMaxAttAlphaUncor() const; /// wavelength dependence of attenuation length for this slice double GetAttLambda() const; /// min value for wavelength dependence of attenuation length for this slice double GetMinAttLambda() const; /// max value for wavelength dependence of attenuation length for this slice double GetMaxAttLambda() const; /// vertical aerosol optical depth double GetVAOD() const; /// min value for vertial aerosol optical depth double GetMinVAOD() const; double GetMinVAODCor() const; double GetMinVAODUncor() const; /// max value for vertical aerosol optical depth double GetMaxVAOD() const; double GetMaxVAODCor() const; double GetMaxVAODUncor() const; private: mutable double* fAttAlpha; mutable double* fMinAttAlpha; mutable double* fMaxAttAlpha; mutable double* fMinAttAlphaCor; mutable double* fMaxAttAlphaCor; mutable double* fMinAttAlphaUncor; mutable double* fMaxAttAlphaUncor; mutable double* fAttLambda; mutable double* fMinAttLambda; mutable double* fMaxAttLambda; mutable double* fVAOD; mutable double* fMinVAOD; mutable double* fMaxVAOD; mutable double* fMinVAODCor; mutable double* fMaxVAODCor; mutable double* fMinVAODUncor; mutable double* fMaxVAODUncor; std::string fAttenuationIdString; friend class VZone; friend class AerosolZone; }; } // atm #endif // _atm_AttSlice_h_ // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "make -C .. -k" // End: