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
00029 class USML_DECLSPEC reflect_loss_model {
00030
00031 public:
00032
00044 virtual void reflect_loss(
00045 const wposition1& location,
00046 const seq_vector& frequencies, double angle,
00047 vector<double>* amplitude, vector<double>* phase=NULL ) = 0 ;
00048
00052 virtual ~reflect_loss_model() {}
00053 } ;
00054
00056 }
00057 }