All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions | Protected Attributes | Friends
QGpCompatibility::CompatMultiModalFrequency Class Reference

#include <CompatMultiModalFrequency.h>

Inheritance diagram for QGpCompatibility::CompatMultiModalFrequency:
QGpCompatibility::CompatAutocorrCurves QGpCompatibility::CompatMultiModalCurves QGpCompatibility::CompatAutocorrData QGpCompatibility::CompatDispersion QGpCompatibility::CompatEllipticity QGpCompatibility::CompatHodoChrone QGpCompatibility::CompatDispersionData QGpCompatibility::CompatEllipticityData QGpCompatibility::CompatHodoChroneData

List of all members.

Public Member Functions

 CompatMultiModalFrequency ()
 Default constructor.
 CompatMultiModalFrequency (int modesCount, int omegasCount)
 Constructor.
 CompatMultiModalFrequency (const CompatMultiModalFrequency *o)
 Copy constructor.
 CompatMultiModalFrequency (const CompatMultiModalFrequency *o, int modesCount)
 Copy constructor changing the number of modes.
QVector< double > * frequencies ()
 Returns the frequencies.
bool isSameOmegas (const CompatMultiModalFrequency *o) const
 Copmpares two objects.
int modesCount () const
 Returns the omega count.
double omega (int i) const
 Returns the ith omega.
int omegasCount () const
 Returns the omega count.
void omegaToReport (QDataStream &s) const
 Prints the _omegas to the binary stream (usually the inversion_report)
QVector< double > * periods ()
 Returns the periods.
void reportToOmega (QDataStream &s)
 Loads the _omega from the binary stream (usually the inversion_report)
void setFrequencies (QVector< double > *values)
void setFrequency (int i, double f)
void setPeriods (QVector< double > *values)
virtual ~CompatMultiModalFrequency ()
 Destructor: get rid of all unused memory.

Protected Attributes

double _freq2omega
int _modesCount
 Number of modes.
double * _omegas
 Storage for omegas where to calculate the dispersion.
int _omegasCount
 Number of omegas where to calculate the dispersion.

Friends

class CompatMultiModalData

Constructor & Destructor Documentation

Default constructor.

References _freq2omega, _modesCount, _omegas, _omegasCount, and TRACE.

Constructor.

References _freq2omega, _modesCount, _omegas, _omegasCount, modesCount(), omegasCount(), and TRACE.

{
  TRACE;
  _modesCount=modesCount;
  _omegasCount=omegasCount;
  // Allocates memory for omegas
  _omegas=new double[_omegasCount];
  _freq2omega=2*M_PI;
}

Copy constructor.

References _freq2omega, _modesCount, _omegas, _omegasCount, modesCount(), omega(), omegasCount(), and TRACE.

{
  TRACE;
  _modesCount=o->modesCount();
  _omegasCount=o->omegasCount();
  // Allocates memory for omegas
  _omegas=new double[_omegasCount];
  // Copy omegas
  for(int i=0;i<_omegasCount;i++)  _omegas[i]=o->omega(i);
  _freq2omega=2*M_PI;
}

Copy constructor changing the number of modes.

References _freq2omega, _modesCount, _omegas, _omegasCount, modesCount(), omega(), and TRACE.

{
  TRACE;
  _modesCount=modesCount;
  _omegasCount=o->_omegasCount;
  // Allocates memory for omegas
  _omegas=new double[_omegasCount];
  // Copy omegas
  for(int i=0;i<_omegasCount;i++) _omegas[i]=o->omega(i);
  _freq2omega=2*M_PI;
}

Destructor: get rid of all unused memory.

References _omegas, and TRACE.

{
  TRACE;
  delete [] _omegas;
}

Member Function Documentation

Returns the frequencies.

References _freq2omega, _omegas, and _omegasCount.

{
  QVector<double> * list=new QVector<double>;
  list->reserve(_omegasCount);
  for(int i=0;i<_omegasCount;i++)
    list->push_back(_omegas[i]/_freq2omega);
  return list;
}

Copmpares two objects.

References _omegas, _omegasCount, and TRACE.

Referenced by QGpCompatibility::CompatInversionReport::isSameOmegas().

{
  TRACE;
  if(_omegasCount!=o->_omegasCount) return false;
  for(int i=0;i<_omegasCount;i++) {
    if(_omegas[i]!=o->_omegas[i]) return false;
  }
  return true;
}
double QGpCompatibility::CompatMultiModalFrequency::omega ( int  i) const [inline]

Returns the ith omega.

Referenced by CompatMultiModalFrequency().

{return _omegas[i];}

Prints the _omegas to the binary stream (usually the inversion_report)

References _modesCount, _omegas, _omegasCount, and TRACE.

Referenced by QGpCompatibility::CompatInversionReport::addOmegas().

{
  TRACE;
  s << _modesCount;
  s << _omegasCount;  
  for(int i=0;i<_omegasCount;i++) s << _omegas[i];
}

Returns the periods.

References _freq2omega, _omegas, and _omegasCount.

{
  QVector<double> * list=new QVector<double>;
  list->reserve(_omegasCount);
  for(int i=0;i<_omegasCount;i++)
    list->push_back(_freq2omega/_omegas[i] );
  return list;
}

Loads the _omega from the binary stream (usually the inversion_report)

Reimplemented in QGpCompatibility::CompatAutocorrCurves, and QGpCompatibility::CompatMultiModalCurves.

References _modesCount, _omegas, _omegasCount, and TRACE.

{
  TRACE;
  s >> _modesCount;
  s >> _omegasCount;
  delete [] _omegas;
  _omegas=new double[_omegasCount];
  for(int i=0;i<_omegasCount;i++) s >> _omegas[i];
}

The list of omegas is generated from a QVector filled in by frequencies The easiest way is to create a CompatFunction and call this function passing a pointer to x() as parameter. Don't forget to use inverse() if necessary, make sure you pass a frequency vector as argument to this function. the number of values must be equal to _omegasCount

References _freq2omega, _omegas, _omegasCount, and TRACE.

{
  TRACE;
  ASSERT (_omegasCount==(int)values->size());
  for(int i=0;i<_omegasCount;i++) _omegas[i]=_freq2omega*(*values)[i];
  ASSERT (_omegas[0]<_omegas[_omegasCount-1]);
}
void QGpCompatibility::CompatMultiModalFrequency::setFrequency ( int  i,
double  f 
) [inline]

The list of omegas is generated from a QVector filled in by periods The easiest way is to create a CompatFunction and call this function passing a pointer to x() as parameter. Don't forget to use inverse() if necessary, make sure you pass a period vector as argument to this function. the number of values must be equal to _omegasCount

References _freq2omega, _omegas, _omegasCount, and TRACE.

{
  TRACE;
  ASSERT (_omegasCount==(int)values->size());
  for(int i=0;i<_omegasCount;i++) _omegas[_omegasCount-i-1]=_freq2omega/(*values)[i];
  ASSERT (_omegas[0]<_omegas[_omegasCount-1]);
}

Friends And Related Function Documentation

friend class CompatMultiModalData [friend]

Member Data Documentation

Conversion factor from frequency to omega, this structure has been original developped for storing frequency dependent modal curves, currently extended to any collection of curves with common sample set

Referenced by QGpCompatibility::CompatHodoChrone::CompatHodoChrone(), CompatMultiModalFrequency(), frequencies(), periods(), setFrequencies(), setPeriods(), QGpCompatibility::CompatMultiModalCurves::toPointVector(), and QGpCompatibility::CompatMultiModalCurves::toStream().

Number of modes.

Referenced by QGpCompatibility::CompatAutocorrData::allocatesData(), QGpCompatibility::CompatMultiModalCurves::allocatesValues(), QGpCompatibility::CompatAutocorrCurves::allocatesValues(), QGpCompatibility::CompatAutocorrCurves::calculate(), QGpCompatibility::CompatDispersion::checkSlopes(), QGpCompatibility::CompatMultiModalCurves::clear(), QGpCompatibility::CompatDispersionData::closestModeMisfit(), QGpCompatibility::CompatAutocorrCurves::CompatAutocorrCurves(), QGpCompatibility::CompatAutocorrData::CompatAutocorrData(), QGpCompatibility::CompatMultiModalCurves::CompatMultiModalCurves(), CompatMultiModalFrequency(), QGpCompatibility::CompatAutocorrData::dataToReport(), QGpCompatibility::CompatAutocorrData::deleteData(), QGpCompatibility::CompatMultiModalCurves::deleteValues(), QGpCompatibility::CompatAutocorrCurves::deleteValues(), QGpCompatibility::CompatAutocorrData::distanceMeasurements(), QGpCompatibility::CompatAutocorrData::distanceStddev(), QGpCompatibility::CompatAutocorrData::isSameData(), QGpCompatibility::CompatAutocorrData::measurements(), QGpCompatibility::CompatDispersionData::misfit(), omegaToReport(), QGpCompatibility::CompatAutocorrData::reportToData(), QGpCompatibility::CompatAutocorrData::reportToDataWeight(), reportToOmega(), QGpCompatibility::CompatMultiModalCurves::reportToValues(), QGpCompatibility::CompatAutocorrCurves::reportToValues(), QGpCompatibility::CompatAutocorrCurves::resetAutocorr(), QGpCompatibility::CompatEllipticity::resetValues(), QGpCompatibility::CompatDispersion::resetValues(), QGpCompatibility::CompatAutocorrCurves::resetValues(), QGpCompatibility::CompatMultiModalCurves::setValues(), QGpCompatibility::CompatAutocorrData::stddev(), QGpCompatibility::CompatAutocorrCurves::toDistancePointVector(), QGpCompatibility::CompatMultiModalCurves::toPointVector(), QGpCompatibility::CompatAutocorrCurves::toPointVector(), QGpCompatibility::CompatAutocorrCurves::toStream(), QGpCompatibility::CompatMultiModalCurves::toStream(), QGpCompatibility::CompatAutocorrData::valuesToData(), QGpCompatibility::CompatMultiModalCurves::valuesToReport(), QGpCompatibility::CompatAutocorrCurves::valuesToReport(), and QGpCompatibility::CompatAutocorrData::weight().

Number of omegas where to calculate the dispersion.

Referenced by QGpCompatibility::CompatAutocorrData::allocatesData(), QGpCompatibility::CompatMultiModalCurves::allocatesValues(), QGpCompatibility::CompatAutocorrCurves::allocatesValues(), QGpCompatibility::CompatAutocorrCurves::calculate(), QGpCompatibility::CompatHodoChroneData::calculate(), QGpCompatibility::CompatDispersion::checkSlopes(), QGpCompatibility::CompatMultiModalCurves::clear(), QGpCompatibility::CompatDispersionData::closestModeMisfit(), QGpCompatibility::CompatAutocorrData::CompatAutocorrData(), QGpCompatibility::CompatMultiModalCurves::CompatMultiModalCurves(), CompatMultiModalFrequency(), QGpCompatibility::CompatAutocorrData::dataToReport(), QGpCompatibility::CompatAutocorrData::distanceMeasurements(), QGpCompatibility::CompatAutocorrData::distanceStddev(), frequencies(), QGpCompatibility::CompatAutocorrData::isSameData(), isSameOmegas(), QGpCompatibility::CompatAutocorrData::measurements(), QGpCompatibility::CompatDispersionData::misfit(), QGpCompatibility::CompatDispersion::omegasCount(), QGpCompatibility::CompatAutocorrCurves::omegasCount(), omegaToReport(), periods(), QGpCompatibility::CompatAutocorrData::reportToData(), QGpCompatibility::CompatAutocorrData::reportToDataWeight(), reportToOmega(), QGpCompatibility::CompatMultiModalCurves::reportToValues(), QGpCompatibility::CompatAutocorrCurves::resetAutocorr(), QGpCompatibility::CompatEllipticity::resetValues(), QGpCompatibility::CompatDispersion::resetValues(), QGpCompatibility::CompatAutocorrCurves::resetValues(), setFrequencies(), setPeriods(), QGpCompatibility::CompatHodoChroneData::setSource(), QGpCompatibility::CompatMultiModalCurves::setValues(), QGpCompatibility::CompatAutocorrData::stddev(), QGpCompatibility::CompatAutocorrCurves::toDistancePointVector(), QGpCompatibility::CompatMultiModalCurves::toPointVector(), QGpCompatibility::CompatAutocorrCurves::toPointVector(), QGpCompatibility::CompatMultiModalCurves::toStream(), QGpCompatibility::CompatAutocorrCurves::toStream(), QGpCompatibility::CompatAutocorrData::valuesToData(), QGpCompatibility::CompatMultiModalCurves::valuesToReport(), QGpCompatibility::CompatAutocorrCurves::valuesToReport(), and QGpCompatibility::CompatAutocorrData::weight().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines