OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "velocitymod.h"
16 #include "samplingdata.h"
17 #include "thread.h"
18 #include "velocityfunction.h"
19 #include "velocitycalc.h"
20 #include "uistring.h"
21 
22 
23 class BinIDValueSet;
24 class SeisTrcReader;
25 
26 namespace Vel
27 {
28 
29 class VolumeFunctionSource;
30 
31 
34 mExpClass(Velocity) VolumeFunction : public Function
36 public:
38  bool moveTo(const BinID&);
41 
42  void enableExtrapolation(bool);
43  void setStatics(float t,float vel);
45 
46 protected:
47 
48  bool computeVelocity(float z0, float dz, int nr,
49  float* res ) const;
50 
51  bool zit_;
54 
56  float statics_;
57  float staticsvel_;
58 };
59 
60 
63 public:
65  "Velocity volume",
66  toUiString(sFactoryKeyword()));
68 
69  const VelocityDesc& getDesc() const { return desc_; }
70 
71  bool zIsTime() const;
72  bool setFrom(const MultiID& vel);
73 
75 
79 
80  static const char* sKeyZIsTime() { return "Z is Time"; }
81 
82 protected:
83  static FunctionSource* create(const MultiID&);
85 
87 
90 
92  bool zit_;
94 };
95 
96 } // namespace Vel
97 
Vel
Velocity.
Definition: velocityfunction.h:32
Vel::Function
Definition: velocityfunction.h:41
Vel::VolumeFunction::zit_
bool zit_
Definition: velocityfunctionvolume.h:51
uistring.h
SeisTrcReader
reads from a seismic data store.
Definition: seisread.h:50
velocityfunction.h
ObjectSet< SeisTrcReader >
BinIDValueSet
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
Vel::VolumeFunctionSource::getReader
SeisTrcReader * getReader()
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Vel::VolumeFunctionSource::VolumeFunctionSource
VolumeFunctionSource()
samplingdata.h
Vel::VolumeFunctionSource::mDefaultFactoryInstanciationBase
mDefaultFactoryInstanciationBase("Velocity volume", toUiString(sFactoryKeyword()))
Vel::VolumeFunctionSource::~VolumeFunctionSource
~VolumeFunctionSource()
Vel::VolumeFunctionSource::desc_
VelocityDesc desc_
Definition: velocityfunctionvolume.h:93
Vel::VolumeFunction::extrapolate_
bool extrapolate_
Definition: velocityfunctionvolume.h:55
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< float >
VelocityDesc
Definition: veldesc.h:38
Vel::VolumeFunctionSource
Definition: velocityfunctionvolume.h:62
Vel::VolumeFunction::mODTextTranslationClass
mODTextTranslationClass(VolumeFunction)
SamplingData< float >
Vel::VolumeFunctionSource::getDesc
const VelocityDesc & getDesc() const
Definition: velocityfunctionvolume.h:69
Vel::VolumeFunction::getAvailableZ
StepInterval< float > getAvailableZ() const
Vel::VolumeFunctionSource::create
static FunctionSource * create(const MultiID &)
Vel::VolumeFunction::staticsvel_
float staticsvel_
Definition: velocityfunctionvolume.h:57
Vel::VolumeFunction::statics_
float statics_
Definition: velocityfunctionvolume.h:56
Vel::VolumeFunctionSource::readerlock_
Threads::Lock readerlock_
Definition: velocityfunctionvolume.h:91
Vel::VolumeFunctionSource::threads_
ObjectSet< const void > threads_
Definition: velocityfunctionvolume.h:89
Vel::VolumeFunctionSource::createFunction
VolumeFunction * createFunction(const BinID &)
Vel::VolumeFunctionSource::sKeyZIsTime
static const char * sKeyZIsTime()
Definition: velocityfunctionvolume.h:80
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
Vel::VolumeFunctionSource::zIsTime
bool zIsTime() const
Vel::VolumeFunction::enableExtrapolation
void enableExtrapolation(bool)
Vel::VolumeFunction::velsampling_
SamplingData< float > velsampling_
Definition: velocityfunctionvolume.h:52
Vel::VolumeFunctionSource::mODTextTranslationClass
mODTextTranslationClass(VolumeFunctionSource)
Vel::VolumeFunctionSource::getAvailablePositions
void getAvailablePositions(BinIDValueSet &) const
Vel::VolumeFunctionSource::getVel
bool getVel(const BinID &, SamplingData< float > &, TypeSet< float > &)
Vel::VolumeFunction::setStatics
void setStatics(float t, float vel)
Only used with RMS velocities extrapolation.
Vel::VolumeFunction::VolumeFunction
VolumeFunction(VolumeFunctionSource &)
Vel::VolumeFunctionSource::velreader_
ObjectSet< SeisTrcReader > velreader_
Definition: velocityfunctionvolume.h:88
Vel::VolumeFunction
Definition: velocityfunctionvolume.h:35
velocitycalc.h
Vel::VolumeFunction::computeVelocity
bool computeVelocity(float z0, float dz, int nr, float *res) const
thread.h
Vel::VolumeFunctionSource::setFrom
bool setFrom(const MultiID &vel)
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
Vel::VolumeFunction::vel_
TypeSet< float > vel_
Definition: velocityfunctionvolume.h:53
Vel::VolumeFunctionSource::zit_
bool zit_
Definition: velocityfunctionvolume.h:92
Vel::VolumeFunction::getLoadedZ
StepInterval< float > getLoadedZ() const
Vel::VolumeFunction::moveTo
bool moveTo(const BinID &)
Vel::FunctionSource
Definition: velocityfunction.h:85
TypeSet< float >

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