#ifndef __SOFIE_NCEP_PROFILE_08_11_2006__ #define __SOFIE_NCEP_PROFILE_08_11_2006__ /** @file NCEP.h @author Brian Magill @creatiodate 8/11/2006 @brief Contains a NCEP profile */ #include class NCEPprof { private: valarray pressure; valarray altitude; valarray temperature; double alt_min; double alt_grid; long N; bool hasData; public: NCEPprof() { hasData = false; }; NCEPprof(valarray const &p, valarray const &z,valarray const &T): pressure(p), altitude(z), temperature(T) { defaultGrid(); hasData = true; } NCEPprof(NCEPprof & const rhs) { pressure = rhs.pressure; altitude = rhs.altitude; temperature = rhs.temperature; alt_min = rhs.alt_min; alt_grid = rhs.alt_grid; N = rhs.N; hasData = rhs.hasData; }; NCEPprof & operator = (NCEPprof & const rhs) { if(&rhs == this) return *this; pressure = rhs.pressure; altitude = rhs.altitude; temperature = rhs.temperature; alt_min = rhs.alt_min; alt_grid = rhs.alt_grid; N = rhs.N; hasData = rhs.hasData; return *this; }; ~NCEPprof() { }; void defaultGrid() { alt_min = 0.0; alt_grid = 1.0; N = 60.0; } void setMinAlt(double z) {alt_min = z; }; void setAltGridSize(double z) {alt_grid = z; }; void setAltSize(double n) {N = n; }; valarray getAlt(); valarray getPressure(); valarray getTemperature(); double getPressure(double z); double getTemperature(double z); void dump(); } #endif