Calculate Love and Rayleigh dispersion curves and their misfits. More...
#include <CompatModalDispersion.h>
Public Member Functions | |
| CompatModalDispersion () | |
| QGPCOMPATIBILITY_EXPORT CompatDispersionData * | oldStyle () |
Protected Member Functions | |
| virtual const QString & | xml_tagName () const |
Static Protected Attributes | |
| static QGPCOMPATIBILITY_EXPORT const QString | xmlModalDispersionTag = "ModalDispersion" |
Calculate Love and Rayleigh dispersion curves and their misfits.
The main function used to calculate the dispersion curve is calculate().
Misfits can be computed by misfit() or closestModeMisfit().
References QGpCompatibility::CompatModalRefinedCurves::mode(), QGpCompatibility::CompatModalRefinedCurves::nModes(), QGpCompatibility::CompatModalFrequency::nOmegas(), QGpCompatibility::CompatModalFrequency::omega(), QGpCompatibility::CompatMultiModalFrequency::setFrequency(), QGpCompatibility::CompatMultiModalData::setMean(), QGpCompatibility::CompatMultiModalData::setStddev(), QGpCompatibility::CompatMultiModalCurves::setValue(), QGpCompatibility::CompatMultiModalData::setWeight(), and TRACE.
{
TRACE;
int nm=nModes();
int nf=nOmegas();
CompatDispersionData * disp=new CompatDispersionData(nm,nf);
for(int i=0;i<nf;i++) {
disp->setFrequency(i,omega(i)/(2*M_PI));
}
for(int im=0;im<nm;im++) {
CompatVDataPointVector point=mode(im);
for(int i=0;i<nf;i++) {
disp->setMean(i,im,point[i].mean());
disp->setStddev(i,im,point[i].stddev());
disp->setWeight(i,im,point[i].weight());
disp->setValue(i,im,point[i].value());
}
}
return disp;
}
| virtual const QString& QGpCompatibility::CompatModalDispersion::xml_tagName | ( | ) | const [inline, protected, virtual] |
Reimplemented from QGpCompatibility::CompatModalRefinedCurves.
References xmlModalDispersionTag.
{return xmlModalDispersionTag;}
const QString QGpCompatibility::CompatModalDispersion::xmlModalDispersionTag = "ModalDispersion" [static, protected] |
Referenced by xml_tagName().