OpendTect  6.3
createlogcube.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: createlogcube.h,v 1.1 2009-01-19 13:02:33 cvsbruno Exp
10 $
11 ________________________________________________________________________
12 -*/
13 
14 #include "wellattribmod.h"
15 #include "seisbuf.h"
16 #include "seistrc.h"
17 #include "welldata.h"
18 #include "wellextractdata.h"
19 
20 class BinID;
21 class DBKeySet;
22 
25 public:
26  LogCubeCreator(const BufferStringSet& lognms,
27  const DBKey& wllid,
28  const Well::ExtractParams& pars,
29  int nrtrcs=1);
30  LogCubeCreator(const BufferStringSet& lognms,
31  const DBKeySet& wllids,
32  const Well::ExtractParams& pars,
33  int nrtrcs=1);
34  ~LogCubeCreator();
35 
36  //Returns false if an output already exists
37  bool setOutputNm(const char* postfix=0,
38  bool withwllnm=false);
39  void getOutputNames(BufferStringSet&) const;
40 
41  const uiString& errMsg() const { return errmsg_; }
42  bool isOK() const { return errmsg_.isEmpty(); }
43  void resetMsg() { errmsg_.setEmpty(); }
44 
45  uiString nrDoneText() const { return tr("Wells handled"); }
46  od_int64 totalNr() const { return nrIterations(); }
47  bool stopAllOnFailure() const { return false; }
48 
49 protected:
50 
51  mStruct(WellAttrib) LogCube
52  {
53  LogCube(const BufferString& lognm)
54  : lognm_(lognm)
55  , fnm_(lognm)
56  , seisioobj_(0)
57  {}
58 
59  const uiString& errMsg() const { return errmsg_; }
60  bool doWrite(const SeisTrcBuf&) const;
61 
62  bool makeWriteReady();
63  bool mkIOObj();
64 
65  const BufferString& lognm_;
66  BufferString fnm_;
67  IOObj* seisioobj_;
68  mutable uiString errmsg_;
69  };
70 
71  mStruct(WellAttrib) WellData : public CallBacker
72  {
73  WellData(const DBKey& wid);
74  ~WellData();
75 
76  bool isOK() const { return errmsg_.isEmpty(); }
77  const uiString& errMsg() const { return errmsg_; }
78 
80  TypeSet<BinID> binidsalongtrack_;
83  };
84 
88  int stepout_;
89 
91 
92  od_int64 nrIterations() const { return welldata_.size();}
94 
95  bool init(const BufferStringSet& lognms,
96  const DBKeySet& wllids);
97  bool doPrepare(int);
98  bool doWork(od_int64,od_int64,int);
99  bool doFinish(bool);
100 
101  bool makeLogTraces(int iwell);
102  void getLogNames(BufferStringSet&) const;
103  void addUniqueTrace(const SeisTrc&,SeisTrcBuf&)const;
104 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
struct(WellAttrib) WellData ObjectSet< LogCube > logcubes_
Definition: createlogcube.h:71
void resetMsg()
Definition: createlogcube.h:43
Definition: ioobj.h:57
bool stopAllOnFailure() const
Definition: createlogcube.h:47
#define mStruct(module)
Definition: commondefs.h:162
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define od_int64
Definition: plftypes.h:34
bool init()
uiString errmsg_
Definition: createlogcube.h:90
BufferString & setEmpty()
Definition: dbkey.h:98
ZRangeSelector to extract parameters.
Definition: wellextractdata.h:112
uiString nrDoneText() const
Definition: createlogcube.h:45
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
PtrMan< Array2DImpl< PtrMan< SeisTrc > > > trcs_
Definition: horizontracker.h:134
Well::ExtractParams extractparams_
Definition: createlogcube.h:87
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:64
size_type size() const
Definition: objectset.h:48
int stepout_
Definition: createlogcube.h:88
ObjectSet< WellData > welldata_
Definition: createlogcube.h:86
Definition: createlogcube.h:23
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
bool isEmpty() const
Definition: odstring.h:49
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Seismic trace.
Definition: seistrc.h:31
BufferString errmsg_
Definition: horizontracker.h:117
const uiString & errMsg() const
Definition: createlogcube.h:41
set of seismic traces.
Definition: seisbuf.h:28
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
od_int64 nrIterations() const
Definition: createlogcube.h:92
const char * errMsg() const
Definition: horizontracker.h:59
od_int64 nrdone_
Definition: createlogcube.h:93
bool isOK() const
Definition: createlogcube.h:42
od_int64 totalNr() const
Definition: createlogcube.h:46

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