OpendTect-6_4  6.4
createlogcube.h
Go to the documentation of this file.
1 #ifndef createlogcube_h
2 #define createlogcube_h
3 
4 /*+
5 ________________________________________________________________________
6 
7 (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8 Author: Bruno
9 Date: July 2011
10 RCS: $Id: createlogcube.h,v 1.1 2009-01-19 13:02:33 cvsbruno Exp
11 $
12 ________________________________________________________________________
13 -*/
14 
15 #include "wellattribmod.h"
16 #include "seisbuf.h"
17 #include "seistrc.h"
18 #include "wellextractdata.h"
19 
20 class BinID;
21 namespace Well { class Data; }
22 
25 public:
26  LogCubeCreator(const BufferStringSet& lognms,
27  const MultiID& wllid,
28  const Well::ExtractParams& pars,
29  int nrtrcs=1);
30  LogCubeCreator(const BufferStringSet& lognms,
31  const TypeSet<MultiID>& 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 uiNrDoneText() 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 MultiID& wid);
74  ~WellData();
75 
76  bool isOK() const { return errmsg_.isEmpty(); }
77  const uiString& errMsg() const { return errmsg_; }
78 
79  Well::Data* wd_;
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 TypeSet<MultiID>& 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 };
105 
106 #endif
#define mExpClass(module)
Definition: commondefs.h:160
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
struct(WellAttrib) WellData ObjectSet< LogCube > logcubes_
Definition: createlogcube.h:71
void resetMsg()
Definition: createlogcube.h:43
Definition: ioobj.h:58
bool stopAllOnFailure() const
Definition: createlogcube.h:47
#define mStruct(module)
Definition: commondefs.h:165
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
#define od_int64
Definition: plftypes.h:36
bool init()
uiString errmsg_
Definition: createlogcube.h:90
BufferString & setEmpty()
ZRangeSelector to extract parameters.
Definition: wellextractdata.h:118
Definition: uistring.h:89
Set of BufferString objects.
Definition: bufstringset.h:28
PtrMan< Array2DImpl< PtrMan< SeisTrc > > > trcs_
Definition: horizontracker.h:136
Well::ExtractParams extractparams_
Definition: createlogcube.h:87
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
size_type size() const
Definition: objectset.h:50
Definition: directionalsurvey.h:19
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Definition: createlogcube.h:45
int stepout_
Definition: createlogcube.h:88
ObjectSet< WellData > welldata_
Definition: createlogcube.h:86
Definition: createlogcube.h:23
Definition: repos.h:25
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
bool isEmpty() const
Definition: odstring.h:51
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Seismic trace.
Definition: seistrc.h:34
BufferString errmsg_
Definition: horizontracker.h:119
const uiString & errMsg() const
Definition: createlogcube.h:41
set of seismic traces.
Definition: seisbuf.h:31
od_int64 nrIterations() const
Definition: createlogcube.h:92
const char * errMsg() const
Definition: horizontracker.h:61
The holder of all data concerning a certain well.
Definition: welldata.h:113
od_int64 nrdone_
Definition: createlogcube.h:93
bool isOK() const
Definition: createlogcube.h:42
Compound key consisting of ints.
Definition: multiid.h:25
od_int64 totalNr() const
Definition: createlogcube.h:46

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