OpendTect  6.6
simpletimedepthmodel.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: Raman Singh
8  Date: Jan 2021
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include "generalmod.h"
16 #include "factory.h"
17 #include "tableascio.h"
18 #include "tabledef.h"
19 #include "transl.h"
20 #include "velocitycalc.h"
21 #include "zaxistransform.h"
22 
23 
30 public:
33  virtual ~SimpleTimeDepthModel() {}
34 
35  void setRawData(const TypeSet<float>& times,
36  const TypeSet<float>& depths);
37 
38  bool save(const MultiID&) const;
39 
40  const TypeSet<float>& getRawTimes() const { return rawtimes_; }
41  const TypeSet<float>& getRawDepths() const { return rawdepths_; }
42 
43  virtual bool isOK() const;
44 
45 protected:
46 
47  bool readFromFile(const char*);
48  bool writeToFile(const char*) const;
49 
52 
53 };
54 
56 
57 
63 public:
64 
66  const ZDomain::Def&);
68  const ZDomain::Def&,
69  const MultiID&);
70 
71  bool isOK() const;
72  bool setID(const MultiID&);
74  { return true; }
75 
76  bool needsVolumeOfInterest() const { return false; }
77 
78  void fillPar(IOPar&) const;
79  bool usePar(const IOPar&);
80 
81 protected:
82 
84 
86 
88  int sz,float*,bool) const;
89 };
90 
91 
94 public:
95 
97  "SimpleT2D", toUiString(sFactoryKeyword()));
98 
101 
102  void transformTrc(const TrcKey&,
103  const SamplingData<float>&,
104  int sz,float* res) const;
106  const SamplingData<float>&,
107  int sz,float* res) const;
108 
109  float getGoodZStep() const;
110  Interval<float> getZInterval(bool time) const;
111 
112 protected:
113 
114  Interval<float> getZRange(bool time) const;
115 };
116 
117 
120 public:
121 
123  "SimpleD2T", toUiString(sFactoryKeyword()));
124 
127 
128  void transformTrc(const TrcKey&,
129  const SamplingData<float>&,
130  int sz,float* res) const;
132  const SamplingData<float>&,
133  int sz,float* res) const;
134 
135  float getGoodZStep() const;
136  Interval<float> getZInterval(bool time) const;
137 
138 protected:
139 
140  Interval<float> getZRange(bool time) const;
141 };
142 
143 
144 
147  public:
149  : Table::AscIO(fd) {}
150 
151  static Table::FormatDesc* getDesc(bool withunitfld);
152  static void updateDesc(Table::FormatDesc&,bool withunitfld);
153  static void createDescBody(Table::FormatDesc*,bool unitfld);
154 
156 };
157 
158 
SimpleTimeDepthTransform::canTransformSurv
bool canTransformSurv(Pos::SurvID) const
Definition: simpletimedepthmodel.h:73
SimpleD2TTransform::getZRange
Interval< float > getZRange(bool time) const
SimpleTimeDepthTransform
ZAxisTransform that uses a SimpleTimeDepthModel.
Definition: simpletimedepthmodel.h:62
ZDomain::Def
Definition of z-domain.
Definition: zdomain.h:41
factory.h
SimpleT2DTransform::getZRange
Interval< float > getZRange(bool time) const
tableascio.h
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
tabledef.h
zaxistransform.h
SimpleTimeDepthTransform::usePar
bool usePar(const IOPar &)
SimpleTimeDepthModel::setRawData
void setRawData(const TypeSet< float > &times, const TypeSet< float > &depths)
mDefaultFactoryInstantiation
#define mDefaultFactoryInstantiation(baseclss, clss, keywrd, usernm)
Definition: factory.h:288
SimpleT2DTransform
Definition: simpletimedepthmodel.h:93
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SimpleTimeDepthAscIO
Definition: simpletimedepthmodel.h:146
mDeclEmptyTranslatorBundle
mDeclEmptyTranslatorBundle(Strat, StratLayerSequenceGenDesc, od,"sgd") mDeclEmptyTranslatorBundle(Strat
SimpleTimeDepthModel::writeToFile
bool writeToFile(const char *) const
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
SimpleTimeDepthModel::isOK
virtual bool isOK() const
Pos::SurvID
Index_Type SurvID
Definition: commontypes.h:84
SimpleTimeDepthTransform::tdmodel_
SimpleTimeDepthModel * tdmodel_
Definition: simpletimedepthmodel.h:85
SimpleD2TTransform
Definition: simpletimedepthmodel.h:119
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
SimpleT2DTransform::transformTrc
void transformTrc(const TrcKey &, const SamplingData< float > &, int sz, float *res) const
SimpleTimeDepthTransform::SimpleTimeDepthTransform
mODTextTranslationClass(SimpleTimeDepthTransform) public SimpleTimeDepthTransform(const ZDomain::Def &, const ZDomain::Def &, const MultiID &)
SimpleTimeDepthModel::~SimpleTimeDepthModel
virtual ~SimpleTimeDepthModel()
Definition: simpletimedepthmodel.h:33
SimpleTimeDepthModel::getRawDepths
const TypeSet< float > & getRawDepths() const
Definition: simpletimedepthmodel.h:41
SimpleTimeDepthTransform::doTransform
void doTransform(const SamplingData< float > &, int sz, float *, bool) const
ZAxisTransform
Base class for z-axis transforms.
Definition: zaxistransform.h:37
SimpleTimeDepthAscIO::get
bool get(od_istream &, SimpleTimeDepthModel &) const
TimeDepthModel
Converts between time, depth and velocity given a model. The velocity model can be either RMO-velocit...
Definition: velocitycalc.h:31
SimpleTimeDepthTransform::~SimpleTimeDepthTransform
~SimpleTimeDepthTransform()
SamplingData< float >
SimpleTimeDepthModel::rawdepths_
TypeSet< float > rawdepths_
Definition: simpletimedepthmodel.h:51
SimpleD2TTransform::SimpleD2TTransform
mODTextTranslationClass(SimpleD2TTransform) public SimpleD2TTransform()
SimpleT2DTransform::SimpleT2DTransform
mODTextTranslationClass(SimpleT2DTransform) public SimpleT2DTransform()
SimpleTimeDepthAscIO::updateDesc
static void updateDesc(Table::FormatDesc &, bool withunitfld)
SimpleT2DTransform::SimpleT2DTransform
SimpleT2DTransform(const MultiID &)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
SimpleTimeDepthTransform::setID
bool setID(const MultiID &)
SimpleD2TTransform::getGoodZStep
float getGoodZStep() const
SimpleT2DTransform::getZInterval
Interval< float > getZInterval(bool time) const
SimpleTimeDepthModel::save
bool save(const MultiID &) const
SimpleTimeDepthAscIO::createDescBody
static void createDescBody(Table::FormatDesc *, bool unitfld)
SimpleT2DTransform::getGoodZStep
float getGoodZStep() const
SimpleTimeDepthModel::rawtimes_
TypeSet< float > rawtimes_
Definition: simpletimedepthmodel.h:50
SimpleTimeDepthAscIO::getDesc
static Table::FormatDesc * getDesc(bool withunitfld)
SimpleTimeDepthModel::readFromFile
bool readFromFile(const char *)
SimpleD2TTransform::getZInterval
Interval< float > getZInterval(bool time) const
SimpleTimeDepthModel::SimpleTimeDepthModel
mODTextTranslationClass(SimpleTimeDepthModel) public SimpleTimeDepthModel(const MultiID &)
SimpleTimeDepthTransform::isOK
bool isOK() const
SimpleTimeDepthModel
Simple Time-Depth model in the form of a Time-Depth table.
Definition: simpletimedepthmodel.h:29
SimpleTimeDepthModel::getRawTimes
const TypeSet< float > & getRawTimes() const
Definition: simpletimedepthmodel.h:40
SimpleT2DTransform::transformTrcBack
void transformTrcBack(const TrcKey &, const SamplingData< float > &, int sz, float *res) const
transl.h
SimpleD2TTransform::transformTrcBack
void transformTrcBack(const TrcKey &, const SamplingData< float > &, int sz, float *res) const
Table::FormatDesc
description of input our output data content
Definition: tabledef.h:220
SimpleTimeDepthTransform::needsVolumeOfInterest
bool needsVolumeOfInterest() const
Definition: simpletimedepthmodel.h:76
SimpleTimeDepthAscIO::mODTextTranslationClass
mODTextTranslationClass(SimpleTimeDepthAscIO) public
Definition: simpletimedepthmodel.h:146
velocitycalc.h
SimpleD2TTransform::transformTrc
void transformTrc(const TrcKey &, const SamplingData< float > &, int sz, float *res) const
od
od
Definition: strattransl.h:17
Interval< float >
SimpleTimeDepthTransform::fillPar
void fillPar(IOPar &) const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Table::AscIO
Ascii I/O using Format Description.
Definition: tableascio.h:42
SimpleD2TTransform::SimpleD2TTransform
SimpleD2TTransform(const MultiID &)
TypeSet< float >

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