qse  0.5.4
Public Member Functions | Protected Attributes | Friends | List of all members
QseNormalizer Class Reference

#include <qsenormalizer.h>

Inheritance diagram for QseNormalizer:
Inheritance graph

Public Member Functions

 QseNormalizer (QseDataSet *inData, QseDataSet *outData, const QString &name, QObject *parent=0)
 
void exec ()
 
bool matchesScanPattern (int n)
 
bool matchesScan (int n)
 
double energyScalingRatio ()
 
void normalizeScan (int n, QseScan *out)
 
void setScanException (int s, QseScanRole role)
 
void setColumnException (int s, int c, QseColumnRole role)
 
bool matchesScanException (int s)
 
bool matchesColumnException (int s, int c)
 
QseColumnRole exceptionalColumnRole (int s, int c)
 
QseColumnRole patternColumnRole (int s, int c)
 
QseColumnRole columnRole (int s, int c)
 
- Public Member Functions inherited from QseEXAFSOperator
 QseEXAFSOperator (QseDataSet *inData, QseDataSet *outData, const QString &name, QObject *parent=0)
 
QseDataSetinputData ()
 
QseDataSetoutputData ()
 
bool matchesEnergyPattern (const QseColumn *col, int colnum)
 
bool matchesEnergyColumn (const QseColumn *col, int colnum)
 
bool matchesDetectorPattern (const QseColumn *col, int colnum)
 
bool matchesDetectorColumn (const QseColumn *col, int colnum)
 
bool matchesNormalizationPattern (const QseColumn *col, int colnum)
 
bool matchesNormalizationColumn (const QseColumn *col, int colnum)
 
bool matchesSecondsPattern (const QseColumn *col, int colnum)
 
bool matchesSecondsColumn (const QseColumn *col, int colnum)
 
bool matchesCopyPattern (const QseColumn *col, int colnum)
 
bool matchesCopyColumn (const QseColumn *col, int colnum)
 
bool matchesCopyNormalizedPattern (const QseColumn *col, int colnum)
 
bool matchesCopyNormalizedColumn (const QseColumn *col, int colnum)
 
bool matchesCopyRatePattern (const QseColumn *col, int colnum)
 
bool matchesCopyRateColumn (const QseColumn *col, int colnum)
 
bool matchesCopyTotalCountsPattern (const QseColumn *col, int colnum)
 
bool matchesCopyTotalCountsColumn (const QseColumn *col, int colnum)
 
- Public Member Functions inherited from QseOperator
 QseOperator (const QString &name, QObject *parent=0)
 
QString name () const
 
void setName (const QString &name)
 
void addParameter (QseParameter *parameter)
 

Protected Attributes

QseRegExpParameter m_ScanPattern
 
QseStringParameter m_MinScanRowCount
 
QseStringParameter m_MaxScanRowCount
 
QseStringParameter m_MinScanColumnCount
 
QseStringParameter m_MaxScanColumnCount
 
QseEnumParameter m_InputEnergyUnits
 
QseEnumParameter m_OutputEnergyUnits
 
- Protected Attributes inherited from QseEXAFSOperator
QseDataSetm_InputData
 
QseDataSetm_OutputData
 
QseRegExpParameter m_EnergyPattern
 
QseRegExpParameter m_DetectorPattern
 
QseRegExpParameter m_NormalizationPattern
 
QseRegExpParameter m_SecondsPattern
 
QseRegExpParameter m_CopyPattern
 
QseRegExpParameter m_CopyNormalizedPattern
 
QseRegExpParameter m_CopyRatePattern
 
QseRegExpParameter m_CopyTotalCountsPattern
 
QHash< const QseScan
*, QseScanRole
m_ScanExceptions
 
QHash< const QseColumn
*, QseColumnRole
m_Exceptions
 

Friends

class QseNormalizerUI
 

Additional Inherited Members

- Public Types inherited from QseEXAFSOperator
enum  QseScanRole { UnspecifiedScanRole = -1, ScanNotUsedRole, ScanUsedRole }
 
enum  QseColumnRole {
  UnspecifiedRole = -1, NotUsedRole, DetectorRole, NormalizationRole,
  EnergyRole, SecondsRole, CopyRole, CopyNormalizedRole,
  CopyRateRole, CopyTotalCountsRole
}
 
- Signals inherited from QseOperator
void message (const QString &msg)
 
- Static Public Member Functions inherited from QseEXAFSOperator
static QColor colorForRole (QseColumnRole r)
 
static QColor backgroundColorForRole (QseColumnRole r)
 

Detailed Description

Definition at line 14 of file qsenormalizer.h.

Constructor & Destructor Documentation

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

Definition at line 8 of file qsenormalizer.cpp.

9  : QseEXAFSOperator(inData, outData, name, parent),
10  m_ScanPattern(this, "scanpattern",NULL),
11  m_MinScanRowCount(this, "minscanrowcount", NULL),
12  m_MaxScanRowCount(this, "maxscanrowcount", NULL),
13  m_MinScanColumnCount(this, "minscancolumncount", NULL),
14  m_MaxScanColumnCount(this, "maxscancolumncount", NULL),
15  m_InputEnergyUnits(this, QStringList()<<"eV"<<"keV",
16  "inputenergyunits", NULL),
17  m_OutputEnergyUnits(this, QStringList()<<"eV"<<"keV",
18  "outputenergyunits", NULL)
19 {
22 }
QseRegExpParameter m_ScanPattern
Definition: qsenormalizer.h:47
QseStringParameter m_MinScanColumnCount
Definition: qsenormalizer.h:51
void setValue(const QVariant &value)
QseEXAFSOperator(QseDataSet *inData, QseDataSet *outData, const QString &name, QObject *parent=0)
QseEnumParameter m_InputEnergyUnits
Definition: qsenormalizer.h:53
QString name() const
Definition: qseoperator.cpp:11
QseStringParameter m_MaxScanRowCount
Definition: qsenormalizer.h:50
QseStringParameter m_MinScanRowCount
Definition: qsenormalizer.h:49
QseStringParameter m_MaxScanColumnCount
Definition: qsenormalizer.h:52
QseEnumParameter m_OutputEnergyUnits
Definition: qsenormalizer.h:54

Member Function Documentation

QseNormalizer::QseColumnRole QseNormalizer::columnRole ( int  s,
int  c 
)

Definition at line 347 of file qsenormalizer.cpp.

References exceptionalColumnRole(), patternColumnRole(), and QseEXAFSOperator::UnspecifiedRole.

348 {
350 
351  if (role != UnspecifiedRole) {
352  return role;
353  } else {
354  return patternColumnRole(s, c);
355  }
356 }
QseColumnRole exceptionalColumnRole(int s, int c)
QseColumnRole patternColumnRole(int s, int c)
double QseNormalizer::energyScalingRatio ( )

Definition at line 237 of file qsenormalizer.cpp.

References m_InputEnergyUnits, m_OutputEnergyUnits, and QseParameter::value().

Referenced by normalizeScan().

238 {
239  int inp = m_InputEnergyUnits.value().toInt();
240  int otp = m_OutputEnergyUnits.value().toInt();
241 
242  if (inp == otp) {
243  return 1.0;
244  } else if (inp == 0 && otp == 1) {
245  return 0.001;
246  } else if (inp == 1 && otp == 0) {
247  return 1000.0;
248  } else {
249  return 1;
250  }
251 }
QVariant value() const
QseEnumParameter m_InputEnergyUnits
Definition: qsenormalizer.h:53
QseEnumParameter m_OutputEnergyUnits
Definition: qsenormalizer.h:54
QseNormalizer::QseColumnRole QseNormalizer::exceptionalColumnRole ( int  s,
int  c 
)

Definition at line 303 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_Exceptions, QseEXAFSOperator::m_InputData, and QseEXAFSOperator::UnspecifiedRole.

Referenced by columnRole(), and QseNormalizerModel::data().

304 {
305  QseScan* scan = m_InputData -> scan(s);
306 
307  if (scan) {
308  QseColumn* col = scan -> column(c);
309 
310  if (m_Exceptions.contains(col)) {
311  return m_Exceptions[col];
312  }
313  }
314 
315  return UnspecifiedRole;
316 }
QseDataSet * m_InputData
QHash< const QseColumn *, QseColumnRole > m_Exceptions
void QseNormalizer::exec ( )
virtual

Implements QseOperator.

Definition at line 24 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_InputData, QseEXAFSOperator::m_OutputData, matchesScan(), and normalizeScan().

Referenced by QseController::runNormalizer().

25 {
26 // printf("QseNormalizer::exec()\n");
27  QString fnam = m_InputData -> fileName();
28 
29  m_OutputData -> clear();
30  m_OutputData -> setFileName(fnam+"_norm");
31  m_OutputData -> setHeader(m_InputData -> header());
32 
33  int ns = m_InputData -> scanCount();
34 
35 // printf("%d scans\n", ns);
36 
37  for (int s = 0; s < ns; s++) {
38  if (matchesScan(s)) {
39 // printf("scan %d matches\n", s);
40 
41  QseScan *osc = m_OutputData -> appendScan();
42 
43  normalizeScan(s, osc);
44  }
45  }
46 
47 // printf("%d output scans\n", m_OutputData -> scanCount());
48 
49  m_OutputData -> emitOperationCompleted();
50 }
bool matchesScan(int n)
QseDataSet * m_InputData
QseDataSet * m_OutputData
void normalizeScan(int n, QseScan *out)
bool QseNormalizer::matchesColumnException ( int  s,
int  c 
)

Definition at line 290 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_Exceptions, and QseEXAFSOperator::m_InputData.

291 {
292  QseScan* scan = m_InputData -> scan(s);
293 
294  if (scan) {
295  QseColumn* col = scan -> column(c);
296 
297  return m_Exceptions.contains(col);
298  } else {
299  return false;
300  }
301 }
QseDataSet * m_InputData
QHash< const QseColumn *, QseColumnRole > m_Exceptions
bool QseNormalizer::matchesScan ( int  n)

Definition at line 95 of file qsenormalizer.cpp.

References QseScan::columnCount(), QseEXAFSOperator::m_InputData, m_MaxScanColumnCount, m_MaxScanRowCount, m_MinScanColumnCount, m_MinScanRowCount, QseEXAFSOperator::m_ScanExceptions, m_ScanPattern, QseScan::maxRowCount(), QseDataSet::scan(), QseScan::scanCommand(), QseEXAFSOperator::ScanUsedRole, QseEXAFSOperator::UnspecifiedScanRole, and QseParameter::value().

Referenced by exec().

96 {
97  QseScan* s = m_InputData->scan(n);
98 
99  if (s) {
101 
102  if (m_ScanExceptions.contains(s)) {
103  r = m_ScanExceptions[s];
104  }
105 
106  bool ok1, ok2;
107 
108  double minVal = m_MinScanRowCount.value().toDouble(&ok1);
109  double maxVal = m_MaxScanRowCount.value().toDouble(&ok2);
110 
111  if (ok1 || ok2) {
112  int nrows = s->maxRowCount();
113 
114  if (ok1 && (nrows < minVal)) {
115  return false;
116  }
117 
118  if (ok2 && (nrows > maxVal)) {
119  return false;
120  }
121  }
122 
123  minVal = m_MinScanColumnCount.value().toDouble(&ok1);
124  maxVal = m_MaxScanColumnCount.value().toDouble(&ok2);
125 
126  if (ok1 || ok2) {
127  int ncols = s->columnCount();
128 
129  if (ok1 && (ncols < minVal)) {
130  return false;
131  }
132 
133  if (ok2 && (ncols > maxVal)) {
134  return false;
135  }
136  }
137 
138  if (r == UnspecifiedScanRole) {
139  return m_ScanPattern.value().toRegExp().exactMatch(s->scanCommand());
140  } else {
141  return r == ScanUsedRole;
142  }
143  } else {
144  return false;
145  }
146 }
QseScan * scan(int n) const
Definition: qsedataset.cpp:70
QVariant value() const
QseRegExpParameter m_ScanPattern
Definition: qsenormalizer.h:47
QseStringParameter m_MinScanColumnCount
Definition: qsenormalizer.h:51
int columnCount() const
Definition: qsescan.cpp:45
QString scanCommand() const
Definition: qsescan.cpp:226
QseDataSet * m_InputData
QHash< const QseScan *, QseScanRole > m_ScanExceptions
QseStringParameter m_MaxScanRowCount
Definition: qsenormalizer.h:50
QseStringParameter m_MinScanRowCount
Definition: qsenormalizer.h:49
int maxRowCount() const
Definition: qsescan.cpp:74
QseStringParameter m_MaxScanColumnCount
Definition: qsenormalizer.h:52
bool QseNormalizer::matchesScanException ( int  s)

Definition at line 283 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_InputData, and QseEXAFSOperator::m_ScanExceptions.

284 {
285  QseScan* scan = m_InputData -> scan(n);
286 
287  return m_ScanExceptions.contains(scan);
288 }
QseDataSet * m_InputData
QHash< const QseScan *, QseScanRole > m_ScanExceptions
bool QseNormalizer::matchesScanPattern ( int  n)

Definition at line 52 of file qsenormalizer.cpp.

References QseScan::columnCount(), QseEXAFSOperator::m_InputData, m_MaxScanColumnCount, m_MaxScanRowCount, m_MinScanColumnCount, m_MinScanRowCount, m_ScanPattern, QseScan::maxRowCount(), QseDataSet::scan(), QseScan::scanCommand(), and QseParameter::value().

53 {
54  QseScan* s = m_InputData->scan(n);
55 
56  if (s) {
57  bool ok1, ok2;
58 
59  double minVal = m_MinScanRowCount.value().toDouble(&ok1);
60  double maxVal = m_MaxScanRowCount.value().toDouble(&ok2);
61 
62  if (ok1 || ok2) {
63  int nrows = s->maxRowCount();
64 
65  if (ok1 && (nrows < minVal)) {
66  return false;
67  }
68 
69  if (ok2 && (nrows > maxVal)) {
70  return false;
71  }
72  }
73 
74  minVal = m_MinScanColumnCount.value().toDouble(&ok1);
75  maxVal = m_MaxScanColumnCount.value().toDouble(&ok2);
76 
77  if (ok1 || ok2) {
78  int ncols = s->columnCount();
79 
80  if (ok1 && (ncols < minVal)) {
81  return false;
82  }
83 
84  if (ok2 && (ncols > maxVal)) {
85  return false;
86  }
87  }
88 
89  return m_ScanPattern.value().toRegExp().exactMatch(s->scanCommand());
90  } else {
91  return false;
92  }
93 }
QseScan * scan(int n) const
Definition: qsedataset.cpp:70
QVariant value() const
QseRegExpParameter m_ScanPattern
Definition: qsenormalizer.h:47
QseStringParameter m_MinScanColumnCount
Definition: qsenormalizer.h:51
int columnCount() const
Definition: qsescan.cpp:45
QString scanCommand() const
Definition: qsescan.cpp:226
QseDataSet * m_InputData
QseStringParameter m_MaxScanRowCount
Definition: qsenormalizer.h:50
QseStringParameter m_MinScanRowCount
Definition: qsenormalizer.h:49
int maxRowCount() const
Definition: qsescan.cpp:74
QseStringParameter m_MaxScanColumnCount
Definition: qsenormalizer.h:52
void QseNormalizer::normalizeScan ( int  n,
QseScan out 
)

Definition at line 148 of file qsenormalizer.cpp.

References QseScan::appendColumn(), QseScan::column(), QseColumn::division(), energyScalingRatio(), QseScan::header(), QseEXAFSOperator::m_InputData, QseEXAFSOperator::matchesCopyColumn(), QseEXAFSOperator::matchesCopyNormalizedColumn(), QseEXAFSOperator::matchesCopyRateColumn(), QseEXAFSOperator::matchesCopyTotalCountsColumn(), QseEXAFSOperator::matchesDetectorColumn(), QseEXAFSOperator::matchesEnergyColumn(), QseEXAFSOperator::matchesNormalizationColumn(), QseEXAFSOperator::matchesSecondsColumn(), QseOperator::message(), QseColumn::multiplication(), QseColumn::name(), QseScan::name(), QseDataSet::scan(), QseScan::scanCommand(), QseScan::scanNumber(), and QseOperator::setName().

Referenced by exec().

149 {
150  QseScan *sc = m_InputData->scan(n);
151 
152  if (sc) {
153  int nc = sc -> columnCount();
154  int energycol = -1;
155 
156  for (int c = 0; c < nc; c++) {
157  QseColumn *col = sc -> column(c);
158 
159  if (matchesEnergyColumn(col,c)) {
160  energycol = c;
161  }
162  }
163 
164  if (energycol < 0) {
165  emit message(QString("No energy column found for scan %1").arg(n));
166  } else {
167  osc -> mergeHeaders(sc->header());
168  osc -> setScanNumber(sc->scanNumber());
169  osc -> setName(sc->name()+"_norm");
170  osc -> setScanCommand(sc->scanCommand()+"_norm");
171  osc -> setScanDateTime(QDateTime::currentDateTime());
172 
173  QseColumn *energy = osc -> appendColumn("Energy", sc -> column(energycol));
174  QseColumn *normal = osc -> appendColumn("Norm");
175  QseColumn *detect = osc -> appendColumn("Detector");
176  QseColumn *seconds = osc -> appendColumn("Seconds");
177 
178  energy -> multiplication(energyScalingRatio());
179 
180  int nnorm = 0, ndet = 0, nsecs = 0;
181 
182  for (int c = 0; c < nc; c++) {
183  QseColumn *col = sc -> column(c);
184 
185  if (matchesNormalizationColumn(col,c)) {
186  nnorm += 1;
187  normal -> addition(col);
188  } else if (matchesDetectorColumn(col,c)) {
189  ndet += 1;
190  detect -> addition(col);
191  } else if (matchesSecondsColumn(col,c)) {
192  nsecs += 1;
193  seconds -> addition(col);
194  }
195  }
196 
197  if (nnorm > 0) {
198  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
199 
200  ratio -> division(normal);
201 
202  emit message(QString("Scan %1 had %2 detector columns, was normalized by %3 ion chambers").arg(n).arg(ndet).arg(nnorm));
203  } else if (nsecs > 0) {
204  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
205 
206  ratio -> division(seconds);
207  emit message(QString("Scan %1 had %2 detector columns, was normalized by counting time").arg(n).arg(ndet));
208  } else {
209  QseColumn *ratio = osc -> appendColumn("Ratio", detect);
210 
211  emit message(QString("Scan %1 had %2 detector columns, no normalization performed").arg(n).arg(ndet));
212  }
213 
214  for (int c=0; c<nc; c++) {
215  QseColumn *col = sc->column(c);
216 
217  if (matchesCopyNormalizedColumn(col, c)) {
218  QseColumn *copy = osc->appendColumn(col->name(), col);
219 
220  copy->division(normal);
221  } else if (matchesCopyRateColumn(col, c)) {
222  QseColumn *copy = osc->appendColumn(col->name(), col);
223 
224  copy->division(seconds);
225  } else if (matchesCopyTotalCountsColumn(col, c)) {
226  QseColumn *copy = osc->appendColumn(col->name(), col);
227 
228  copy->multiplication(seconds);
229  } else if (matchesCopyColumn(col, c)) {
230  QseColumn *copy = osc->appendColumn(col->name(), col);
231  }
232  }
233  }
234  }
235 }
QseScan * scan(int n) const
Definition: qsedataset.cpp:70
QStringList header() const
Definition: qsescan.cpp:167
bool matchesCopyTotalCountsColumn(const QseColumn *col, int colnum)
double energyScalingRatio()
void message(const QString &msg)
bool matchesCopyRateColumn(const QseColumn *col, int colnum)
void multiplication(const QseColumn *col)
Definition: qsecolumn.cpp:114
bool matchesEnergyColumn(const QseColumn *col, int colnum)
void division(const QseColumn *col)
Definition: qsecolumn.cpp:128
int scanNumber() const
Definition: qsescan.cpp:353
bool matchesCopyColumn(const QseColumn *col, int colnum)
void setName(const QString &name)
Definition: qseoperator.cpp:16
bool matchesDetectorColumn(const QseColumn *col, int colnum)
QString scanCommand() const
Definition: qsescan.cpp:226
bool matchesCopyNormalizedColumn(const QseColumn *col, int colnum)
QseDataSet * m_InputData
QString name() const
Definition: qsecolumn.cpp:26
QseColumn * column(int n) const
Definition: qsescan.cpp:104
QString name() const
Definition: qsescan.cpp:31
bool matchesNormalizationColumn(const QseColumn *col, int colnum)
bool matchesSecondsColumn(const QseColumn *col, int colnum)
QseNormalizer::QseColumnRole QseNormalizer::patternColumnRole ( int  s,
int  c 
)

Definition at line 318 of file qsenormalizer.cpp.

References QseEXAFSOperator::CopyNormalizedRole, QseEXAFSOperator::CopyRateRole, QseEXAFSOperator::CopyRole, QseEXAFSOperator::CopyTotalCountsRole, QseEXAFSOperator::DetectorRole, QseEXAFSOperator::EnergyRole, QseEXAFSOperator::m_InputData, QseEXAFSOperator::matchesCopyNormalizedPattern(), QseEXAFSOperator::matchesCopyPattern(), QseEXAFSOperator::matchesCopyRatePattern(), QseEXAFSOperator::matchesCopyTotalCountsPattern(), QseEXAFSOperator::matchesDetectorPattern(), QseEXAFSOperator::matchesEnergyPattern(), QseEXAFSOperator::matchesNormalizationPattern(), QseEXAFSOperator::matchesSecondsPattern(), QseEXAFSOperator::NormalizationRole, QseEXAFSOperator::SecondsRole, and QseEXAFSOperator::UnspecifiedRole.

Referenced by columnRole(), and QseNormalizerModel::data().

319 {
320  QseScan* scan = m_InputData -> scan(s);
321 
322  if (scan) {
323  QseColumn* col = scan -> column(c);
324 
325  if (matchesEnergyPattern(col, c)) {
326  return EnergyRole;
327  } else if (matchesDetectorPattern(col, c)) {
328  return DetectorRole;
329  } else if (matchesNormalizationPattern(col, c)) {
330  return NormalizationRole;
331  } else if (matchesSecondsPattern(col, c)) {
332  return SecondsRole;
333  } else if (matchesCopyNormalizedPattern(col, c)) {
334  return CopyNormalizedRole;
335  } else if (matchesCopyRatePattern(col, c)) {
336  return CopyRateRole;
337  } else if (matchesCopyTotalCountsPattern(col, c)) {
338  return CopyTotalCountsRole;
339  } else if (matchesCopyPattern(col, c)) {
340  return CopyRole;
341  }
342  }
343 
344  return UnspecifiedRole;
345 }
bool matchesDetectorPattern(const QseColumn *col, int colnum)
bool matchesCopyRatePattern(const QseColumn *col, int colnum)
bool matchesSecondsPattern(const QseColumn *col, int colnum)
QseDataSet * m_InputData
bool matchesCopyPattern(const QseColumn *col, int colnum)
bool matchesCopyTotalCountsPattern(const QseColumn *col, int colnum)
bool matchesCopyNormalizedPattern(const QseColumn *col, int colnum)
bool matchesNormalizationPattern(const QseColumn *col, int colnum)
bool matchesEnergyPattern(const QseColumn *col, int colnum)
void QseNormalizer::setColumnException ( int  s,
int  c,
QseColumnRole  role 
)

Definition at line 266 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_Exceptions, QseEXAFSOperator::m_InputData, and QseEXAFSOperator::UnspecifiedRole.

267 {
268  QseScan* scan = m_InputData -> scan(s);
269 
270  if (scan) {
271  QseColumn* col = scan -> column(c);
272 
273  if (col) {
274  if (role == UnspecifiedRole) {
275  m_Exceptions.remove(col);
276  } else {
277  m_Exceptions.insert(col,role);
278  }
279  }
280  }
281 }
QseDataSet * m_InputData
QHash< const QseColumn *, QseColumnRole > m_Exceptions
void QseNormalizer::setScanException ( int  s,
QseScanRole  role 
)

Definition at line 253 of file qsenormalizer.cpp.

References QseEXAFSOperator::m_InputData, QseEXAFSOperator::m_ScanExceptions, and QseEXAFSOperator::UnspecifiedScanRole.

254 {
255  QseScan* scan = m_InputData -> scan(s);
256 
257  if (scan) {
258  if (role == UnspecifiedScanRole) {
259  m_ScanExceptions.remove(scan);
260  } else {
261  m_ScanExceptions.insert(scan,role);
262  }
263  }
264 }
QseDataSet * m_InputData
QHash< const QseScan *, QseScanRole > m_ScanExceptions

Friends And Related Function Documentation

friend class QseNormalizerUI
friend

Definition at line 24 of file qsenormalizer.h.

Member Data Documentation

QseEnumParameter QseNormalizer::m_InputEnergyUnits
protected

Definition at line 53 of file qsenormalizer.h.

Referenced by energyScalingRatio().

QseStringParameter QseNormalizer::m_MaxScanColumnCount
protected

Definition at line 52 of file qsenormalizer.h.

Referenced by matchesScan(), and matchesScanPattern().

QseStringParameter QseNormalizer::m_MaxScanRowCount
protected

Definition at line 50 of file qsenormalizer.h.

Referenced by matchesScan(), and matchesScanPattern().

QseStringParameter QseNormalizer::m_MinScanColumnCount
protected

Definition at line 51 of file qsenormalizer.h.

Referenced by matchesScan(), and matchesScanPattern().

QseStringParameter QseNormalizer::m_MinScanRowCount
protected

Definition at line 49 of file qsenormalizer.h.

Referenced by matchesScan(), and matchesScanPattern().

QseEnumParameter QseNormalizer::m_OutputEnergyUnits
protected

Definition at line 54 of file qsenormalizer.h.

Referenced by energyScalingRatio().

QseRegExpParameter QseNormalizer::m_ScanPattern
protected

Definition at line 47 of file qsenormalizer.h.

Referenced by matchesScan(), and matchesScanPattern().


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