OpendTect  6.3
seisinfo.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: A.H. Bril
8  Date: 25-10-1996
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seisposkey.h"
14 #include "samplingdata.h"
15 #include "position.h"
16 #include "ranges.h"
17 #include "enums.h"
18 class SeisTrc;
19 class PosAuxInfo;
20 
21 
25 {
26 public:
27 
29 
30  SeisTrcInfo();
31  SeisTrcInfo(const SeisTrcInfo&);
32  SeisTrcInfo& operator =(const SeisTrcInfo&);
33 
37  float offset_;
38  float azimuth_;
39  float refnr_;
40  float pick_;
41 
42  inline bool is2D() const { return trckey_.is2D(); }
43  inline Pos::SurvID survID() const { return trckey_.survID(); }
44  inline const BinID& binID() const { return trckey_.binID(); }
45  inline IdxType lineNr() const { return trckey_.lineNr(); }
46  inline IdxType trcNr() const { return trckey_.trcNr(); }
47  inline SeisTrcInfo& setBinID( const BinID& bid )
48  { trckey_.setBinID(bid); return *this; }
49  inline SeisTrcInfo& setLineNr( IdxType lnr )
50  { trckey_.setLineNr(lnr); return *this; }
51  inline SeisTrcInfo& setTrcNr( IdxType tnr )
52  { trckey_.setTrcNr(tnr); return *this; }
53 
54  int nearestSample(float pos) const;
55  float samplePos( int idx ) const
56  { return sampling_.atIndex( idx ); }
57  SampleGate sampleGate(const Interval<float>&) const;
58  bool dataPresent(float pos,int trcsize) const;
59 
60  enum Fld { TrcNr=0, Pick, RefNr,
61  CoordX, CoordY, BinIDInl, BinIDCrl,
64  double getValue(Fld) const;
65  static void getAxisCandidates(Seis::GeomType,TypeSet<Fld>&);
66  int getDefaultAxisFld(Seis::GeomType,
67  const SeisTrcInfo* next) const;
68  void getInterestingFlds(Seis::GeomType,IOPar&) const;
69  void setPSFlds(const Coord& rcvpos,const Coord& srcpos,
70  bool setpos=false);
71 
72  static const char* sKeySamplingInfo;
73  static const char* sKeyNrSamples;
74  static float defaultSampleInterval(bool forcetime=false);
75 
76  Seis::PosKey posKey(Seis::GeomType) const;
77  void setPosKey(const Seis::PosKey&);
78  void putTo(PosAuxInfo&) const;
79  void getFrom(const PosAuxInfo&);
80  void fillPar(IOPar&) const;
81  void usePar(const IOPar&);
82 
83  float zref_; // not stored
84 
86  mDeprecated SamplingData<float>& sampling;
87  mDeprecated IdxType& nr;
91  mDeprecated float& pick;
94 
95 };
IdxPair::IdxType IdxType
Definition: seisinfo.h:28
#define mExpClass(module)
Definition: commondefs.h:157
IdxType lineNr() const
Definition: seisinfo.h:45
Seismics.
Definition: segydirectdef.h:20
TrcKey & setBinID(const BinID &bid)
Definition: trckey.h:83
IdxType trcNr() const
Definition: seisinfo.h:46
IdxType lineNr() const
Definition: trckey.h:72
Definition: seisinfo.h:62
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
mDeprecated float & refnr
Old syntax. Will be deprecated.
Definition: posauxinfo.h:74
SeisTrcInfo & setLineNr(IdxType lnr)
Definition: seisinfo.h:49
bool is2D() const
Definition: seisinfo.h:42
Coord coord_
Definition: seisinfo.h:35
SamplingData< float > sampling_
Definition: seisinfo.h:36
const BinID & binID() const
Definition: trckey.h:74
float refnr_
Definition: seisinfo.h:39
float samplePos(int idx) const
Definition: seisinfo.h:55
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
SeisTrcInfo & setBinID(const BinID &bid)
Definition: seisinfo.h:47
mDeprecated Coord & coord
Old syntax. Will be deprecated.
Definition: posauxinfo.h:69
T atIndex(IT) const
Definition: samplingdata.h:156
SurvID survID() const
Definition: trckey.h:67
GeomType
Definition: seistype.h:31
float pick_
Definition: seisinfo.h:40
float azimuth_
Definition: seisinfo.h:38
Set of (small) copyable elements.
Definition: commontypes.h:26
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Index_Type SurvID
Definition: commontypes.h:45
Fld
Definition: seisinfo.h:60
mDeprecated float & pick
Old syntax. Will be deprecated.
Definition: posauxinfo.h:73
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:24
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
mDeprecated float & offset
Old syntax. Will be deprecated.
Definition: posauxinfo.h:71
TrcKey trckey_
Definition: seisinfo.h:34
#define mDeprecated
Definition: plfdefs.h:213
Pos::SurvID survID() const
Definition: seisinfo.h:43
TrcKey & setTrcNr(IdxType nr)
Definition: trckey.h:81
Index_Type IdxType
Definition: idxpair.h:32
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Auxiliary data possibly needed at location. Mostly a seismic thing.
Definition: posauxinfo.h:21
Seismic trace.
Definition: seistrc.h:31
Definition: picklocation.h:19
float offset_
Definition: seisinfo.h:37
IdxType trcNr() const
Definition: trckey.h:73
bool is2D() const
Definition: trckey.h:45
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
Definition: seisinfo.h:61
2D point or vector class.
Definition: commontypes.h:58
TrcKey & setLineNr(IdxType nr)
Definition: trckey.h:79
const BinID & binID() const
Definition: seisinfo.h:44
mDeprecated float & azimuth
Old syntax. Will be deprecated.
Definition: posauxinfo.h:72
SeisTrcInfo & setTrcNr(IdxType tnr)
Definition: seisinfo.h:51
Definition: seistype.h:53
mDeprecated BinID & binid
Old syntax. Will be deprecated.
Definition: posauxinfo.h:68

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