#ifndef _SOFIEFOV_H_ #define _SOFIEFOV_H_ //----------------------------------------------------------------------------------------- // define the class "sofiefov" // // Modules: // read_fov_file......reads the FOV data file // get_fov_response...returns the FOV response for a given band and angle // // Notes: // The FOV file format is 4 header lines, then a matrix (# bands, # elevation angles), // where each row is: elevation angle, then FOV response for bands 1- nband // // Source: Mark Hervig, GATS //----------------------------------------------------------------------------------------- //#include // the standard input/output library //#include // C++ style input/output support //#include // file support #include #include //#include //using namespace std; class sofiefov { private: int nel; // # of elevation angles in file (FOV response is vs. angle) int nband; // # of bands in file (there is an FOV curve for each band) std::vector< std::vector< double > > fov_response; // relative FOV response vs. angle for nband bands, array(nband,nel) std::vector< double > elevation; // vector of elevation angles, array(nel) public: std::vector get_fov_elev(const int band) ; std::vector get_fov_response(const int band); void read_fov_file(const std::string& fovfile, int* reverse); }; extern sofiefov gFOVdata; #endif