OpendTect  6.6
stratsynth.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: Bruno
8  Date: July 2011
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "wellattribmod.h"
15 #include "syntheticdata.h"
16 #include "ailayer.h"
17 #include "elasticpropsel.h"
18 #include "synthseis.h"
19 #include "valseriesevent.h"
20 #include "uistring.h"
21 
22 namespace PreStack { class GatherSetDataPack; }
23 class SeisTrcBuf;
24 class TaskRunner;
25 class Wavelet;
26 class TrcKeyZSampling;
27 class RayTracer1D;
28 class StratSynthLevel;
31 
32 namespace Strat
33 {
34  class LayerModel; class LayerModelProvider; class LayerSequence;
35  class Level;
36 }
37 namespace Seis { class RaySynthGenerator; }
38 
39 typedef Seis::RaySynthGenerator::RayModel SynthRayModel;
41 
44 public:
47  const SyntheticData*);
48  void removeRayModelSet(const IOPar&);
50  bool haveSameRM(const IOPar& par1,
51  const IOPar& par2) const;
52 protected:
55 };
56 
57 
58 
59 mExpClass(WellAttrib) StratSynth
61 public:
63  bool useed);
65 
66  int nrSynthetics() const;
68  SyntheticData* addSynthetic(const SynthGenParams&);
69  bool removeSynthetic(const char*);
70  bool disableSynthetic(const char*);
73  int syntheticIdx(const char* nm) const;
74  int syntheticIdx(const PropertyRef&) const;
75  SyntheticData* getSynthetic(const char* nm);
76  inline const SyntheticData* getSynthetic( const char* nm ) const
77  { const int idx = syntheticIdx( nm );
78  return synthetics_.validIdx(idx) ? synthetics_[idx]
79  : 0; }
81  SynthGenParams::SynthType) const;
82  void getSyntheticNames(BufferStringSet&,bool wantpres) const;
85  inline const SyntheticData* getSynthetic( const PropertyRef& prf ) const
86  { const int idx = syntheticIdx( prf );
87  return synthetics_.validIdx(idx) ? synthetics_[idx]
88  : 0; }
90  const SyntheticData* getSyntheticByIdx(int idx) const;
95  { aimodels_.erase(); }
96  bool hasElasticModels() const
97  { return !aimodels_.isEmpty(); }
98 
100  { return synthetics_; }
101 
102  void setWavelet(const Wavelet*);
103  const Wavelet* wavelet() const { return wvlt_; }
104  SynthGenParams& genParams() { return genparams_; }
105  const SynthGenParams& genParams() const
106  { return genparams_; }
107 
108  void setLevel(const StratSynthLevel*);
109  const StratSynthLevel* getLevel() const { return level_; }
110 
112  TypeSet<float>&) const;
115  TypeSet<float>&) const;
117  const ObjectSet<const TimeDepthModel>&) const;
118  bool setLevelTimes(const char* sdnm);
119 
120  void flattenTraces(SeisTrcBuf&) const;
123  float zskip) const;
124  void decimateTraces(SeisTrcBuf&,int fac) const;
126  { synthrmmgr_.clearRayModels(); }
127 
128  void setTaskRunner( TaskRunner* t ) { taskr_ = t; }
129  bool hasTaskRunner() const { return taskr_; }
130  uiString errMsg() const;
131  uiString infoMsg() const;
132  void clearInfoMsg() { infomsg_.setEmpty(); }
133 
134  static const char* sKeyFRNameSuffix() { return " after FR"; }
135 
136 protected:
137 
139  const bool useed_;
141  SynthGenParams genparams_;
147  const Wavelet* wvlt_;
148 
153 
154  const Strat::LayerModel& layMod() const;
155  bool canRayModelsBeRemoved(const IOPar& raypar) const;
157  ElasticModel&,int seqidx);
159  TypeSet<ElasticModel>&,bool chksvel);
161  const PostStackSyntheticData& sd,
162  const Strat::LayerModel&);
164  SyntheticData* generateSD( const SynthGenParams&);
166  const SynthGenParams&);
168  const TrcKeyZSampling&,
169  const SynthGenParams&);
171  const TrcKeyZSampling&,
172  const SynthGenParams&);
174  const ObjectSet<RayTracer1D>&);
175 
179 
181  const IOPar& raypar) const;
182 public:
185  int dispeach) const;
186 };
187 
StratSynth::replaceSynthetic
SyntheticData * replaceSynthetic(int id)
StratSynth::generateSD
SyntheticData * generateSD(const SynthGenParams &)
StratSynth::hasElasticModels
bool hasElasticModels() const
Definition: stratsynth.h:96
StratSynth
Definition: stratsynth.h:60
PostStackSyntheticData
Definition: syntheticdataimpl.h:26
StratSynth::putD2TModelsInSD
void putD2TModelsInSD(SyntheticData &, ObjectSet< SynthRayModel > &)
StratSynth::getSynthetic
SyntheticData * getSynthetic(int id)
StratSynth::sKeyFRNameSuffix
static const char * sKeyFRNameSuffix()
Definition: stratsynth.h:134
StratSynth::lmp_
const Strat::LayerModelProvider & lmp_
Definition: stratsynth.h:138
StratSynth::hasTaskRunner
bool hasTaskRunner() const
Definition: stratsynth.h:129
StratSynth::getLevelTimes
void getLevelTimes(const Strat::Level &, const ObjectSet< const TimeDepthModel > &, TypeSet< float > &) const
StratSynth::useed_
const bool useed_
Definition: stratsynth.h:139
uistring.h
StratSynth::getRelevantAngleData
const PreStack::GatherSetDataPack * getRelevantAngleData(const IOPar &raypar) const
RayTracer1D
Ray tracer in 1D.
Definition: raytrace1d.h:32
StratSynth::setWavelet
void setWavelet(const Wavelet *)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
StratSynth::getSyntheticByIdx
const SyntheticData * getSyntheticByIdx(int idx) const
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
SynthRayModelManager::mODTextTranslationClass
mODTextTranslationClass(SynthRayModelManager)
StratSynth::genParams
SynthGenParams & genParams()
Definition: stratsynth.h:104
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SynthRayModelManager::haveSameRM
bool haveSameRM(const IOPar &par1, const IOPar &par2) const
StratSynth::getSyntheticByIdx
SyntheticData * getSyntheticByIdx(int idx)
StratSynth::getLevelDepths
void getLevelDepths(const Strat::Level &, TypeSet< float > &) const
StratSynth::decimateTraces
void decimateTraces(SeisTrcBuf &, int fac) const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
ElasticModel
A table of elastic prop layers with processing utilities.
Definition: ailayer.h:100
valseriesevent.h
StratSynth::canRayModelsBeRemoved
bool canRayModelsBeRemoved(const IOPar &raypar) const
Strat::Level
Stratigraphic level.
Definition: stratlevel.h:42
StratSynth::createAVOGradient
SyntheticData * createAVOGradient(const SyntheticData &sd, const TrcKeyZSampling &, const SynthGenParams &)
StratSynth::disableSynthetic
bool disableSynthetic(const char *)
StratSynth::runSynthGen
bool runSynthGen(Seis::RaySynthGenerator &, const SynthGenParams &)
StratSynth::adjustElasticModel
bool adjustElasticModel(const Strat::LayerModel &, TypeSet< ElasticModel > &, bool chksvel)
StratSynth::infomsg_
uiString infomsg_
Definition: stratsynth.h:150
StratSynth::trimTraces
void trimTraces(SeisTrcBuf &, const ObjectSet< const TimeDepthModel > &, float zskip) const
syntheticdata.h
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
StratSynth::generateSD
SyntheticData * generateSD()
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
ailayer.h
StratSynth::getSynthetic
const SyntheticData * getSynthetic(const PropertyRef &prf) const
Definition: stratsynth.h:85
SynthRayModel
Seis::RaySynthGenerator::RayModel SynthRayModel
Definition: stratsynth.h:39
PropertyRefSelection
Definition: propertyref.h:166
StratSynth::clearRayModels
void clearRayModels()
Definition: stratsynth.h:125
StratSynth::StratSynth
StratSynth(const Strat::LayerModelProvider &, bool useed)
StratSynth::fillElasticModel
bool fillElasticModel(const Strat::LayerModel &, ElasticModel &, int seqidx)
StratSynth::getLevelTimes
void getLevelTimes(SeisTrcBuf &, const ObjectSet< const TimeDepthModel > &) const
StratSynth::clearSynthetics
void clearSynthetics()
StratSynth::generateOtherQuantities
void generateOtherQuantities()
StratSynth::genParams
const SynthGenParams & genParams() const
Definition: stratsynth.h:105
StratSynth::synthetics
const ObjectSet< SyntheticData > & synthetics() const
Definition: stratsynth.h:99
StratSynth::getLevel
const StratSynthLevel * getLevel() const
Definition: stratsynth.h:109
StratSynth::getSynthetic
SyntheticData * getSynthetic(const char *nm)
SynthRayModelManager::addRayModelSet
void addRayModelSet(ObjectSet< SynthRayModel > *, const SyntheticData *)
StratSynth::syntheticIdx
int syntheticIdx(const char *nm) const
StratSynth::getSyntheticNames
void getSyntheticNames(BufferStringSet &, SynthGenParams::SynthType) const
StratSynth::~StratSynth
~StratSynth()
StratSynth::errMsg
uiString errMsg() const
StratSynth::props_
PropertyRefSelection props_
Definition: stratsynth.h:142
synthseis.h
StratSynth::wvlt_
const Wavelet * wvlt_
Definition: stratsynth.h:147
StratSynth::taskr_
TaskRunner * taskr_
Definition: stratsynth.h:151
TaskRunner
Class that can execute a task.
Definition: task.h:170
StratSynth::swaveinfomsgshown_
bool swaveinfomsgshown_
Definition: stratsynth.h:146
StratSynth::setLevel
void setLevel(const StratSynthLevel *)
StratSynth::getSynthetic
SyntheticData * getSynthetic(const PropertyRef &)
StratSynth::setTaskRunner
void setTaskRunner(TaskRunner *t)
Definition: stratsynth.h:128
Strat::LayerModelProvider
Definition: stratlayermodel.h:86
PreStackSyntheticData
Definition: syntheticdataimpl.h:98
StratSynth::wavelet
const Wavelet * wavelet() const
Definition: stratsynth.h:103
elasticpropsel.h
StratSynth::addDefaultSynthetic
SyntheticData * addDefaultSynthetic()
StratSynth::nrSynthetics
int nrSynthetics() const
StratSynth::aimodels_
TypeSet< ElasticModel > aimodels_
Definition: stratsynth.h:144
StratSynth::mODTextTranslationClass
mODTextTranslationClass(StratSynth)
StratSynth::removeSynthetic
bool removeSynthetic(const char *)
PreStack
Definition: synthseis.h:35
StratSynth::createAngleStack
SyntheticData * createAngleStack(const SyntheticData &sd, const TrcKeyZSampling &, const SynthGenParams &)
Strat::LayerModel
A model consisting of layer sequences.
Definition: stratlayermodel.h:36
StratSynth::errmsg_
uiString errmsg_
Definition: stratsynth.h:149
StratSynth::layMod
const Strat::LayerModel & layMod() const
PropertyRef
Ref Data for a (usually petrophysical) property.
Definition: propertyref.h:43
StratSynth::addSynthetic
SyntheticData * addSynthetic()
StratSynth::setLevelTimes
bool setLevelTimes(const char *sdnm)
Strat
Stratigraphy.
Definition: stratlevel.h:26
StratSynth::generateOtherQuantities
void generateOtherQuantities(const PostStackSyntheticData &sd, const Strat::LayerModel &)
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
StratSynth::flattenTraces
void flattenTraces(SeisTrcBuf &) const
StratSynth::syntheticIdx
int syntheticIdx(const PropertyRef &) const
SynthRayModelManager::raymodels_
ObjectSet< RayModelSet > raymodels_
Definition: stratsynth.h:53
SynthRayModelManager::clearRayModels
void clearRayModels()
SynthRayModelManager
Definition: stratsynth.h:43
StratSynth::level_
const StratSynthLevel * level_
Definition: stratsynth.h:140
SyntheticData
Definition: syntheticdata.h:38
StratSynth::createElasticModels
bool createElasticModels()
StratSynth::infoMsg
uiString infoMsg() const
StratSynthLevel
Definition: stratsynthlevel.h:22
SynthRayModelManager::synthraypars_
TypeSet< IOPar > synthraypars_
Definition: stratsynth.h:54
SynthRayModelManager::getRayModelSet
ObjectSet< SynthRayModel > * getRayModelSet(const IOPar &)
StratSynth::getLevelTimes
void getLevelTimes(SeisTrcBuf &, const ObjectSet< const TimeDepthModel > &, int dispeach) const
PreStack::GatherSetDataPack
A DataPack containing an objectset of gathers.
Definition: prestackgather.h:152
StratSynth::createAngleData
void createAngleData(PreStackSyntheticData &, const ObjectSet< RayTracer1D > &)
SynthRayModelManager::removeRayModelSet
void removeRayModelSet(const IOPar &)
StratSynth::synthetics_
ObjectSet< SyntheticData > synthetics_
Definition: stratsynth.h:143
StratSynth::genparams_
SynthGenParams genparams_
Definition: stratsynth.h:141
RayModelSet
ObjectSet< SynthRayModel > RayModelSet
Definition: stratsynth.h:40
StratSynth::getSynthetic
const SyntheticData * getSynthetic(const char *nm) const
Definition: stratsynth.h:76
StratSynth::synthrmmgr_
SynthRayModelManager synthrmmgr_
Definition: stratsynth.h:152
Wavelet
Definition: wavelet.h:25
StratSynth::adjustD2TModels
void adjustD2TModels(ObjectSet< TimeDepthModel > &) const
StratSynth::clearElasticModels
void clearElasticModels()
Definition: stratsynth.h:94
StratSynth::clearInfoMsg
void clearInfoMsg()
Definition: stratsynth.h:132
StratSynth::lastsyntheticid_
int lastsyntheticid_
Definition: stratsynth.h:145
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
StratSynth::getSyntheticNames
void getSyntheticNames(BufferStringSet &, bool wantpres) const
Seis::RaySynthGenerator
Definition: synthseis.h:207
sKey::Level
FixedString Level()
Definition: keystrs.h:86
StratSynth::addSynthetic
SyntheticData * addSynthetic(const SynthGenParams &)
TypeSet< IOPar >

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