UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
UDBSeis Class Reference

#include <udb_seis.hpp>

Classes

struct  Type
 

Public Types

enum  OSType {
  CMP =0, CSP, CRP, NMGL,
  EQL
}
 
typedef std::pair< size_t, size_t > Ranges
 

Public Member Functions

 UDBSeis ()
 
virtual ~UDBSeis ()
 
bool dbFill (const char *project, const char *name)
 
bool setSeisType (const Type &type)
 
Type getSeisType () const
 
void close ()
 
int getComps (std::vector< char > &comps)
 
int getMagnitograms (std::vector< int > &nmgls)
 
int getOffsets (std::vector< int > &offsets)
 
bool getWavefield (WaveField &wf, Ranges *pranges=0x0) const
 
bool getWavefieldSize (int &wf_size) const
 
bool getCoords (int &ix, int &iy, double &ixl, double &iyl, double &izl) const
 
int getSamplesCount () const
 
double getTbeg () const
 
double getTend () const
 
double getTimeStep () const
 
std::string getModName ()
 
bool getWavefieldHeaders (TrHeader *&headers) const
 
TrSetgetTrSet ()
 
void addHdrAttr (Trace::Header::AttrId id)
 
void clearHdrAttrsList ()
 

Protected Member Functions

ErrCode make_it (const Type &type, TrSet *trset, int id1, int id2, TrIndexTable &it)
 

Protected Attributes

TrSetm_ptrset
 
std::string m_mod_name
 
Type m_seis_type
 
Ranges m_ids_ranges
 
std::set< Trace::Header::AttrIdm_hdr_attrs_set
 

Detailed Description

Class provides operations with 2D seismic data for UNIVERS db

Member Typedef Documentation

typedef std::pair<size_t, size_t> UDBSeis::Ranges

Indexies ranges.

Member Enumeration Documentation

Type of observation system

Constructor & Destructor Documentation

UDBSeis::UDBSeis ( )

Construct empty object. Non actual traces from db are skipped by default.

virtual UDBSeis::~UDBSeis ( )
virtual

Destructor, removes internal seismic data.

Member Function Documentation

void UDBSeis::addHdrAttr ( Trace::Header::AttrId  id)
inline

Add header attribute to be loaded.

void UDBSeis::clearHdrAttrsList ( )
inline

Clear header attributes list.

void UDBSeis::close ( )

Close opened seismic data

bool UDBSeis::dbFill ( const char *  project,
const char *  name 
)

Fill object with db access from provided project and file name.

int UDBSeis::getComps ( std::vector< char > &  comps)

Get components list. Return number of components or negative value on error.

bool UDBSeis::getCoords ( int &  ix,
int &  iy,
double &  ixl,
double &  iyl,
double &  izl 
) const

Get coordinates of current SP,RP or CMP. Return false on errors (e.g. current type is EQL)

Parameters
ixlLand coordinates
izlLocal coordinates
int UDBSeis::getMagnitograms ( std::vector< int > &  nmgls)

Get number of magnitograms and its indexies for current seismic type. Return number of magnitograms or negative value on any error.

std::string UDBSeis::getModName ( )
inline

Return name of current loaded modification

int UDBSeis::getOffsets ( std::vector< int > &  offsets)

Get uniq offsets, return number of uniq offsets or negative value on error.

int UDBSeis::getSamplesCount ( ) const

Get number of traces samples in current selection, <0 if undefined.

Type UDBSeis::getSeisType ( ) const
inline

Get seismic type

double UDBSeis::getTbeg ( ) const

Return begin time of traces

double UDBSeis::getTend ( ) const

Return end time of traces

double UDBSeis::getTimeStep ( ) const

Get traces time step in current selection, <0 if undefined.

TrSet& UDBSeis::getTrSet ( )
inline

Get set of traces with current selection from db directly, for hackers only.

bool UDBSeis::getWavefield ( WaveField wf,
Ranges pranges = 0x0 
) const

Construct wavefield with current selection, return false on error. New traces will be added if provided wavefield not empty. If pranges provided it will contains id of the first trace and id of the trace after the last trace in required seismogram. All other traces in resulted wavefield may be taken from neighbour seismograms (see min traces_num in Type.)

bool UDBSeis::getWavefieldHeaders ( TrHeader *&  headers) const

Get headers with current selection from db directly, for hackers only.

bool UDBSeis::getWavefieldSize ( int &  wf_size) const

Return wavefield size (traces count) for current selection, return false on error.

bool UDBSeis::setSeisType ( const Type type)

Set seismic type, traces will be sorted by L

Member Data Documentation

Ranges UDBSeis::m_ids_ranges
protected

List of header attributes to be loaded into WaveField.

std::string UDBSeis::m_mod_name
protected

Current seismic type

TrSet* UDBSeis::m_ptrset
protected

< A set of loaded traces A name of current modification

Type UDBSeis::m_seis_type
protected

Range of traces belongs to seismogram.


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