#include <qsedatadeglitcher.h>


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 |
Definition at line 10 of file qsedatadeglitcher.h.
| 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 }
| 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 }

| 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 }
friend class QseDataDeglitcherUI [friend] |
Definition at line 20 of file qsedatadeglitcher.h.
1.5.5