OpendTect-6_4  6.4
velocityfunctionvolume.h
Go to the documentation of this file.
1 #ifndef velocityfunctionvolume_h
2 #define velocityfunctionvolume_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: April 2005
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "velocitymod.h"
17 #include "samplingdata.h"
18 #include "thread.h"
19 #include "velocityfunction.h"
20 #include "velocitycalc.h"
21 #include "uistring.h"
22 
23 
24 class BinIDValueSet;
25 class SeisTrcReader;
26 
27 namespace Vel
28 {
29 
30 class VolumeFunctionSource;
31 
32 
35 mExpClass(Velocity) VolumeFunction : public Function
37 public:
39  bool moveTo(const BinID&);
40  StepInterval<float> getAvailableZ() const;
41  StepInterval<float> getLoadedZ() const;
42 
43  void enableExtrapolation(bool);
44  void setStatics(float t,float vel);
46 
47 protected:
48 
49  bool computeVelocity(float z0, float dz, int nr,
50  float* res ) const;
51 
52  bool zit_;
55 
57  float statics_;
58  float staticsvel_;
59 };
60 
61 
64 public:
66  "Velocity volume",
67  toUiString(sFactoryKeyword()));
69 
70  const VelocityDesc& getDesc() const { return desc_; }
71 
72  bool zIsTime() const;
73  bool setFrom(const MultiID& vel);
74 
75  VolumeFunction* createFunction(const BinID&);
76 
77  void getAvailablePositions(BinIDValueSet&) const;
78  bool getVel(const BinID&,SamplingData<float>&,
80 
81  static const char* sKeyZIsTime() { return "Z is Time"; }
82 
83 protected:
84  static FunctionSource* create(const MultiID&);
86 
87  SeisTrcReader* getReader();
88 
91 
93  bool zit_;
95 };
96 
97 } // namespace Vel
98 
99 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Velocity.
Definition: velocityfunction.h:32
ObjectSet< const void > threads_
Definition: velocityfunctionvolume.h:90
static const char * sKeyZIsTime()
Definition: velocityfunctionvolume.h:81
Definition: velocityfunction.h:85
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:53
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
Export_Basic uiString toUiString(ViewStyle)
Definition: veldesc.h:38
const VelocityDesc & getDesc() const
Definition: velocityfunctionvolume.h:70
bool extrapolate_
Definition: velocityfunctionvolume.h:56
SamplingData< float > velsampling_
Definition: velocityfunctionvolume.h:53
Threads::Lock readerlock_
Definition: velocityfunctionvolume.h:92
VelocityDesc desc_
Definition: velocityfunctionvolume.h:94
bool zit_
Definition: velocityfunctionvolume.h:52
reads from a seismic data store.
Definition: seisread.h:50
ObjectSet< SeisTrcReader > velreader_
Definition: velocityfunctionvolume.h:89
Definition: velocityfunctionvolume.h:62
#define mDefaultFactoryInstanciationBase(keywrd, usernm)
Definition: factory.h:280
bool zit_
Definition: velocityfunctionvolume.h:93
TypeSet< float > vel_
Definition: velocityfunctionvolume.h:54
float staticsvel_
Definition: velocityfunctionvolume.h:58
Definition: velocityfunctionvolume.h:35
static uiHor3DInterpol * create(uiParent *)
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
float statics_
Definition: velocityfunctionvolume.h:57
Compound key consisting of ints.
Definition: multiid.h:25
Definition: velocityfunction.h:41

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