QseDataDeglitcher Class Reference

#include <qsedatadeglitcher.h>

Inheritance diagram for QseDataDeglitcher:

Inheritance graph
[legend]
Collaboration diagram for QseDataDeglitcher:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 QseDataDeglitcher (QseDataSet *inData, QseDataSet *outData, const QString &name, QObject *parent=0)
void exec ()

Protected Member Functions

void deglitchScan (int n, QseScan *out)

Friends

class QseDataDeglitcherUI


Detailed Description

Definition at line 10 of file qsedatadeglitcher.h.


Constructor & Destructor Documentation

QseDataDeglitcher::QseDataDeglitcher ( QseDataSet inData,
QseDataSet outData,
const QString &  name,
QObject parent = 0 
)

Definition at line 6 of file qsedatadeglitcher.cpp.

00007   : QseEXAFSOperator(inData, outData, name, parent)
00008 {
00009 }


Member Function Documentation

void QseDataDeglitcher::exec (  )  [virtual]

Implements QseOperator.

Definition at line 11 of file qsedatadeglitcher.cpp.

References deglitchScan(), QseEXAFSOperator::m_InputData, and QseEXAFSOperator::m_OutputData.

00012 {
00013   m_OutputData -> clear();
00014 
00015   int ns = m_InputData -> scanCount();
00016 
00017   for (int s = 0; s < ns; s++) {
00018     QseScan *osc = m_OutputData -> appendScan();
00019 
00020     deglitchScan(s, osc);
00021   }
00022 
00023   m_OutputData -> emitLoadCompleted();
00024 }

Here is the call graph for this function:

void QseDataDeglitcher::deglitchScan ( int  n,
QseScan out 
) [protected]

Definition at line 26 of file qsedatadeglitcher.cpp.

Referenced by exec().

00027 {
00028 //   QseScan *sc = m_InputData->scan(n);
00029 
00030 //   if (sc) {
00031 //     int nc = sc -> columnCount();
00032 //     int energycol = -1;
00033 
00034 //     for (int c = 0; c < nc; c++) {
00035 //       QseColumn *col = sc -> column(c);
00036 
00037 //       if (matchesEnergyColumn(col)) {
00038 //  energycol = c;
00039 //       }
00040 //     }
00041 
00042 //     if (energycol < 0) {
00043 //       emit message(QString("No energy column found for scan %1").arg(n));
00044 //     } else {
00045 //       osc -> mergeHeaders(sc->header());
00046 //       osc -> setScanNumber(sc->scanNumber());
00047 
00048 //       QseColumn *energy = osc -> appendColumn("Energy", sc -> column(energycol));
00049 //       QseColumn *normal = osc -> appendColumn("Norm");
00050 //       QseColumn *detect = osc -> appendColumn("Detector");
00051 //       QseColumn *seconds = osc -> appendColumn("Seconds");
00052 
00053 //       energy -> multiplication(energyScalingRatio());
00054 
00055 //       int nnorm = 0, ndet = 0, nsecs = 0;
00056       
00057 //       for (int c = 0; c < nc; c++) {
00058 //  QseColumn *col = sc -> column(c);
00059 
00060 //  if (matchesNormalizationColumn(col)) {
00061 //    nnorm += 1;
00062 //    normal -> addition(col);
00063 //  } else if (matchesDetectorColumn(col)) {
00064 //    ndet += 1;
00065 //    detect -> addition(col);
00066 //  } else if (matchesSecondsColumn(col)) {
00067 //    nsecs += 1;
00068 //    seconds -> addition(col);
00069 //  }
00070 //       }
00071       
00072 //       if (nnorm > 0) {
00073 //  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
00074   
00075 //  ratio -> division(normal);
00076   
00077 //  emit message(QString("Scan %1 had %2 detector columns, was normalized by %3 ion chambers").arg(n).arg(ndet).arg(nnorm));
00078 //       } else if (nsecs > 0) {
00079 //  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
00080   
00081 //  ratio -> division(seconds);
00082 //  emit message(QString("Scan %1 had %2 detector columns, was normalized by counting time").arg(n).arg(ndet));
00083 //       } else {
00084 //  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
00085   
00086 //  emit message(QString("Scan %1 had %2 detector columns, no normalization performed").arg(n).arg(ndet));
00087 //       }
00088 //     }
00089 //   }
00090 }


Friends And Related Function Documentation

friend class QseDataDeglitcherUI [friend]

Definition at line 20 of file qsedatadeglitcher.h.


The documentation for this class was generated from the following files:

Generated on Fri May 2 16:26:42 2008 for QSE by  doxygen 1.5.5