7 conddiffweight(), anisotropyweight(), strikediffweight()
17 const unsigned int length = member.size() / 4;
18 double roughness = std::abs(member(2 * length));
20 const double anglescale = 90.;
21 for (
unsigned int i = 1; i < length; ++i)
23 roughness += conddiffweight * std::pow((member(i) - member(i - 1)),
25 roughness += anisotropyweight * std::pow(std::abs(member(i + 2
27 roughness += strikediffweight * std::pow((member(i + 3 * length))
28 / anglescale, fitexp);
30 SetRMS(std::pow(roughness, 1. / fitexp));
40 anisotropyweight(Old.anisotropyweight), strikediffweight(
51 conddiffweight = source.conddiffweight;
52 anisotropyweight = source.anisotropyweight;
53 strikediffweight = source.strikediffweight;
virtual double PostParallel(const ttranscribed &member)
Some operations cannot be done in parallel, these are done after, returns the misfit value...
ublas::vector< double > ttranscribed
Caclulate the roughness for anisotropic MT models.
virtual void SafeParallel(const ttranscribed &member)
The core performance calculation, has to be safe to be done in parallel.
virtual ~MTAnisoRoughness()
GeneralObjective & operator=(const GeneralObjective &source)
int GetFitExponent()
Get the Fit exponent.
double GetRMS()
Get the current RMS.
MTAnisoRoughness & operator=(const MTAnisoRoughness &source)
The basic object for any objective function, mainly an interface class and some storage.
void SetRMS(const double x)