#ifndef MTB_ATM_SPEC_CLASS_H #define MTB_ATM_SPEC_CLASS_H #include "tnl/Vector.h" class MtbAtmSpec { protected: int _nScreens; int _nxy; float _dxy; float _xmin; float _ymin; float _dtime; Vector _absorption; Vector _scatter; Vector _temperture; float _lambda; Vector _distances; Vector _xWind; Vector _yWind; float _xvs; // angular slew rate of platform (Vp-Vt)/d in deg/sec float _yvs; float _xvt; // platform velocity transverse to line of site float _yvt; // but opposite in sign due to Lincoln Labs int _numberSavedStates; public: MtbAtmSpec(int nxy, float dxy, float xmin, float ymin, float dtime, float absorption, float scatter, float temperture, float lambda, Vector distances, Vector xWind, Vector yWind, float xvs, float yvs, float xvt, float yvt, int numberSavedStates ); MtbAtmSpec(int nxy, float dxy, float xmin, float ymin, float dtime, Vector absorption, Vector scatter, Vector temperture, float lambda, Vector distances, Vector xWind, Vector yWind, float xvs, float yvs, float xvt, float yvt, int numberSavedStates ); MtbAtmSpec(const int nScreens=0); MtbAtmSpec(const MtbAtmSpec& thermSpec); MtbAtmSpec(const char * filename, int nxy, float dxy); ~MtbAtmSpec(); int nScreens() const { return _nScreens; } int nxy() const{ return _nxy; } int numberSavedStates() const{ return _numberSavedStates; } float dxy() const { return _dxy; } float xmin() const { return _xmin; } float ymin() const { return _ymin; } float dtime() const { return _dtime; } Vector absorption() const { return _absorption; } Vector scatter() const { return _scatter; } Vector temperture() const { return _temperture; } float lambda() const { return _lambda; } float xvs() const { return _xvs; } float yvs() const { return _yvs; } float xvt() const { return _xvt; } float yvt() const { return _yvt; } Vector distances() const { return _distances; } Vector xWind() const { return _xWind; } Vector yWind() const { return _yWind; } }; #endif // MTB_ATM_SPEC_CLASS_H