UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
sim::VelModel1D2D< ParamsT > Class Template Reference

#include <sim_vel_model.hpp>

Inheritance diagram for sim::VelModel1D2D< ParamsT >:
sim::LayeredVelModel< ParamsT, VmLayer1D2D > sim::VelModel< ParamsT >

Public Member Functions

virtual const ParamsT & operator() (const Point2D &coords) const
 
virtual void appendLayer (const VmLayer1D2D &layer, const ParamsT &params)
 
virtual size_t layersNum () const
 
virtual const VmLayer1D2Dlayer (const size_t id) const
 
virtual const ParamsT & params (const size_t id) const
 
virtual void removeLayer (const size_t id)
 
virtual void clear ()
 

Protected Attributes

std::list< std::pair
< VmLayer1D2D, ParamsT > > 
m_lays
 

Static Protected Attributes

static const ParamsT m_dummy_params
 
static const VmLayer1D2D m_dummy_layer
 

Detailed Description

template<typename ParamsT>
class sim::VelModel1D2D< ParamsT >

1D2D velocity model (linear bounds with dips). ParamsT - abstract parameters type.

Member Function Documentation

template<typename ParamsT >
void sim::VelModel1D2D< ParamsT >::appendLayer ( const VmLayer1D2D layer,
const ParamsT &  params 
)
virtual
Append layer with parameters to the model. 
Parameters
layernew layer to be appended.
paramsparameters relating to the layer.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

template<typename ParamsT >
void sim::VelModel1D2D< ParamsT >::clear ( void  )
virtual

Remove all layers.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

template<typename ParamsT >
const sim::VmLayer1D2D & sim::VelModel1D2D< ParamsT >::layer ( const size_t  id) const
virtual
Get layer with provided index.
Parameters
idIndex of required layer.
Returns
layer or dummy layer if id is out of range.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

template<typename ParamsT >
size_t sim::VelModel1D2D< ParamsT >::layersNum ( ) const
virtual
Current number of layers in the model. 
Returns
number of layers.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

template<typename ParamsT >
const ParamsT & sim::VelModel1D2D< ParamsT >::operator() ( const Point2D coords) const
virtual
Get parameters for provided coordinates. Should be implemented.

Coordinates of the model for parameters obtaining.

Returns
Obtained parameters.

Implements sim::VelModel< ParamsT >.

template<typename ParamsT >
const ParamsT & sim::VelModel1D2D< ParamsT >::params ( const size_t  id) const
virtual
Get parameters of the layer with provided index.
Parameters
idIndex of required layer.
Returns
layer parameters or dummy parameters if id is out of range.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

template<typename ParamsT >
void sim::VelModel1D2D< ParamsT >::removeLayer ( const size_t  id)
virtual
Remove layer with provided index.
Parameters
idIndex of the layer. Removes the last layer if id is out of range.

Implements sim::LayeredVelModel< ParamsT, VmLayer1D2D >.

Member Data Documentation

template<typename ParamsT>
const sim::VmLayer1D2D sim::VelModel1D2D< ParamsT >::m_dummy_layer
staticprotected

Dummy layer.

template<typename ParamsT>
std::list<std::pair<VmLayer1D2D, ParamsT> > sim::VelModel1D2D< ParamsT >::m_lays
protected

< List of model layers with parameters. Dummy parameters.


The documentation for this class was generated from the following files: