OpendTect  6.3
prestackeventio.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: K. Tingdahl
8  Date: March 2007
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "prestackprocessingmod.h"
15 #include "executor.h"
16 #include "bufstringset.h"
17 #include "trckeyzsampling.h"
18 #include "iopar.h"
19 #include "sets.h"
20 #include "valseriesevent.h"
21 
22 class IOObj;
23 class BinIDValueSet;
24 class TrcKeySampling;
25 template <class T> class DataInterpreter;
26 
27 namespace PreStack
28 {
29 
30 class EventManager;
31 class EventPatchReader;
32 class EventPatchWriter;
33 
38 mExpClass(PreStackProcessing) EventReader : public Executor
40 public:
41  EventReader(IOObj*,EventManager*,bool trigger);
44  ~EventReader();
45 
46  void setSelection(const BinIDValueSet*);
47  void setSelection(const TrcKeySampling*);
48 
49  bool prepareWork();
51  bool getPositions(BinIDValueSet&) const;
53 
54  bool getBoundingBox(Interval<int>& inlrg,
55  Interval<int>& crlrg ) const;
57  static bool readSamplingData(const IOObj&,SamplingData<int>& inl,
58  SamplingData<int>& crl);
59 
60  od_int64 nrDone() const { return nrdone_; }
61  od_int64 totalNr() const { return totalnr_; }
62  uiString message() const;
63  uiString nrDoneText() const;
64  uiString errMsg() const;
65 
66  static int encodeEventType(VSEvent::Type);
67  static VSEvent::Type decodeEventType(int);
68 
69  static const char* sFileType() { return "Prestack events"; }
70  static const char* sKeyInt16DataChar() { return "Short dc"; }
71  static const char* sKeyInt32DataChar() { return "Int dc"; }
72  static const char* sKeyFloatDataChar() { return "Float dc"; }
73  static const char* sKeyPrimaryDipSource() { return "Primary dip"; }
74  static const char* sKeySecondaryDipSource(){ return "Secondary dip"; }
75  static const char* sKeyISamp() { return "In-line sampling"; }
76  static const char* sKeyCSamp() { return "Cross-line sampling";}
77 
78  static const char* sKeyNrHorizons() { return "Nr Horizons"; }
79  static const char* sKeyHorizonID() { return "Horizon ID"; }
80  static const char* sKeyNextHorizonID() { return "Next Horizon ID"; }
81  static const char* sKeyHorizonRef() {return "Horizon EM Reference";}
82  static const char* sOldHorizonFileName() { return "horizoninfo"; }
83  static const char* sAuxDataFileName() { return "auxdata"; }
84  static const char* sHorizonFileType() { return "PS Horizon info"; }
85  static const char* sHorizonFileVersion() { return "PS Horizon version"; }
86 
87  int nextStep();
88 
89 protected:
90  bool addReader( const char* fnm );
91  bool readAuxData(const char* fnm);
92 
93  const IOObj* ioobj_;
97 
99 
101  bool trigger_;
104 };
105 
106 
111 mExpClass(PreStackProcessing) EventWriter : public Executor
113 public:
115  ~EventWriter();
116 
117  int nextStep();
118  od_int64 nrDone() const { return nrdone_; }
119  od_int64 totalNr() const { return totalnr_; }
120  uiString nrDoneText() const;
121  uiString errMsg() const;
122  uiString message() const;
123 
124 
125 protected:
126 
127  bool writeAuxData(const char* fnm);
128 
136 
137 };
138 
139 
144 mExpClass(PreStackProcessing) EventDuplicator : public Executor
146 public:
147  EventDuplicator(IOObj* from,IOObj* to);
148  ~EventDuplicator();
149 
150  od_int64 totalNr() const { return totalnr_; }
151  od_int64 nrDone() const { return totalnr_ - filestocopy_.size();}
153  { return errmsg_.isEmpty() ? message_ : errmsg_; }
154  uiString nrDoneText() const { return tr("Files copied"); }
155 
156  int nextStep();
157  uiString errMsg() const { return errmsg_; }
158 
159 protected:
160  void errorCleanup();
161 
166 
169 };
170 
171 
172 }; //namespace
#define mExpClass(module)
Definition: commondefs.h:157
static const char * sAuxDataFileName()
Definition: prestackeventio.h:83
EventManager & eventmanager_
Definition: prestackeventio.h:132
ObjectSet< EventPatchReader > patchreaders_
Definition: prestackeventio.h:98
Definition: ioobj.h:57
T to(const F &fr)
Definition: convert.h:31
uiString errmsg_
Definition: prestackeventio.h:164
const TrcKeySampling * horsel_
Definition: prestackeventio.h:96
Reader for PreStack events.
Definition: prestackeventio.h:38
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
IOObj * ioobj_
Definition: prestackeventio.h:130
IOObj * to_
Definition: prestackeventio.h:168
static const char * sKeyISamp()
Definition: prestackeventio.h:75
static const char * sKeyHorizonID()
Definition: prestackeventio.h:79
#define od_int64
Definition: plftypes.h:34
Definition: prestackagc.h:18
od_int64 totalNr() const
Definition: prestackeventio.h:61
od_int64 nrDone() const
Definition: prestackeventio.h:118
static const char * sKeyPrimaryDipSource()
Definition: prestackeventio.h:73
EventManager * eventmanager_
Definition: prestackeventio.h:94
Definition: uistring.h:88
od_int64 totalnr_
Definition: prestackeventio.h:162
Set of BufferString objects.
Definition: bufstringset.h:25
static const char * sKeyInt32DataChar()
Definition: prestackeventio.h:71
ObjectSet< EventPatchWriter > patchwriters_
Definition: prestackeventio.h:129
uiString message() const
Definition: prestackeventio.h:152
const BinIDValueSet * bidsel_
Definition: prestackeventio.h:95
od_int64 totalnr_
Definition: prestackeventio.h:134
static const char * sKeySecondaryDipSource()
Definition: prestackeventio.h:74
od_int64 nrDone() const
Definition: prestackeventio.h:151
Duplicator for PreStack events.
Definition: prestackeventio.h:144
Byte-level data interpreter.
Definition: cbvswriter.h:20
void message(const char *)
default: to stderr
od_int64 nrdone_
Definition: prestackeventio.h:135
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
BufferStringSet filestocopy_
Definition: prestackeventio.h:163
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
static const char * sFileType()
Definition: prestackeventio.h:69
static const char * sKeyCSamp()
Definition: prestackeventio.h:76
static const char * sOldHorizonFileName()
Definition: prestackeventio.h:82
uiString message_
Definition: prestackeventio.h:165
od_int64 nrdone_
Definition: prestackeventio.h:103
static const char * sKeyInt16DataChar()
Definition: prestackeventio.h:70
const IOObj * ioobj_
Definition: prestackeventio.h:93
uiString errMsg() const
Definition: prestackeventio.h:157
od_int64 totalNr() const
Definition: prestackeventio.h:119
IOPar auxinfo_
Definition: prestackeventio.h:131
static const char * sKeyFloatDataChar()
Definition: prestackeventio.h:72
uiString errmsg_
Definition: prestackeventio.h:100
bool isEmpty() const
Definition: odstring.h:49
BufferString errmsg_
Definition: horizontracker.h:117
static const char * sKeyNextHorizonID()
Definition: prestackeventio.h:80
static const char * sKeyHorizonRef()
Definition: prestackeventio.h:81
od_int64 nrDone() const
Definition: prestackeventio.h:60
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
const char * errMsg() const
Definition: horizontracker.h:59
od_int64 totalnr_
Definition: prestackeventio.h:102
static const char * sHorizonFileType()
Definition: prestackeventio.h:84
static const char * sKeyNrHorizons()
Definition: prestackeventio.h:78
IOObj * from_
Definition: prestackeventio.h:167
Writer for PreStack events.
Definition: prestackeventio.h:111
Type
Definition: valseriesevent.h:24
od_int64 totalNr() const
Definition: prestackeventio.h:150
uiString errmsg_
Definition: prestackeventio.h:133
bool trigger_
Definition: prestackeventio.h:101
static const char * sHorizonFileVersion()
Definition: prestackeventio.h:85
A EventManager is a set of EventsSet on multiple PreStack gathers, and are identified under the same ...
Definition: prestackevents.h:102
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
uiString nrDoneText() const
Definition: prestackeventio.h:154

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