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

Brief description of class still missing. More...

#include <MagnetoTelluricProxy.h>

List of all members.

Public Member Functions

virtual void addLog (QString s)
virtual void average (const CurveBrowserProxy *o)
virtual CurveBrowserProxy * clone () const
virtual int columnCount () const
virtual QStringList columnFileTypes () const
virtual QString columnName (int col) const
virtual QString columnTitle (int col) const
virtual QString columnUnit (int col) const
virtual QVariant columnValue (int sample, int col) const
virtual void cut (double min, double max, SamplingOptions options)
virtual QVector< int > defaultColumnFileTypes () const
virtual bool isValid (int sample) const
virtual QString log () const
virtual double maximumX () const
virtual double maximumY (const CurvePointOptions *pointOptions) const
virtual double minimumX () const
virtual double minimumY (const CurvePointOptions *pointOptions) const
virtual QString name () const
virtual void parse (ColumnTextIterator &it)
virtual void resample (int n, double min, double max, SamplingOptions options, double valX, double valY, const CurvePointOptions *pointOptions)
virtual void resample (int n, double min, double max, SamplingOptions options)
virtual int sampleCount () const
virtual QVector< int > savedColumns () const
virtual void setColumnValue (int sample, int col, const QVariant &value)
virtual void setFunction ()
virtual void setName (const QString &n)
virtual void setValid (int sample, bool v)
virtual void setXAxisProperties (Axis *a)
void setYMode (MagnetoTelluricPointOptions::OutputMode m)
virtual QString tag () const
virtual int xAxisColumn () const
virtual int xAxisInversedColumn () const
virtual int yAxisColumn () const
virtual int yAxisInversedColumn () const
MagnetoTelluricPointOptions::OutputMode yMode () const

Protected Member Functions

const MagnetoTelluricCurve & curve () const
MagnetoTelluricCurve & curve ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Member Function Documentation

void QGpGuiWave::MagnetoTelluricProxy::addLog ( QString  s) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve().addLog(s);
  }
void QGpGuiWave::MagnetoTelluricProxy::average ( const CurveBrowserProxy *  o) [virtual]

References curve(), and TRACE.

Referenced by parse().

  {
    TRACE;
    curve().average(static_cast<const MagnetoTelluricProxy *>(o)->curve());
  }
virtual CurveBrowserProxy* QGpGuiWave::MagnetoTelluricProxy::clone ( ) const [inline, virtual]
{return new MagnetoTelluricProxy;}
virtual int QGpGuiWave::MagnetoTelluricProxy::columnCount ( ) const [inline, virtual]
{return 10;}
QStringList QGpGuiWave::MagnetoTelluricProxy::columnFileTypes ( ) const [virtual]

References QGpCoreTools::tr(), and TRACE.

  {
    TRACE;
    static QStringList types;
    if(types.isEmpty()) {
      types << tr("Frequency")                        // 1
            << tr("Period")                           // 2
            << tr("Apparent resistivity (ohm m)")     // 3
            << tr("Phase (degrees)")                  // 4
            << tr("Phase (radians)")                  // 5
            << tr("Impedance abs. value (V/m/T)")     // 6
            << tr("Impedance real part (V/m/T)")      // 7
            << tr("Impedance imaginary part (V/m/T)") // 8
            << tr("Stddev")                           // 9
            << tr("Weight");                          // 10
    }
    return types;
  }
QString QGpGuiWave::MagnetoTelluricProxy::columnName ( int  col) const [virtual]

References QGpCoreTools::tr(), and TRACE.

  {
    TRACE;
    switch(col) {
    case 0: return tr("Frequency");
    case 1: return tr("Period");
    case 2: return tr("App. res.");
    case 3: return tr("Phase");
    case 4: return tr("Phase");
    case 5: return tr("Abs");
    case 6: return tr("Real");
    case 7: return tr("Imaginary");
    case 8: return tr("Skin depth");
    case 9: return tr("Stddev");
    case 10: return tr("Weight");
    default: return QString::null;
    }
  }
QString QGpGuiWave::MagnetoTelluricProxy::columnTitle ( int  col) const [virtual]

References QGpCoreTools::tr(), and TRACE.

  {
    TRACE;
    switch(col) {
    case 2: return tr("Apparent Resisitivy (ohm m)");
    case 5: return tr("Impedance abs. value (1e3 V/m/T)");
    case 6: return tr("Impedance real part (1e3 V/m/T)");
    case 7: return tr("Impedance imaginary part (1e3 V/m/T)");
    default:
      break;
    }
    return CurveBrowserProxy::columnTitle(col);
  }
QString QGpGuiWave::MagnetoTelluricProxy::columnUnit ( int  col) const [virtual]

References QGpCoreTools::tr(), and TRACE.

  {
    TRACE;
    switch(col) {
    case 0: return tr("Hz");
    case 1: return tr("s");
    case 2: return tr("ohm m");
    case 3: return tr("degrees");
    case 4: return tr("radians");
    case 5:
    case 6:
    case 7:
    case 9:
      return tr("V/m/T");
    case 8:
      return tr("m");
    default: return QString::null;
    }
  }
QVariant QGpGuiWave::MagnetoTelluricProxy::columnValue ( int  sample,
int  col 
) const [virtual]

References curve(), QGpCoreTools::sqrt(), and TRACE.

  {
    TRACE;
    const MagnetoTelluricPoint& p=curve()[ sample ];
    switch(col) {
    case 0: return p.x();
    case 1: return 1.0/p.x();
    case 2:
      return MagnetoTelluricPointOptions::toApparentResistivity(p.x(), p.mean().abs());
    case 3:
      return p.mean().phase()*180.0/M_PI;
    case 4:
      return p.mean().phase();
    case 5:
      return p.mean().abs();
    case 6:
      return p.mean().re();
    case 7:
      return p.mean().im();
    case 8:
      return 500.0*sqrt(MagnetoTelluricPointOptions::toApparentResistivity(p.x(), p.mean().abs())/p.x());
    case 9: return p.stddev();
    case 10: return p.weight();
    default: return QVariant();
    }
  }
const MagnetoTelluricCurve & QGpGuiWave::MagnetoTelluricProxy::curve ( ) const [protected]
MagnetoTelluricCurve & QGpGuiWave::MagnetoTelluricProxy::curve ( ) [protected]

References curve(), and TRACE.

  {
    TRACE;
    return static_cast<MagnetoTelluricLine *>(_line)->curve();
  }
void QGpGuiWave::MagnetoTelluricProxy::cut ( double  min,
double  max,
SamplingOptions  options 
) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve().cut(min, max, options);
  }

References TRACE.

  {
    TRACE;
    QVector<int> l;
    l << 1 << 7 << 8 << 9 << 10;
    return l;
  }
bool QGpGuiWave::MagnetoTelluricProxy::isValid ( int  sample) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    return curve()[sample].isValid();
  }
QString QGpGuiWave::MagnetoTelluricProxy::log ( ) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    return curve().log();
  }
double QGpGuiWave::MagnetoTelluricProxy::maximumX ( ) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    return curve().maximumX();
  }
double QGpGuiWave::MagnetoTelluricProxy::maximumY ( const CurvePointOptions *  pointOptions) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    const MagnetoTelluricCurve& c=curve();
    return c.at(c.maximumY(0, pointOptions)).y(pointOptions);
  }
double QGpGuiWave::MagnetoTelluricProxy::minimumX ( ) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    return curve().minimumX();
  }
double QGpGuiWave::MagnetoTelluricProxy::minimumY ( const CurvePointOptions *  pointOptions) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    const MagnetoTelluricCurve& c=curve();
    return c.at(c.minimumY(0, pointOptions)).y(pointOptions);
  }
QString QGpGuiWave::MagnetoTelluricProxy::name ( ) const [virtual]

References curve(), and TRACE.

  {
    TRACE;
    return curve().name();
  }
void QGpGuiWave::MagnetoTelluricProxy::parse ( ColumnTextIterator &  it) [virtual]

References average(), curve(), and TRACE.

  {
    TRACE;
    const ColumnTextParser * parser=it.parser();
    int nColumns=parser->columnCount();
    MagnetoTelluricCurve& c=curve();
    c.clear();
    while(!it.atEnd() && c.isEmpty()) {
      while(!it.atSectionEnd()) {
        MagnetoTelluricPoint p;
        Complex average;
        bool apparentResistivity=false;
        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:
            average.setAbs(parser->text(it.currentRow(), iCol).toDouble());
            apparentResistivity=true;
            break;
          case 4:
            average.setPhase(parser->text(it.currentRow(), iCol).toDouble()/180.0*M_PI);
            break;
          case 5:
            average.setPhase(parser->text(it.currentRow(), iCol).toDouble());
            break;
          case 6:
            average.setAbs(parser->text(it.currentRow(), iCol).toDouble());
            apparentResistivity=false;
            break;
          case 7:
            average.setRe(parser->text(it.currentRow(), iCol).toDouble());
            apparentResistivity=false;
            break;
          case 8:
            average.setIm(parser->text(it.currentRow(), iCol).toDouble());
            apparentResistivity=false;
            break;
          case 9:
            p.setStddev(parser->text(it.currentRow(), iCol).toDouble());
            break;
          case 10:
            p.setWeight(parser->text(it.currentRow(), iCol).toDouble());
            break;
         default:
            break;
          }
        }
        if(apparentResistivity) {
          average.setAbs(MagnetoTelluricPointOptions::toAbsoluteValue(p.x(), average.abs()));
        }
        p.setMean(average);
        c.append(p);
        it.nextRow();
      }
    }
  }
void QGpGuiWave::MagnetoTelluricProxy::resample ( int  n,
double  min,
double  max,
SamplingOptions  options,
double  valX,
double  valY,
const CurvePointOptions *  pointOptions 
) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve().resample(n, min, max, options, valX, valY, pointOptions);
  }
void QGpGuiWave::MagnetoTelluricProxy::resample ( int  n,
double  min,
double  max,
SamplingOptions  options 
) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve().resample(n, min, max, options);
  }

References curve(), and TRACE.

  {
    TRACE;
    return curve().count();
  }

References TRACE.

  {
    TRACE;
    QVector<int> l;
    l << 0 << 6 << 7 << 8 << 9;
    return l;
  }
void QGpGuiWave::MagnetoTelluricProxy::setColumnValue ( int  sample,
int  col,
const QVariant &  value 
) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    MagnetoTelluricPoint& p=curve()[ sample ];
    Complex c=p.mean();
    switch(col) {
    case 0: p.setX(value.toDouble()); break;
    case 1: p.setX(1.0/value.toDouble()); break;
    case 2:
      c.setAbs(MagnetoTelluricPointOptions::toAbsoluteValue(p.x(), value.toDouble()));
      break;
    case 3:
      c.setPhase(value.toDouble()/180.0*M_PI);
      break;
    case 4:
      c.setPhase(value.toDouble());
      break;
    case 5:
      c.setAbs(value.toDouble());
      break;
    case 6:
      c.setRe(value.toDouble());
      break;
    case 7:
      c.setIm(value.toDouble());
      break;
    case 9: p.setStddev(value.toDouble()); break;
    case 10: p.setWeight(value.toDouble()); break;
    default: break;
    }
    p.setMean(c);
  }

References curve(), and TRACE.

  {
    TRACE;
    curve().setFunction();
  }
void QGpGuiWave::MagnetoTelluricProxy::setName ( const QString &  n) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve().setName(n);
  }
void QGpGuiWave::MagnetoTelluricProxy::setValid ( int  sample,
bool  v 
) [virtual]

References curve(), and TRACE.

  {
    TRACE;
    curve()[sample].setValid(v);
  }

References TRACE.

  {
    TRACE;
    a->setUnitFactor(1e-3);
    a->setScaleType(Scale::Log);
    a->setReversedScale(true);
    a->setAutoTicks(false);
    a->setMajorTicks(5.0);
    a->setMinorTicks(1.0);
    // Force title with multiplication for units
    a->setTitle("Frequency (kHz)");
    a->setTitleInversedScale("Period (ms)");
  }
void QGpGuiWave::MagnetoTelluricProxy::setYMode ( MagnetoTelluricPointOptions::OutputMode  m) [inline]
{_yMode=m;}
virtual QString QGpGuiWave::MagnetoTelluricProxy::tag ( ) const [inline, virtual]
{return "MagnetoTelluricProxy";}
virtual int QGpGuiWave::MagnetoTelluricProxy::xAxisColumn ( ) const [inline, virtual]
{return 0;}
virtual int QGpGuiWave::MagnetoTelluricProxy::xAxisInversedColumn ( ) const [inline, virtual]
{return 1;}

References TRACE.

  {
    TRACE;
    switch(_yMode) {
    case MagnetoTelluricPointOptions::ApparentResistivity:
      break;
    case MagnetoTelluricPointOptions::AbsoluteValue:
      return 5;
    case MagnetoTelluricPointOptions::PhaseDegrees:
      return 3;
    case MagnetoTelluricPointOptions::PhaseRadians:
      return 4;
    case MagnetoTelluricPointOptions::Real:
      return 6;
    case MagnetoTelluricPointOptions::Imaginary:
      return 7;
    }
    return 2;
  }
virtual int QGpGuiWave::MagnetoTelluricProxy::yAxisInversedColumn ( ) const [inline, virtual]
{return -1;}
MagnetoTelluricPointOptions::OutputMode QGpGuiWave::MagnetoTelluricProxy::yMode ( ) const [inline]
{return _yMode;}

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