12 const int myshift,
const double mysigma,
const double myc,
14 const bool normalized) :
16 normalized), CalcAbsVel(mysigma, myc, method), MeasuredAbsVel(AbsVel)
24 Old.MeasuredAbsVel), SynthAbsVel(Old.SynthAbsVel)
26 recweight = Old.recweight;
27 absvelweight = Old.absvelweight;
36 CalcAbsVel = source.CalcAbsVel;
37 MeasuredAbsVel = source.MeasuredAbsVel;
38 SynthAbsVel = source.SynthAbsVel;
39 recweight = source.recweight;
40 absvelweight = source.absvelweight;
52 returnvalue *= recweight;
59 RecCalculator.GetVerComp());
65 const unsigned int nrec =
GetMisfit().size();
69 tmisfit LocalMisfit(nrec + nvel);
70 tdata LocalData(nrec + nvel);
78 for (
unsigned int i = 0; i < nvel; ++i)
89 unsigned int ndata = 0;
94 divisor = nrec * recweight + nvel * absvelweight;
99 divisor = ndata * absvelweight;
const trealdata & GetPeriods() const
Read-only access to the vector of periods for the phase velocities.
trfmethod
There are several ways to calculate receiver functions.
ublas::vector< double > ttranscribed
virtual double PostParallel(const ttranscribed &member)
We also clean up files serially.
AbsVelRecObjective & operator=(const AbsVelRecObjective &source)
AbsVelRecObjective(const AbsVelRecObjective &Old)
const trealdata & GetPhaseVelocities() const
Read-only access to the vector of phase velocities.
A class to read, write and store fundamental mode surface wave dispersion data.
int GetFitExponent()
Get the Fit exponent.
const tdata & GetSynthData()
Return the current synthetic data.
double CalcMisfit(const double measured, const double predicted, const double measerror, const double errorlevel, const int index)
virtual double PostParallel(const ttranscribed &member)
We also clean up files serially.
void CalcRFVel(const double slowness, const SeismicDataComp &RadComp, const SeismicDataComp &VerComp, ttsdata &AppVel)
Calculate absolute velocities from the radial and vertical components of the seismogram.
trealdata & SetPeriods()
Read-write access to periods, the format might be changed in the future.
double GetRMS()
Get the current RMS.
ublas::vector< double > tmisfit
const tmisfit & GetMisfit()
Return the misfit vector.
tdata & SetSynthData()
Only derived classes can write access the Synthetic data.
tmisfit & SetMisfit()
Only derived classes can write access the Misfit.
virtual ~AbsVelRecObjective()
This objective function calculates the weighted misfit for a receiver function and the corresponding ...
ublas::vector< double > tdata
Calculate the misfit between observed receiver function for a given 1D model by calculating a synthet...
C1DRecObjective & operator=(const C1DRecObjective &source)
void SetRMS(const double x)
trealdata & SetPhaseVelocities()
Read-write access to phase velocities, the format might be changed in the future. ...