00001 #ifndef MULTIRECCALC_H_ 00002 #define MULTIRECCALC_H_ 00003 #include "SeismicDataComp.h" 00004 #include "SeismicStationList.h" 00005 00006 namespace gplib 00007 { 00008 /** \addtogroup seistools Seismic data analysis and modeling */ 00009 /* @{ */ 00010 00011 //! This class implements the multi-site receiver function calculation in the frequency domain as suggested by Gurrolla 1995 00012 class MultiRecCalc 00013 { 00014 private: 00015 //! The waterlevel to fill in spectral holes 00016 double c; 00017 //! The width of the gaussian filter to smooth the receiver functions 00018 double sigma; 00019 //! Shift the data to move the initial correlation peak 00020 int shift; 00021 //! Calculate the receiver function by spectral division 00022 public: 00023 //! Calculate Receiver functions from a vector of data components, both vectors have to have the same number of elements 00024 //! and the seismograms have to have the same length 00025 void CalcRecData(const SeismicStationList::tseiscompvector &RadComp, 00026 const SeismicStationList::tseiscompvector &VerComp, 00027 SeismicDataComp &Receiver); 00028 MultiRecCalc(const int myshift, const double mysigma, const double myc); 00029 virtual ~MultiRecCalc(); 00030 }; 00031 /* @} */ 00032 } 00033 #endif /*MULTIRECCALC_H_*/
1.5.8