OpendTect  6.6
attribstorprovider.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: Kristofer Tingdahl
8  Date: 07-10-1999
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "attributeenginemod.h"
15 #include "attribprovider.h"
16 #include "bindatadesc.h"
17 #include "datapack.h"
18 
19 class BufferStringSet;
21 class SeisMSCProvider;
22 class SeisTrc;
23 
24 namespace PosInfo{ class LineSet2DData; }
25 
26 namespace Attrib
27 {
28 
29 class DataHolder;
30 
35 mExpClass(AttributeEngine) StorageProvider : public Provider
37 public:
38 
39  static void initClass();
40  static const char* attribName() { return "Storage"; }
41  static const char* keyStr() { return "id"; }
42 
43  int moveToNextTrace(BinID startpos=BinID(-1,-1),
44  bool firstcheck=false);
47  void updateStorageReqs(bool all=true);
50 
52  bool needStoredInput() const { return true; }
53  virtual void getCompNames(BufferStringSet&) const;
54  virtual float getDistBetwTrcs(bool,const char* linenm =0) const;
55  virtual bool compDistBetwTrcsStats(bool force=false);
57 
58 protected:
59 
62 
64  static void updateDesc(Desc&);
66 
69  bool allowParallelComputation() const { return false; }
70 
71  //From disc
75 
76  //From memory (in Attrib::DataPacks)
77  SeisTrc* getTrcFromPack(const BinID&,int) const;
79 
80  void setReqBufStepout(const BinID&,bool wait=false);
81  void setDesBufStepout(const BinID&,bool wait=false);
82  bool computeData(const DataHolder& output,
83  const BinID& relpos,
84  int t0,int nrsamples,int threadid) const;
85 
87  const DataHolder&) const;
88  bool getZStepStoredData(float& step) const
89  { step = storedvolume_.zsamp_.step; return true; }
90  bool getZ0StoredData(float& z0) const
91  { z0 = storedvolume_.zsamp_.start; return true; }
92 
93  BinDataDesc getOutputFormat(int output) const;
94 
98  void checkClassType(const SeisTrc*,BoolTypeSet&) const;
101 
102  void registerNewPosInfo(SeisTrc*,const BinID&,bool,bool&);
103  bool useInterTrcDist() const;
104  //to counter impossibility to create a virtual function
105 
110  bool isondisc_;
113 
114  enum Status { Nada, StorageOpened, Ready } status_;
115 };
116 
117 }; // namespace Attrib
118 
Attrib::StorageProvider::computeData
bool computeData(const DataHolder &output, const BinID &relpos, int t0, int nrsamples, int threadid) const
Attrib::StorageProvider::ls2ddata_
PosInfo::LineSet2DData * ls2ddata_
Definition: attribstorprovider.h:112
Attrib::StorageProvider::isondisc_
bool isondisc_
Definition: attribstorprovider.h:110
Attrib::StorageProvider::checkClassType
void checkClassType(const SeisTrc *, BoolTypeSet &) const
Attrib::StorageProvider::stepoutstep_
BinID stepoutstep_
Definition: attribstorprovider.h:108
Attrib::StorageProvider::Status
Status
Definition: attribstorprovider.h:114
Attrib::StorageProvider::allowParallelComputation
bool allowParallelComputation() const
Definition: attribstorprovider.h:69
Attrib::StorageProvider
Attribute storage provider.
Definition: attribstorprovider.h:36
Attrib::StorageProvider::datachar_
TypeSet< BinDataDesc > datachar_
Definition: attribstorprovider.h:106
Attrib::Provider
Provides the actual output to ...
Definition: attribprovider.h:44
Attrib::StorageProvider::fillDataHolderWithTrc
bool fillDataHolderWithTrc(const SeisTrc *, const DataHolder &) const
Attrib::StorageProvider::getMSCProvider
SeisMSCProvider * getMSCProvider(bool &) const
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
Attrib::StorageProvider::useintertrcdist_
bool useintertrcdist_
Definition: attribstorprovider.h:111
Attrib::StorageProvider::getLine2DStoredVolume
bool getLine2DStoredVolume()
Attrib::StorageProvider::getStepoutStep
BinID getStepoutStep() const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisTrc
Seismic trace.
Definition: seistrc.h:34
Attrib::DataHolder
Holds the attribute data.
Definition: attribdataholder.h:43
Attrib::StorageProvider::checkDesiredTrcRgOK
bool checkDesiredTrcRgOK(StepInterval< int >, StepInterval< float >)
Attrib::StorageProvider::getOutputFormat
BinDataDesc getOutputFormat(int output) const
Attrib::StorageProvider::storedvolume_
TrcKeyZSampling storedvolume_
Definition: attribstorprovider.h:109
Attrib::StorageProvider::updateDesc
static void updateDesc(Desc &)
Attrib::StorageProvider::checkInpAndParsAtStart
bool checkInpAndParsAtStart()
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
Attrib::StorageProvider::keyStr
static const char * keyStr()
Definition: attribstorprovider.h:41
Attrib::StorageProvider::getDistBetwTrcs
virtual float getDistBetwTrcs(bool, const char *linenm=0) const
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Attrib::StorageProvider::getPossibleVolume
bool getPossibleVolume(int outp, TrcKeyZSampling &)
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
Attrib::StorageProvider::getDPID
DataPack::FullID getDPID() const
Attrib::StorageProvider::getTrcFromPack
SeisTrc * getTrcFromPack(const BinID &, int) const
PosInfo::LineSet2DData
Position info for a set of 2D lines.
Definition: linesetposinfo.h:26
Attrib::StorageProvider::mscprov_
SeisMSCProvider * mscprov_
Definition: attribstorprovider.h:107
Attrib::StorageProvider::updateDescAndGetCompNms
static void updateDescAndGetCompNms(Desc &, BufferStringSet *)
Attrib::StorageProvider::setTableSelData
bool setTableSelData()
Attrib::StorageProvider::getCompNames
virtual void getCompNames(BufferStringSet &) const
Attrib::StorageProvider::setReqBufStepout
void setReqBufStepout(const BinID &, bool wait=false)
Attrib::StorageProvider::getGeomID
Pos::GeomID getGeomID() const
Attrib::StorageProvider::StorageProvider
StorageProvider(Desc &)
all
@ all
Definition: i_layout.h:35
RegularSeisDataPack
SeisDataPack for 2D and 3D seismic data.
Definition: seisdatapack.h:29
Attrib::StorageProvider::getZ0StoredData
bool getZ0StoredData(float &z0) const
Definition: attribstorprovider.h:90
BinDataDesc
Description of binary data.
Definition: bindatadesc.h:43
Attrib::StorageProvider::adjust2DLineStoredVolume
void adjust2DLineStoredVolume()
datapack.h
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
Attrib::StorageProvider::compDistBetwTrcsStats
virtual bool compDistBetwTrcsStats(bool force=false)
bindatadesc.h
Attrib::StorageProvider::~StorageProvider
~StorageProvider()
Attrib::StorageProvider::fillDataPackWithTrc
void fillDataPackWithTrc(RegularSeisDataPack *) const
Attrib::StorageProvider::setMSCProvSelData
bool setMSCProvSelData()
Attrib::StorageProvider::setDesBufStepout
void setDesBufStepout(const BinID &, bool wait=false)
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
attribprovider.h
Attrib::StorageProvider::set2DRangeSelData
bool set2DRangeSelData()
Attrib::StorageProvider::getElementStepoutStoredSpecial
BinID getElementStepoutStoredSpecial() const
Attrib::StorageProvider::checkDesiredVolumeOK
bool checkDesiredVolumeOK()
Attrib::StorageProvider::moveToNextTrace
int moveToNextTrace(BinID startpos=BinID(-1,-1), bool firstcheck=false)
SeisMSCProvider
Reads seismic data into buffers providing a Moving Virtual Subcube of seismic data.
Definition: seiscubeprov.h:56
Attrib::StorageProvider::registerNewPosInfo
void registerNewPosInfo(SeisTrc *, const BinID &, bool, bool &)
Attrib::StorageProvider::useInterTrcDist
bool useInterTrcDist() const
Attrib::StorageProvider::initMSCProvider
bool initMSCProvider()
Attrib
Semblance Attribute.
Definition: attribdataholder.h:25
Attrib::StorageProvider::needStoredInput
bool needStoredInput() const
Definition: attribstorprovider.h:52
initClass
static void initClass()
Attrib::Desc
Description of an attribute in an Attrib::DescSet. Each attribute has a name (e.g....
Definition: attribdesc.h:89
Attrib::StorageProvider::createInstance
static Provider * createInstance(Desc &)
Attrib::StorageProvider::updateStorageReqs
void updateStorageReqs(bool all=true)
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
Attrib::StorageProvider::StorageOpened
@ StorageOpened
Definition: attribstorprovider.h:114
Attrib::StorageProvider::getZStepStoredData
bool getZStepStoredData(float &step) const
Definition: attribstorprovider.h:88
TypeSet< BoolTypeSetType >
Attrib::StorageProvider::attribName
static mODTextTranslationClass(StorageProvider) public const char * attribName()
Definition: attribstorprovider.h:40

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