OpendTect  6.3
velocityfunctionvolume.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: K. Tingdahl
8  Date: April 2005
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "velocitymod.h"
15 #include "samplingdata.h"
16 #include "thread.h"
17 #include "velocityfunction.h"
18 #include "velocitycalc.h"
19 #include "uistring.h"
20 
21 class BinIDValueSet;
22 namespace Seis { class Provider; }
23 
24 namespace Vel
25 {
26 
27 class VolumeFunctionSource;
28 
29 
32 mExpClass(Velocity) VolumeFunction : public Function
34 public:
36  bool moveTo(const BinID&);
37  StepInterval<float> getAvailableZ() const;
38  StepInterval<float> getLoadedZ() const;
39 
40  void enableExtrapolation(bool);
41  void setStatics(float t,float vel);
43 
44 protected:
45 
46  bool computeVelocity(float z0, float dz, int nr,
47  float* res ) const;
48 
49  bool zit_;
52 
54  float statics_;
55  float staticsvel_;
56 };
57 
58 
61 public:
63  "Velocity volume",
64  toUiString(sFactoryKeyword()));
66 
67  const VelocityDesc& getDesc() const { return desc_; }
68 
69  bool zIsTime() const;
70  bool setFrom(const DBKey& vel);
71 
72  VolumeFunction* createFunction(const BinID&);
73 
74  void getAvailablePositions(BinIDValueSet&) const;
75  bool getVel(const BinID&,SamplingData<float>&,
77 
78  static const char* sKeyZIsTime() { return "Z is Time"; }
79 
80 protected:
81  static FunctionSource* create(const DBKey&);
83 
84  Seis::Provider* getProvider(uiRetVal&);
85 
88 
90  bool zit_;
92 };
93 
94 } // namespace Vel
#define mExpClass(module)
Definition: commondefs.h:157
Velocity.
Definition: velocityfunction.h:30
Seismics.
Definition: segydirectdef.h:20
ObjectSet< const void > threads_
Definition: velocityfunctionvolume.h:87
static const char * sKeyZIsTime()
Definition: velocityfunctionvolume.h:78
Definition: velocityfunction.h:79
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
is the access point for seismic traces. Instantiate a subclass and ask for what you need...
Definition: seisprovider.h:54
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Definition: veldesc.h:36
const VelocityDesc & getDesc() const
Definition: velocityfunctionvolume.h:67
bool extrapolate_
Definition: velocityfunctionvolume.h:53
SamplingData< float > velsampling_
Definition: velocityfunctionvolume.h:50
ObjectSet< Seis::Provider > velprovider_
Definition: velocityfunctionvolume.h:86
VelocityDesc desc_
Definition: velocityfunctionvolume.h:91
bool zit_
Definition: velocityfunctionvolume.h:49
FixedString Provider()
Definition: keystrs.h:103
Definition: velocityfunctionvolume.h:59
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:278
bool zit_
Definition: velocityfunctionvolume.h:90
TypeSet< float > vel_
Definition: velocityfunctionvolume.h:51
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
Threads::Lock providerlock_
Definition: velocityfunctionvolume.h:89
float staticsvel_
Definition: velocityfunctionvolume.h:55
Definition: velocityfunctionvolume.h:32
static uiHor3DInterpol * create(uiParent *)
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Definition: uistring.h:299
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
float statics_
Definition: velocityfunctionvolume.h:54
Definition: velocityfunction.h:39

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017