• Main Page
  • Namespaces
  • Classes
  • Files
  • File List

seistrcprop.h

00001 #ifndef seistrcprop_h
00002 #define seistrcprop_h
00003 
00004 /*+
00005 ________________________________________________________________________
00006 
00007  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
00008  Author:        A.H. Bril
00009  Date:          10-5-1995
00010  RCS:           $Id: seistrcprop.h,v 1.11 2009-07-22 16:01:18 cvsbert Exp $
00011 ________________________________________________________________________
00012 
00013 -*/
00014 
00015 #include "seistype.h"
00016 #include "valseriesevent.h"
00017 class SeisTrc;
00018 #define mFlValSerEv ValueSeriesEvent<float,float>
00019 
00022 mClass SeisTrcPropCalc
00023 {
00024 public:
00025                 SeisTrcPropCalc( const SeisTrc& t, int ic=0 )
00026                 : trc(t), curcomp(ic)           {}
00027 
00028     void        setComponent( int i )           { curcomp = i; }
00029 
00030     ValueSeriesEvent<float,float>
00031                 find(VSEvent::Type,Interval<float>,int occ=1) const;
00032     double      corr(const SeisTrc&,const SampleGate&,bool alpick=false) const;
00033     double      dist(const SeisTrc&,const SampleGate&,bool alpick=false) const;
00034     float       getFreq(int isamp) const;
00035     float       getPhase(int isamp) const;
00036 
00037     const SeisTrc&      trace() const           { return trc; }
00038 
00039 protected:
00040 
00041     const SeisTrc&      trc;
00042     int                 curcomp;
00043 
00044 };
00045 
00050 mClass SeisTrcPropChg : public SeisTrcPropCalc
00051 {
00052 public:
00053                 SeisTrcPropChg( SeisTrc& t, int ic=-1 )
00054                 : SeisTrcPropCalc(t,ic)         {}
00055 
00056     void        stack(const SeisTrc&,bool alongref=false,float wght=1);
00057     void        scale(float fac,float shft=0);
00058     void        normalize(bool aroundzero);
00059     void        corrNormalize();
00060     void        removeDC();
00061     void        mute(float pos,float taperlen)          {topMute(pos,taperlen);}
00062     void        topMute(float,float);
00063     void        tailMute(float,float);
00064 
00065     SeisTrc&    trace()                                 { return mtrc(); }
00066 
00067 protected:
00068 
00069     inline SeisTrc&     mtrc()  { return const_cast<SeisTrc&>(trc); }
00070 
00071 };
00072 
00073 
00074 #endif

Generated on Tue Nov 30 2010 for Seis by  doxygen 1.7.1