21 template <
class T>
class Array1D;
38 { data_.addComponent(ns,dc); }
43 SeisTrc& operator =(
const SeisTrc& t);
44 inline bool isEmpty()
const {
return data_.isEmpty(); }
52 inline void set(
int idx,
float v,
int icomp )
53 { data_.setValue( idx, v, icomp ); }
54 inline float get(
int idx,
int icomp )
const 55 {
return data_.getValue(idx,icomp); }
57 {
return isEmpty() ? 0 :
get(0,icomp); }
59 {
return isEmpty() ? 0 :
get(size()-1,icomp); }
62 {
return data_.size(0); }
63 float getValue(
float,
int icomp)
const;
65 bool isNull(
int icomp=-1)
const;
66 bool hasUndef(
int icomp=-1)
const;
67 inline void zero(
int icomp=-1 )
68 { data_.zero( icomp ); }
72 bool cleardata=
false )
73 { data_.addComponent( ns, dc, cleardata ); }
75 { data_.delComponent( icomp ); }
76 bool reSize(
int,
bool copydata);
77 void erase() { reSize( 0,
false); }
78 void copyDataFrom(
const SeisTrc&,
int icomp=-1,
79 bool forcefloats=
false);
87 {
return info_.sampling_.start; }
89 {
return info_.sampling_.atIndex( size()-1 ); }
91 {
return info_.sampling_.step; }
93 {
return ZSampling(startPos(),endPos(),stepPos()); }
95 {
return info_.samplePos(idx); }
97 {
return info_.nearestSample(pos); }
99 { info_.sampling_.start = p; }
101 {
return info_.dataPresent(t,size()); }
104 SeisTrc* getRelTrc(
const ZGate&,
float sr=
mUdf(
float))
const;
107 SeisTrc* getExtendedTo(
const ZGate&,
bool usetrcvals=
true)
const;
112 void convertToFPs(
bool preserve_data=
true);
115 {
return "Extend Traces To Survey Z Range"; }
123 bool chkForSpecVal(
int icomp,
bool isnull)
const;
143 : trc_(const_cast<SeisTrc&>(t))
151 const float*
arr()
const;
175 : trc_(trc), icomp_(icomp) {}
177 float getValue(
float z )
const {
return trc_.getValue(z,icomp_); }
virtual ValueSeries< T > * clone() const =0
Array1D ( Subclass of ArrayND ) is a one dimensional array.
Definition: arraynd.h:97
void zero(int icomp=-1)
Definition: seistrc.h:67
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
T value(int64_t i) const
Definition: arraynd.h:109
void setStartPos(float p)
Definition: seistrc.h:98
const TraceData & data() const
Definition: seistrc.h:49
Definition: seistrc.h:170
int nrComponents() const
Definition: seistrc.h:50
void erase()
Definition: seistrc.h:77
TraceData & data()
Definition: seistrc.h:48
float samplePos(int idx) const
Definition: seistrc.h:94
const int icomp_
Definition: seistrc.h:183
Definition: seistrc.h:138
SeisTrcInfo info_
Definition: seistrc.h:120
#define od_int64
Definition: plftypes.h:34
int nearestSample(float pos) const
Definition: seistrc.h:96
SeisTrcValueSeries(const SeisTrc &t, int c)
Definition: seistrc.h:142
Mathematical function.
Definition: mathfunc.h:59
bool writable() const
Definition: seistrc.h:148
void removeComponent(int icomp)
Definition: seistrc.h:74
float startPos() const
Definition: seistrc.h:86
const SeisTrcInfo & info() const
Definition: seistrc.h:47
int icomp_
Definition: seistrc.h:160
SeisTrc(int ns=0, const DataCharacteristics &dc=DataCharacteristics())
Definition: seistrc.h:35
StepInterval< float > ZSampling
Definition: ranges.h:200
byte-level data characteristics of stored data.
Definition: datachar.h:35
SeisTrc & trc_
Definition: seistrc.h:159
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Interface to a series of values.
Definition: odmemory.h:15
float getValue(const float *p) const
Definition: seistrc.h:178
Definition: valseriesinterpol.h:24
void addComponent(int ns=0, const DataCharacteristics &dc=DataCharacteristics(), bool cleardata=false)
Definition: seistrc.h:69
SeisTrcFunction(const SeisTrc &trc, int icomp)
Definition: seistrc.h:174
float endPos() const
Definition: seistrc.h:88
bool dataPresent(float t) const
Definition: seistrc.h:100
float stepPos() const
Definition: seistrc.h:90
float getLast(int icomp=0) const
Definition: seistrc.h:58
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:24
bool isEmpty() const
Definition: seistrc.h:44
const SeisTrc & trc_
Definition: seistrc.h:182
ZSampling zRange() const
Definition: seistrc.h:92
bool isEmpty(const char *)
float getValue(float z) const
Definition: seistrc.h:177
Seismic trace.
Definition: seistrc.h:31
ValueSeries< float > * clone() const
Definition: seistrc.h:186
int size() const
Definition: seistrc.h:61
PtrMan< ValueSeriesInterpolator< float > > intpol_
Definition: seistrc.h:121
void setValue(int64_t i, T t)
Definition: arraynd.h:111
A set of data buffers and their interpreters.
Definition: tracedata.h:30
SeisTrc(const SeisTrc &t)
Definition: seistrc.h:39
static const char * sKeyExtTrcToSI()
Definition: seistrc.h:114
virtual T * arr()
Definition: valseries.h:48
void setComponent(int idx)
Definition: seistrc.h:146
SeisTrcInfo & info()
Definition: seistrc.h:46
TraceData data_
Definition: seistrc.h:119
float getFirst(int icomp=0) const
Definition: seistrc.h:56