00001
00005 #pragma once
00006
00007 #include <usml/ublas/ublas.h>
00008 #include <usml/types/types.h>
00009
00010 namespace usml {
00011 namespace ocean {
00012
00013 using namespace usml::ublas ;
00014 using namespace usml::types ;
00015
00016 using boost::numeric::ublas::vector;
00017
00020
00028 class USML_DECLSPEC attenuation_model {
00029
00030 public:
00031
00040 virtual void attenuation(
00041 const wposition& location,
00042 const seq_vector& frequencies,
00043 const matrix<double>& distance,
00044 matrix< vector<double> >* attenuation ) = 0 ;
00045
00049 virtual ~attenuation_model() {}
00050 } ;
00051
00053 }
00054 }