AnisoSurfaceWaveSynthetic.h

Go to the documentation of this file.
00001 #ifndef ANISOSURFACEWAVESYNTHETIC_H_
00002 #define ANISOSURFACEWAVESYNTHETIC_H_
00003 
00004 #include "ParkSurfaceWaveData.h"
00005 #include "AnisoSurfaceWaveModel.h"
00006 #include <string>
00007 #include <boost/shared_ptr.hpp>
00008 
00009 #include "types.h"
00010 
00011 namespace gplib
00012   {
00013     /** \addtogroup seistools Seismic data analysis and modeling */
00014     /* @{ */
00015 //! Calculate synthetic anisotropic surface wave data
00016 class AnisoSurfaceWaveSynthetic
00017   {
00018 private:
00019   trealdata calculationperiods;
00020   boost::shared_ptr<const AnisoSurfaceWaveModel> Model;
00021   ParkSurfaceWaveData SynthData;
00022 public:
00023   const ParkSurfaceWaveData &GetSynthData() const
00024     {
00025       return SynthData;
00026     }
00027   const AnisoSurfaceWaveModel &GetModel() const
00028     {
00029       return *Model.get();
00030     }
00031   void SetModel(const boost::shared_ptr<AnisoSurfaceWaveModel> m)
00032     {
00033       Model = m;
00034     }
00035   void WriteModel(const std::string &filename) const
00036     {
00037       Model->WriteModel(filename);
00038     }
00039   void WritePlot(const std::string &filename) const
00040     {
00041       Model->WritePlot(filename);
00042     }
00043   void PreParallel(const std::string &filename);
00044   ParkSurfaceWaveData SafeParallel(const std::string &filename);
00045   ParkSurfaceWaveData GetSynthData(const std::string &filename);
00046   AnisoSurfaceWaveSynthetic();
00047   virtual ~AnisoSurfaceWaveSynthetic();
00048   };
00049 /* @} */
00050   }
00051 #endif /*ANISOSURFACEWAVESYNTHETIC_H_*/

Generated on Tue May 4 16:52:14 2010 for GPLIB++ by  doxygen 1.5.8