OpendTect  6.3
segyresorter.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: Bert
8  Date: Jul 2008
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seisposkey.h"
14 #include "executor.h"
15 #include "ranges.h"
16 #include "dbkey.h"
17 #include "strmdata.h"
18 #include "bufstringset.h"
19 namespace Pos { class Filter; }
20 namespace PosInfo { class CubeData; class CubeDataPos; }
21 
22 
23 namespace SEGY
24 {
25 class DirectDef;
26 class FileDataSet;
27 class DirectReader;
28 
37 public:
38 
40  {
41  public:
42 
43  Setup(Seis::GeomType gt,const DBKey&,
44  const char* outputfnm);
45 
47  mDefSetupMemb(DBKey,inpkey)
49  mDefSetupMemb(int,newfileeach)
50  mDefSetupMemb(bool,inlnames)
51 
52  Interval<int> getInlRg(int,const PosInfo::CubeData&) const;
53  BufferString getFileName(const Interval<int>&) const;
54 
55  mutable int curfnr_;
56 
57  };
58 
59  ReSorter(const Setup&,const char* linename=0);
60  ~ReSorter();
61 
62  void setFilter(const Pos::Filter&);
63 
64  uiString message() const { return msg_; }
65  uiString nrDoneText() const { return tr("Traces handled"); }
66  od_int64 nrDone() const { return nrdone_; }
67  od_int64 totalNr() const { return totnr_; }
68  int nextStep();
69 
70  const DirectDef& dDef() const;
71  const FileDataSet& fds() const;
72 
73 protected:
74 
75  const Setup setup_;
76 
84 
88 
89  unsigned char hdrbuf_[3600];
90  unsigned char* trcbuf_;
92 
96 
97  int fillBinIDs();
98  int wrapUp();
99  bool getCurPos(BinID&);
100  bool toNext();
101  bool getNext(const BinID&,int&,int&) const;
102  bool createOutput(const BinID&);
103  bool openOutputFile();
104  int ensureFileOpen(int);
105  bool readData(int,int);
106  bool writeData();
107 
108 };
109 
110 } // namespace
#define mExpClass(module)
Definition: commondefs.h:157
uiString nrDoneText() const
Definition: segyresorter.h:65
Seismics.
Definition: segydirectdef.h:20
FixedString Setup()
Definition: keystrs.h:113
FixedString Filter()
Definition: keystrs.h:66
od_int64 totnr_
Definition: segyresorter.h:80
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Definition: segydirectdef.h:32
od_int64 totalNr() const
Definition: segyresorter.h:67
#define od_int64
Definition: plftypes.h:34
unsigned char * trcbuf_
Definition: segyresorter.h:90
TypeSet< BinID > binids_
Definition: segyresorter.h:93
Definition: uistring.h:88
StreamData sdout_
Definition: segyresorter.h:81
SEGY::DirectReader * drdr_
Definition: segyresorter.h:77
Set of BufferString objects.
Definition: bufstringset.h:25
Definition: segyfiledata.h:36
Interval of values.
Definition: commontypes.h:27
ObjectSet< StreamData > inpsds_
Definition: segyresorter.h:85
Decides whether a given position should be included.
Definition: posfilter.h:43
TypeSet< int > fidxs_
Definition: segyresorter.h:86
void message(const char *)
default: to stderr
GeomType
Definition: seistype.h:31
Definition: segyresorter.h:39
Re-sorts SEG-Y files, input must be &#39;scanned&#39;.
Definition: segyresorter.h:35
const Setup setup_
Definition: segyresorter.h:75
bool needwritefilehdrs_
Definition: segyresorter.h:83
Position in a CubeData.
Definition: posinfo.h:74
Holds data to use and close an iostream.
Definition: strmdata.h:29
Position.
Definition: commontypes.h:38
uiString msg_
Definition: segyresorter.h:78
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
Position info, often segmented.
Definition: posinfo.h:38
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
od_int64 nrdone_
Definition: segyresorter.h:79
BufferStringSet inpfnms_
Definition: segyresorter.h:87
Definition: segydirecttr.h:33
Keys that should be used with od_process_segyio.cc.
Definition: segybatchio.h:18
PosInfo::CubeDataPos & cdp_
Definition: segyresorter.h:94
od_int64 trcbytes_
Definition: segyresorter.h:91
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Pos::Filter * posfilt_
Definition: segyresorter.h:95
Interval< int > curinlrg_
Definition: segyresorter.h:82
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
od_int64 nrDone() const
Definition: segyresorter.h:66

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