All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
QGpGuiWave::EllipticityProxy Class Reference

Brief description of class still missing. More...

#include <EllipticityProxy.h>

Inheritance diagram for QGpGuiWave::EllipticityProxy:
QGpGuiWave::ModalProxy SciFigs::CurveBrowserProxy

List of all members.

Public Member Functions

virtual CurveBrowserProxyclone () const
virtual int columnCount () const
virtual QStringList columnFileTypes () const
virtual QString columnName (int col) const
virtual QString columnUnit (int col) const
virtual QVariant columnValue (int sample, int col) const
virtual QVector< int > defaultColumnFileTypes () const
virtual void parse (ColumnTextIterator &it)
virtual QVector< int > savedColumns () const
virtual void setColumnValue (int sample, int col, const QVariant &value)
virtual void setYAxisProperties (Axis *a)
virtual QString tag () const
virtual int xAxisColumn () const
virtual int xAxisInversedColumn () const
virtual int yAxisColumn () const
virtual int yAxisInversedColumn () const

Detailed Description

Brief description of class still missing.

Full description of class still missing


Member Function Documentation

virtual CurveBrowserProxy* QGpGuiWave::EllipticityProxy::clone ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return new EllipticityProxy;}
virtual int QGpGuiWave::EllipticityProxy::columnCount ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return 6;}
QStringList QGpGuiWave::EllipticityProxy::columnFileTypes ( ) const [virtual]

Implements SciFigs::CurveBrowserProxy.

References QGpCoreTools::tr(), and TRACE.

{
  TRACE;
  static QStringList types;
  if(types.isEmpty()) {
    types << tr("Frequency (Hz)")         // 1
          << tr("Period (s)")             // 2
          << tr("Ellipticity (H/V)")      // 3
          << tr("Ellipticity log(H/V)")   // 4
          << tr("Ellipticity (V/H)")      // 5
          << tr("Ellipticity log(V/H)")   // 6
          << tr("log(H/V) stddev")        // 7
          << tr("H/V stddev (approx.)")   // 8
          << tr("H/V*stddev")             // 9
          << tr("H/V/stddev")             // 10
          << tr("Weight");                // 11
  }
  return types;
}
QString QGpGuiWave::EllipticityProxy::columnName ( int  col) const [virtual]

Implements SciFigs::CurveBrowserProxy.

References QGpCoreTools::tr(), and TRACE.

{
  TRACE;
  switch(col) {
    case 0: return tr("Frequency");
    case 1: return tr("Period");
    case 2: return tr("Ellipticity (H/V)");
    case 3: return tr("Ellipticity (V/H)");
    case 4: return tr("Stddev (H/V)");
    case 5: return tr("Weight");
    default: return QString::null;
  }
}
QString QGpGuiWave::EllipticityProxy::columnUnit ( int  col) const [virtual]

Implements SciFigs::CurveBrowserProxy.

References QGpCoreTools::tr(), and TRACE.

{
  TRACE;
  switch(col) {
    case 0: return tr("Hz");
    case 1: return tr("s");
    default: return QString::null;
  }
}
QVariant QGpGuiWave::EllipticityProxy::columnValue ( int  sample,
int  col 
) const [virtual]

Implements SciFigs::CurveBrowserProxy.

References QGpGuiWave::ModalProxy::curve(), QGpCoreTools::StatisticalValue< numberType >::mean(), QGpCoreTools::StatisticalValue< numberType >::stddev(), TRACE, QGpCoreTools::StatisticalValue< numberType >::weight(), and QGpCoreTools::StatisticalPoint< numberType >::x().

{
  TRACE;
  const FactoryPoint& p=curve()[sample];
  switch(col) {
  case 0: return p.x();
  case 1: return 1.0/p.x();
  case 2: return p.mean();
  case 3: return 1.0/p.mean();
  case 4: return p.stddev();
  case 5: return p.weight();
  default: return QVariant();
  }
}

Implements SciFigs::CurveBrowserProxy.

References TRACE.

{
  TRACE;
  QVector<int> types;
  types << 1 << 3 << 7 << 11;
  return types;
}

Implements SciFigs::CurveBrowserProxy.

References QGpCoreTools::Curve< pointType >::append(), QGpCoreTools::ColumnTextIterator::atEnd(), QGpCoreTools::ColumnTextIterator::atSectionEnd(), QGpCoreWave::ModalCurve::clear(), QGpCoreTools::ColumnTextParser::columnCount(), QGpCoreTools::ColumnTextIterator::currentRow(), QGpGuiWave::ModalProxy::curve(), QGpCoreTools::endl(), QGpCoreTools::Curve< pointType >::isEmpty(), QGpCoreTools::StatisticalValue< numberType >::mean(), QGpCoreTools::ColumnTextIterator::nextRow(), QGpCoreTools::ColumnTextIterator::parser(), QGpCoreTools::StatisticalValue< numberType >::setMean(), QGpCoreTools::StatisticalValue< numberType >::setStddev(), QGpCoreTools::StatisticalValue< numberType >::setWeight(), QGpCoreTools::StatisticalPoint< numberType >::setX(), QGpCoreTools::StatisticalValue< numberType >::stddev(), QGpCoreTools::ColumnTextParser::text(), QGpCoreTools::tr(), TRACE, and QGpCoreTools::ColumnTextParser::type().

{
  TRACE;
  const ColumnTextParser * parser=it.parser();
  int nColumns=parser->columnCount();
  ModalCurve& c=curve();
  c.clear();
  while(!it.atEnd() && c.isEmpty()) {
    while(!it.atSectionEnd()) {
      FactoryPoint p;
      enum StddevType {Linear, Log, LowerBound, UpperBound};
      StddevType stddevType=Log;
      for(int iCol=0;iCol<nColumns;iCol++) {
        switch(parser->type(iCol)) {
        case 1:
          p.setX(parser->text(it.currentRow(), iCol).toDouble());
          break;
        case 2:
          p.setX(1.0/parser->text(it.currentRow(), iCol).toDouble());
          break;
        case 3:
          p.setMean(parser->text(it.currentRow(), iCol).toDouble());
          break;
        case 4:
          p.setMean(pow( 10.0, parser->text(it.currentRow(), iCol).toDouble()) );
          break;
        case 5:
          p.setMean(1.0/parser->text(it.currentRow(), iCol).toDouble());
          break;
        case 6:
          p.setMean(pow( 10.0, -parser->text(it.currentRow(), iCol).toDouble()) );
          break;
        case 7:
          p.setStddev(parser->text(it.currentRow(), iCol).toDouble());
          stddevType=Log;
          break;
        case 8:
          p.setStddev(parser->text(it.currentRow(), iCol).toDouble());
          stddevType=Linear;
          break;
        case 9:
          p.setStddev(parser->text(it.currentRow(), iCol).toDouble());
          stddevType=UpperBound;
          break;
        case 10:
          p.setStddev(parser->text(it.currentRow(), iCol).toDouble());
          stddevType=LowerBound;
          break;
        case 11:
          p.setWeight(parser->text(it.currentRow(), iCol).toDouble());
          break;
       default:
          break;
        }
      }
      switch(stddevType) {
      case Linear:
        p.setStddev(0.5 * (( p.mean()+p.stddev())/p.mean() + p.mean()/(p.mean()-p.stddev()) ));
        break;
      case Log:
        break;
      case LowerBound:
        p.setStddev(p.mean()/p.stddev());
        break;
      case UpperBound:
        p.setStddev(p.mean()/p.stddev());
        break;
      }
      if(p.stddev()!=0 && p.stddev()<=1) {
        App::stream() << tr("Standard deviation must be greater than 1 (log scale)") << endl;
      }
      c.append(p);
      it.nextRow();
    }
  }
}

Implements SciFigs::CurveBrowserProxy.

References TRACE.

{
  TRACE;
  QVector<int> l;
  l << 0 << 2 << 4 << 5;
  return l;
}
void QGpGuiWave::EllipticityProxy::setColumnValue ( int  sample,
int  col,
const QVariant &  value 
) [virtual]

Implements SciFigs::CurveBrowserProxy.

References QGpGuiWave::ModalProxy::curve(), QGpCoreTools::StatisticalValue< numberType >::setMean(), QGpCoreTools::StatisticalValue< numberType >::setStddev(), QGpCoreTools::StatisticalValue< numberType >::setWeight(), QGpCoreTools::StatisticalPoint< numberType >::setX(), and TRACE.

{
  TRACE;
  FactoryPoint& p=curve()[sample];
  switch(col) {
  case 0: p.setX(value.toDouble()); break;
  case 1: p.setX(1.0/value.toDouble()); break;
  case 2: p.setMean(value.toDouble()); break;
  case 3: p.setMean(1.0/value.toDouble()); break;
  case 4: p.setStddev(value.toDouble()); break;
  case 5: p.setWeight(value.toDouble()); break;
  default: break;
  }
}
virtual QString QGpGuiWave::EllipticityProxy::tag ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return "EllipticityProxy";}
virtual int QGpGuiWave::EllipticityProxy::xAxisColumn ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return 0;}
virtual int QGpGuiWave::EllipticityProxy::xAxisInversedColumn ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return 1;}
virtual int QGpGuiWave::EllipticityProxy::yAxisColumn ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return 2;}
virtual int QGpGuiWave::EllipticityProxy::yAxisInversedColumn ( ) const [inline, virtual]

Implements SciFigs::CurveBrowserProxy.

{return 3;}

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