UNIVERS
15.3
UNIVERS base processing software API
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
mod3d
p_vspogt_model.H
1
/* p_vspogt_model.H */
2
/*
3
Модель, заточенная под ВСП-ОГТ (недомиграцию). Объявления. */ /* $Id: p_vspogt_model.H,v 2.7 2005/07/21 12:28:30 ibadm Exp $ */ #ifndef __p_vspogt_model_H #define __p_vspogt_model_H #include <mod3d/p_raytr_model.H> #include <mod3d/p_raytr_elements.H> #include "p_vspogt_elements.H" #include "pp_stack.H" #include <mix/IntAr.H> class pl_vspogt_model:public pl_raytr_model{ protected: time_depth_lists tdlaMain; // Список глубин-времен по всем телам и приемникам int iTDLStoreRegime; Logic hit_fict_border(int iB,const pl_fict_border&,rays_to_receiver*, double&,point&,ray_to_receiver&,crossing* pCR=NULL); Logic hit_with_initial(int iBody,const pl_fict_border& fbReflect, point pWhere,double& dTime,point& pRes, ray_to_receiver& rtrRes,ray_parameters rpInitial, crossing* pCR=NULL); ray_parameters reflect_fict_border(int,const pl_fict_border&, const rays_to_receiver*,crossing&)const; // По номеру тела - его границы, которые пересекают лучи void get_active_borders(int,const rays_to_receiver*, DoubleAr&,pl_intern_borders&)const; void get_active_rays(int,const rays_to_receiver*,rays_to_receiver&)const; StorageID tispatra(rays_to_receiver* prtr,double dTMax); // Для считывания модели... virtual p_pl_intern_body new_body(geophys_params&g){ return (p_pl_intern_body) new pl_vspogt_body(g); }; rays_to_receiver* copy_rays_to_receiver(int,int)const; Logic has_rays_to_receiver(int,int)const; dbHandle get_tdl(int,int) const; void last_body(int iBody,int iBorder,pl_vspogt_body& bdCurBody, ray* prInitial,double dTLast, const point& pWhere); public: pl_vspogt_model(const dbItem &dbiWhere); pl_vspogt_model(pl_vspogt_model& am); // Конструктор копирования... Не бывает virtual ~pl_vspogt_model(); StorageID tispatra(int,int,const point&,double dTMax); point load_sp() const; Logic has_vspogt(int,int) const; void vspcdp(int N1,int N2,double* daTrace,int iCount,double dT, any_stack& psCube); void get_receiver_vpol(int N1,int N2,int iCount,double dDT,double dT0, DoubleAr &davpolX,DoubleAr &davpolY,DoubleAr &davpolZ); void set_tdl_dbwrite_regime(int); void load_td_lists(); virtual const char* class_id(){return "pl_vspogt_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #define PM_INITIAL_NODES 1 // Функции - люмпены... double interpolate_amplitude(double *daTrace,int i,double dCTime,double dt, double dTime); #endif /* p_vspogt_model.H */ /* Melnikov George Yu. 19-Mar-1999 */ /* ... */ /* Melnikov George Yu. 3-Dec-1999 */
4
*/
5
/* $Id: p_vspogt_model.H,v 2.7 2005/07/21 12:28:30 ibadm Exp $ */
6
#ifndef __p_vspogt_model_H
7
#define __p_vspogt_model_H
8
9
10
#include <mod3d/p_raytr_model.H>
11
#include <mod3d/p_raytr_elements.H>
12
#include "p_vspogt_elements.H"
13
#include "pp_stack.H"
14
#include <mix/IntAr.H>
15
16
class
pl_vspogt_model
:
public
pl_raytr_model
{
17
protected
:
18
time_depth_lists
tdlaMain;
// Список глубин-времен по всем телам и приемникам
19
int
iTDLStoreRegime;
20
21
Logic hit_fict_border(
int
iB,
const
pl_fict_border
&,
rays_to_receiver
*,
22
double
&,
point
&,
ray_to_receiver
&,
crossing
* pCR=NULL);
23
Logic hit_with_initial(
int
iBody,
const
pl_fict_border
& fbReflect,
24
point
pWhere,
double
& dTime,
point
& pRes,
25
ray_to_receiver
& rtrRes,
ray_parameters
rpInitial,
26
crossing
* pCR=NULL);
27
ray_parameters
reflect_fict_border(
int
,
const
pl_fict_border
&,
28
const
rays_to_receiver
*,
crossing
&)
const
;
29
30
// По номеру тела - его границы, которые пересекают лучи
31
void
get_active_borders(
int
,
const
rays_to_receiver
*,
32
DoubleAr
&,pl_intern_borders&)
const
;
33
34
void
get_active_rays(
int
,
const
rays_to_receiver
*,
rays_to_receiver
&)
const
;
35
36
StorageID
tispatra(
rays_to_receiver
* prtr,
double
dTMax);
37
38
// Для считывания модели...
39
virtual
p_pl_intern_body
new_body(
geophys_params
&g){
40
return
(
p_pl_intern_body
)
new
pl_vspogt_body
(g);
41
};
42
43
rays_to_receiver
* copy_rays_to_receiver(
int
,
int
)
const
;
44
Logic has_rays_to_receiver(
int
,
int
)
const
;
45
dbHandle get_tdl(
int
,
int
)
const
;
46
void
last_body(
int
iBody,
int
iBorder,
pl_vspogt_body
& bdCurBody,
47
ray
* prInitial,
double
dTLast,
const
point
& pWhere);
48
public
:
49
pl_vspogt_model
(
const
dbItem
&dbiWhere);
50
pl_vspogt_model
(
pl_vspogt_model
& am);
// Конструктор копирования... Не бывает
51
virtual
~
pl_vspogt_model
();
52
53
StorageID
tispatra(
int
,
int
,
const
point
&,
double
dTMax);
54
55
point
load_sp()
const
;
56
Logic has_vspogt(
int
,
int
)
const
;
57
void
vspcdp(
int
N1,
int
N2,
double
* daTrace,
int
iCount,
double
dT,
58
any_stack
& psCube);
59
void
get_receiver_vpol(
int
N1,
int
N2,
int
iCount,
double
dDT,
double
dT0,
60
DoubleAr
&davpolX,
DoubleAr
&davpolY,
DoubleAr
&davpolZ);
61
void
set_tdl_dbwrite_regime(
int
);
62
void
load_td_lists();
63
64
virtual
const
char
* class_id(){
return
"pl_vspogt_model"
;};
65
66
virtual
Logic isDerivedFrom(
const
char
* class_name);
67
68
};
69
#define PM_INITIAL_NODES 1
70
71
// Функции - люмпены...
72
double
interpolate_amplitude(
double
*daTrace,
int
i,
double
dCTime,
double
dt,
73
double
dTime);
74
75
76
#endif
/* p_vspogt_model.H */
77
/* Melnikov George Yu. 19-Mar-1999 */
78
/* ... */
79
/* Melnikov George Yu. 3-Dec-1999 */
crossing
Definition:
p_raytr_elements.H:113
geophys_params
Definition:
any_elements.H:22
ray_parameters
Definition:
rays.H:61
pl_intern_body
Definition:
p_elements.H:145
point
Definition:
geometry.H:16
ray
Definition:
rays.H:81
StorageID
Definition:
db_container.H:24
pl_vspogt_body
Definition:
p_vspogt_elements.H:129
DoubleAr
Definition:
DoubleAr.H:14
pl_fict_border
Definition:
p_elements.H:134
rays_to_receiver
Definition:
rays.H:170
time_depth_lists
Definition:
p_vspogt_elements.H:124
any_stack
Definition:
pp_stack.H:25
dbItem
Definition:
dbnamedefs.h:85
ray_to_receiver
Definition:
rays.H:132
pl_raytr_model
Definition:
p_raytr_model.H:32
pl_vspogt_model
Definition:
p_vspogt_model.H:16
Generated by
1.8.5