USML
spreading_ray.h
1 
5 #ifndef USML_WAVEQ3D_SPREADING_RAY_H
6 #define USML_WAVEQ3D_SPREADING_RAY_H
7 
8 #include <usml/waveq3d/spreading_model.h>
9 
10 namespace usml {
11 namespace waveq3d {
12 
13 using namespace usml::ocean ;
14 
33 class USML_DECLSPEC spreading_ray : public spreading_model {
34 
35  friend class wave_queue ;
36 
37  private:
38 
46  matrix<double> _init_area ;
47 
48  protected:
49 
66  spreading_ray( wave_queue& wave ) ;
67 
71  virtual ~spreading_ray() {}
72 
92  virtual const vector<double>& intensity(
93  const wposition1& location, unsigned de, unsigned az,
94  const vector<double>& offset, const vector<double>& distance ) ;
95 } ;
96 
97 } // end of namespace waveq3d
98 } // end of namespace usml
99 
100 #endif
Definition: spreading_model.h:21
Wavefront propagator for the WaveQ3D model.
Definition: wave_queue.h:63
matrix< double > _init_area
Initial ensonified area for each ray span.
Definition: spreading_ray.h:46
virtual ~spreading_ray()
Virtual destructor.
Definition: spreading_ray.h:71
Definition: spreading_ray.h:33
World location in geodetic earth coordinates (latitude, longitude, and altitude). ...
Definition: wposition1.h:23