00001 00005 #pragma once 00006 00007 #include <usml/types/types.h> 00008 #include <list> 00009 00010 namespace usml { 00011 namespace waveq3d { 00012 00013 using namespace usml::types ; 00014 00015 using boost::numeric::ublas::vector; 00016 00019 00023 struct eigenray { 00024 00028 double time ; 00029 00033 const seq_vector* frequencies ; 00034 00038 vector< double > intensity ; 00039 00043 vector< double > phase ; 00044 00049 double source_de ; 00050 00055 double source_az ; 00056 00061 double target_de ; 00062 00067 double target_az ; 00068 00072 int surface ; 00073 00077 int bottom ; 00078 00082 int caustic ; 00083 }; 00084 00088 typedef std::list< eigenray > eigenray_list ; 00089 00091 } // end of namespace waveq3d 00092 } // end of namespace usml