SWAnisoRoughness.h

Go to the documentation of this file.
00001 #ifndef SWANISOTROUGHNESS_H_
00002 #define SWANISOTROUGHNESS_H_
00003 #include "GeneralObjective.h"
00004 
00005 namespace gplib
00006   {
00007 //! Calculate the roughness for anisotropic SW models
00008 class SWAnisoRoughness: public GeneralObjective
00009 {
00010 private:
00011         double veldiffweight;
00012         double anisovelweight;
00013         double strikediffweight;
00014         double deltastrikediffweight;
00015 public:
00016         //! Regularize the velocity change across the layers. This is zero by default
00017         void SetVelDiffWeight(const double w){veldiffweight =w;}
00018         //! Regularize the anisotropy of the velocities. This is 1 by default
00019         void SetAnisovelWeight(const double w){anisovelweight = w;}
00020         //! Regularize the difference in anisotropy strike across layers. This is zero by default
00021         void SetStrikeDiffWeight(const double w){strikediffweight =w;}
00022         //! Regularize the difference between the seismic and electric strike. This is zero by default
00023         void SetDeltaStrikeDiffWeight(const double w){deltastrikediffweight = w;}
00024         virtual SWAnisoRoughness *clone() const {return new SWAnisoRoughness(*this);}
00025         virtual void SafeParallel(const ttranscribed &member);
00026         virtual double PostParallel(const ttranscribed &member);
00027         SWAnisoRoughness(const SWAnisoRoughness &Old);
00028         SWAnisoRoughness& operator=(const SWAnisoRoughness& source);
00029         SWAnisoRoughness();
00030         virtual ~SWAnisoRoughness();
00031 };
00032 }
00033 #endif /*SWANISOROUGHNESS_H_*/

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