qavrg 0.0.28
|
#include <qavrgfitter.h>
Public Types | |
enum | { Background, Slope, PeakHeight } |
Public Slots | |
void | performCalculation () |
QVector< double > | readResult (int parm, int start, int nbins) |
QVector< double > | readResult (int parm) |
double | readResult (int parm, int bin) |
double | readResultAverage (int parm, int start, int nbins) |
double | readResultBunchAverage (int parm, int bunch, int norbits) |
QVector< double > | get_RawData (int start, int nbins) |
QVector< double > | get_RawData () |
double | get_RawData (int bin) |
QVector< double > | get_ReferenceData (int start, int nbins) |
QVector< double > | get_ReferenceData () |
double | get_ReferenceData (int bin) |
QVector< double > | get_DarkData (int start, int nbins) |
QVector< double > | get_DarkData () |
double | get_DarkData (int bin) |
QVector< double > | get_FitData (int start, int nbins) |
QVector< double > | get_FitData () |
double | get_FitData (int bin) |
Public Member Functions | |
QavrgFitter (QavrgAcquisition *acq, int chan) | |
~QavrgFitter () | |
void | resize (int nsamples) |
void | setReferenceData () |
void | saveReferenceData () |
void | loadReferenceData () |
void | setDarkData () |
void | saveDarkData () |
void | loadDarkData () |
QMutex * | mutex () |
double * | rawDataPtr () |
double * | referenceDataPtr () |
double * | darkDataPtr () |
int | resultSize () |
void | prepareCalculation () |
void | readSettings (QSettings *settings) |
void | writeSettings (QSettings *settings) |
double | inputFullScale (int index) const |
double | get_InputFullScale () const |
void | set_InputFullScale (double val) |
QCEP_INTEGER_PROPERTY (InputGain) | |
QCEP_DOUBLE_PROPERTY (InputOffset) | |
QCEP_INTEGER_PROPERTY (InputBandwidth) | |
QCEP_INTEGER_PROPERTY (InputCoupling) | |
QCEP_DOUBLE_PROPERTY (FittingOffset) | |
QCEP_INTEGER_PROPERTY (FittingStart) | |
QCEP_INTEGER_PROPERTY (FittingEnd) | |
QCEP_BOOLEAN_PROPERTY (DisplayData) | |
QCEP_BOOLEAN_PROPERTY (DisplayRaw) | |
QCEP_BOOLEAN_PROPERTY (DisplayReference) | |
QCEP_BOOLEAN_PROPERTY (DisplayDark) | |
QCEP_BOOLEAN_PROPERTY (DisplayFit) | |
QCEP_BOOLEAN_PROPERTY (DarkAvailable) | |
QCEP_BOOLEAN_PROPERTY (ReferenceAvailable) | |
Properties | |
double | inputFullScale |
int | inputGain |
double | inputOffset |
int | inputBandwidth |
int | inputCoupling |
double | fittingOffset |
int | fittingStart |
int | fittingEnd |
bool | displayData |
bool | displayRaw |
bool | displayReference |
bool | displayDark |
bool | displayFit |
bool | darkAvailable |
bool | referenceAvailable |
Private Member Functions | |
QString | referenceDataPath () |
QString | darkDataPath () |
Private Attributes | |
QMutex | m_Mutex |
QavrgAcquisition * | m_Acquisition |
int | m_Channel |
int | m_NSamples |
QVector< double > | m_RawData |
QVector< double > | m_DarkData |
QVector< double > | m_ReferenceData |
QVector< double > | m_FitData |
QVector< QVector< double > > | m_Results |
int | m_ResultSize |
Definition at line 11 of file qavrgfitter.h.
anonymous enum |
Definition at line 73 of file qavrgfitter.h.
{ Background, Slope, PeakHeight };
QavrgFitter::QavrgFitter | ( | QavrgAcquisition * | acq, |
int | chan | ||
) |
Definition at line 11 of file qavrgfitter.cpp.
References prepareCalculation().
: QObject(), m_Mutex(QMutex::Recursive), m_Acquisition(acq), m_Channel(chan), m_NSamples(0), m_InputGain(m_Acquisition->saver(), this, "inputGain", 0, "Channel Input Gain"), m_InputOffset(m_Acquisition->saver(), this, "inputOffset", 0, "Channel Input Offset"), m_InputBandwidth(m_Acquisition->saver(), this, "inputBandwidth", 0, "Channel Input Bandwidth"), m_InputCoupling(m_Acquisition->saver(), this, "inputCoupling", 3, "Channel Input Coupling"), m_FittingOffset(m_Acquisition->saver(), this, "fittingOffset", 0, "Channel Fitting Offset"), m_FittingStart(m_Acquisition->saver(), this, "fittingStart", 0, "Channel Fitting Start"), m_FittingEnd(m_Acquisition->saver(), this, "fittingEnd", 32, "Channel Fitting End"), m_DisplayData(m_Acquisition->saver(), this, "displayData", false, "Display Channel Data"), m_DisplayRaw(m_Acquisition->saver(), this, "displayRaw", false, "Display Channel Raw Data"), m_DisplayReference(m_Acquisition->saver(), this, "displayReference", false, "Display Channel Reference Data"), m_DisplayDark(m_Acquisition->saver(), this, "displayDark", false, "Display Channel Dark Data"), m_DisplayFit(m_Acquisition->saver(), this, "displayFit", false, "Display Channel Fit Data"), m_DarkAvailable(QcepSettingsSaverWPtr(), this, "darkAvailable", false, "Channel Dark Data Available"), m_ReferenceAvailable(QcepSettingsSaverWPtr(), this, "referenceAvailable", false, "Channel Reference Data Available") // m_DarkChanged(this, "darkChanged", false), // m_ReferenceChanged(this, "referenceChanged", false), { // printf("Fitter channel %d started\n", chan); prepareCalculation(); }
QavrgFitter::~QavrgFitter | ( | ) |
Definition at line 39 of file qavrgfitter.cpp.
{
// printf("Fitter channel %d stopped\n", m_Channel);
}
QString QavrgFitter::darkDataPath | ( | ) | [private] |
Definition at line 552 of file qavrgfitter.cpp.
References m_Channel, and QavrgSettings::settingsDirectory().
Referenced by loadDarkData(), and saveDarkData().
{ return QavrgSettings::settingsDirectory().filePath(tr("dark%1").arg(m_Channel)); }
double * QavrgFitter::darkDataPtr | ( | ) |
Definition at line 643 of file qavrgfitter.cpp.
References m_DarkData.
Referenced by QavrgAcquisitionSimulated::calculateSimulatedAcquisition(), and QavrgAcquisition::readoutAcquisition().
{ // if (!m_Mutex.locked()) { // printf("Warning: QavrgFitter::darkDataPtr called on unlocked object\n"); // } return m_DarkData.data(); }
QVector< double > QavrgFitter::get_DarkData | ( | int | start, |
int | nbins | ||
) | [slot] |
Definition at line 366 of file qavrgfitter.cpp.
References m_DarkData, and m_Mutex.
Referenced by QavrgWindow::updateGraph().
{ QMutexLocker lock(&m_Mutex); return m_DarkData.mid(start,nbins); }
QVector< double > QavrgFitter::get_DarkData | ( | ) | [slot] |
Definition at line 373 of file qavrgfitter.cpp.
References m_DarkData, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); return m_DarkData; }
double QavrgFitter::get_DarkData | ( | int | bin | ) | [slot] |
Definition at line 380 of file qavrgfitter.cpp.
References m_DarkData, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); return m_DarkData.value(bin); }
QVector< double > QavrgFitter::get_FitData | ( | int | start, |
int | nbins | ||
) | [slot] |
Definition at line 387 of file qavrgfitter.cpp.
References m_FitData, and m_Mutex.
Referenced by QavrgWindow::updateGraph().
QVector< double > QavrgFitter::get_FitData | ( | ) | [slot] |
double QavrgFitter::get_FitData | ( | int | bin | ) | [slot] |
double QavrgFitter::get_InputFullScale | ( | ) | const |
Definition at line 433 of file qavrgfitter.cpp.
References inputFullScale.
{ // QMutexLocker lock(&m_Mutex); return inputFullScale(get_InputGain()); }
QVector< double > QavrgFitter::get_RawData | ( | ) | [slot] |
double QavrgFitter::get_RawData | ( | int | bin | ) | [slot] |
QVector< double > QavrgFitter::get_RawData | ( | int | start, |
int | nbins | ||
) | [slot] |
Definition at line 324 of file qavrgfitter.cpp.
References m_Mutex, and m_RawData.
Referenced by QavrgAcquisition::saveData(), and QavrgWindow::updateGraph().
QVector< double > QavrgFitter::get_ReferenceData | ( | int | start, |
int | nbins | ||
) | [slot] |
Definition at line 345 of file qavrgfitter.cpp.
References m_Mutex, and m_ReferenceData.
Referenced by QavrgWindow::updateGraph().
{ QMutexLocker lock(&m_Mutex); return m_ReferenceData.mid(start,nbins); }
QVector< double > QavrgFitter::get_ReferenceData | ( | ) | [slot] |
Definition at line 352 of file qavrgfitter.cpp.
References m_Mutex, and m_ReferenceData.
{ QMutexLocker lock(&m_Mutex); return m_ReferenceData; }
double QavrgFitter::get_ReferenceData | ( | int | bin | ) | [slot] |
Definition at line 359 of file qavrgfitter.cpp.
References m_Mutex, and m_ReferenceData.
{ QMutexLocker lock(&m_Mutex); return m_ReferenceData.value(bin); }
double QavrgFitter::inputFullScale | ( | int | index | ) | const |
Definition at line 422 of file qavrgfitter.cpp.
{ const double vals[] = {0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0}; if (index < 0 || index > 6) { return 0; } else { return vals[index]; } }
void QavrgFitter::loadDarkData | ( | ) |
Definition at line 583 of file qavrgfitter.cpp.
References darkDataPath(), m_Channel, m_DarkData, m_Mutex, m_NSamples, and resize().
{ QMutexLocker lock(&m_Mutex); QFile file(darkDataPath()); if (!file.open(QIODevice::ReadOnly)) { printf("Couldn't load dark data for channel %d\n", m_Channel); return; } int sz = file.size(); int nsamp = sz / sizeof(double); int nread = nsamp*sizeof(double); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); if (nsamp > m_NSamples) { resize(nsamp); } m_DarkData.fill(0); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); int szrd = file.read((char*) m_DarkData.data(), nread); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); if (szrd != nread) { printf("Incomplete read, read %ld of %ld.\n", (long) szrd, (long) nread); } set_DarkAvailable(true); }
void QavrgFitter::loadReferenceData | ( | ) |
Definition at line 506 of file qavrgfitter.cpp.
References m_Channel, m_Mutex, m_NSamples, m_ReferenceData, referenceDataPath(), and resize().
{ QMutexLocker lock(&m_Mutex); QFile file(referenceDataPath()); if (!file.open(QIODevice::ReadOnly)) { printf("Couldn't load reference data for channel %d\n", m_Channel); return; } int sz = file.size(); int nsamp = sz / sizeof(double); int nread = nsamp*sizeof(double); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); if (nsamp > m_NSamples) { resize(nsamp); } m_ReferenceData.fill(0); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); int szrd = file.read((char*) m_ReferenceData.data(), nread); // printf("File size %d, nsamp %d, nread %d\n", sz, nsamp, nread); if (szrd != nread) { printf("Incomplete read, read %d of %d.\n", szrd, nread); } set_ReferenceAvailable(true); }
QMutex * QavrgFitter::mutex | ( | ) |
void QavrgFitter::performCalculation | ( | ) | [slot] |
Definition at line 155 of file qavrgfitter.cpp.
References QavrgMatrix::gaussj(), m_Acquisition, m_Channel, m_DarkData, m_FitData, m_Mutex, m_RawData, m_ReferenceData, and m_Results.
Referenced by QavrgAcquisitionSimulated::calculateSimulatedAcquisition(), and QavrgAcquisition::readoutAcquisition().
{ QMutexLocker lock(&m_Mutex); // printf("Fitter channel %d calculation started\n", m_Channel); // printf("Current thread %p, this->thread() %p\n", QThread::currentThread(), thread()); QTime tm; tm.start(); int sz = m_Acquisition -> get_NSamples(); if (sz > m_RawData.size()) { printf("data record for channel %d shorter than expected (expected %d, actual %d, adjusting\n", m_Channel, sz, m_RawData.size()); sz = m_RawData.size(); } if (!get_ReferenceAvailable()) { printf("can't perform fitting if no reference is available\n"); return; } if (sz > m_ReferenceData.size()) { printf("reference data record for channel %d shorter than expected (expected %d, actual %d, adjusting\n", m_Channel, sz, m_ReferenceData.size()); sz = m_ReferenceData.size(); } if (get_DarkAvailable() && sz > m_DarkData.size()) { printf("dark data record for channel %d shorter than expected (expected %d, actual %d, adjusting\n", m_Channel, sz, m_DarkData.size()); sz = m_DarkData.size(); } m_FitData.resize(sz); m_FitData.fill(0); double bucketsperorbit = m_Acquisition -> get_BucketsPerOrbit(); double orbitperiod = m_Acquisition -> get_SamplesPerOrbit(); double bunchperiod = orbitperiod/bucketsperorbit; QVector<int> filledBuckets = m_Acquisition -> get_FilledBuckets(); if (filledBuckets.size() == 0) { // printf("Constructing fake fill pattern"); for (int i=0; i<24; i++) { filledBuckets.append(i*bucketsperorbit/24.0); } } double* d = m_RawData.data(); double* ref = m_ReferenceData.data(); double* drk = m_DarkData.data(); double* fit = m_FitData.data(); m_Results.resize(3); m_Results[0].resize(0); m_Results[1].resize(0); m_Results[2].resize(0); double t0 = 0; // printf("Ch%d: Samples per orbit %g, samples per bunch %g\n", m_Channel, orbitperiod, bunchperiod); // printf("%d filled buckets\n", filledBuckets.size()); int fitStart = get_FittingStart(); int fitEnd = get_FittingEnd(); double fitOffset = get_FittingOffset(); while (t0 < sz) { int b; foreach(b,filledBuckets) { double t = t0 + b*bunchperiod; int i0 = (int) (t + fitStart); int i1 = (int) (t + fitEnd); if (i1 < sz) { QavrgMatrix m(3,3); QVector<double> v(3); for (int i=0; i<3; i++) { for (int j=0; j<3; j++) { m(i,j) = 0; } v[i]=0; } if (get_DarkAvailable()) { for (int i=i0; i<i1; i++) { double x=i-i0; double r=ref[i] - drk[i] - fitOffset; double y=(d[i] - drk[i] - fitOffset); m(0,0) += 1; m(0,1) += x; m(0,2) += r; v[0] += y; m(1,0) += x; m(1,1) += x*x; m(1,2) += x*r; v[1] += y*x; m(2,0) += r; m(2,1) += r*x; m(2,2) += r*r; v[2] += y*r; } } else { for (int i=i0; i<i1; i++) { double x=i-i0; double r=ref[i] - fitOffset; double y=(d[i] - fitOffset); m(0,0) += 1; m(0,1) += x; m(0,2) += r; v[0] += y; m(1,0) += x; m(1,1) += x*x; m(1,2) += x*r; v[1] += y*x; m(2,0) += r; m(2,1) += r*x; m(2,2) += r*r; v[2] += y*r; } } QavrgMatrix::gaussj(m,v); // printf("Ch%d:Bnch%d:v0=%g:v1=%g:v2=%g\n", m_Channel, b, v[0], v[1], v[2]); if (get_DarkAvailable()) { for (int i=i0; i<i1; i++) { double x=i-i0; double r=ref[i] - drk[i] - fitOffset; fit[i] = v[0]+x*v[1]+r*v[2] + fitOffset; } } else { for (int i=i0; i<i1; i++) { double x=i-i0; double r=ref[i] - fitOffset; fit[i] = v[0]+x*v[1]+r*v[2] + fitOffset; } } m_Results[0].append(v[0]); m_Results[1].append(v[1]); m_Results[2].append(v[2]); // printf("Ch%d: Fit %g + %g*x +%g*ref\n", m_Channel, v[0], v[1], v[2]); } } t0 += orbitperiod; } }
void QavrgFitter::prepareCalculation | ( | ) |
Definition at line 104 of file qavrgfitter.cpp.
References m_Acquisition, m_Mutex, and m_ResultSize.
Referenced by QavrgFitter(), and resultSize().
{ QMutexLocker lock(&m_Mutex); double bucketsperorbit = m_Acquisition -> get_BucketsPerOrbit(); double orbitperiod = m_Acquisition -> get_SamplesPerOrbit(); double bunchperiod = orbitperiod/bucketsperorbit; QVector<int> filledBuckets = m_Acquisition -> get_FilledBuckets(); if (filledBuckets.size() == 0) { // printf("Constructing fake fill pattern"); for (int i=0; i<24; i++) { filledBuckets.append(i*bucketsperorbit/24.0); } } int sz = m_Acquisition -> get_NSamples(); m_ResultSize = 0; double t0 = 0; // printf("Ch%d: Samples per orbit %g, samples per bunch %g, buckets per orbit %g samples %d\n", // m_Channel, orbitperiod, bunchperiod, bucketsperorbit, sz); // printf("%d filled buckets\n", filledBuckets.size()); // if (filledBuckets.size() == 24) { // for (int i=0; i<24; i++) { // printf("%d\t%d\t%g\n", i, filledBuckets.value(i), (i*bucketsperorbit/24.0)); // } // } while (t0 < sz) { int b; foreach(b,filledBuckets) { double t = t0 + b*bunchperiod; // int i0 = (int) (t + get_FittingStart()); int i1 = (int) (t + get_FittingEnd()); if (i1 < sz) { m_ResultSize += 1; } } t0 += orbitperiod; } }
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DisplayRaw | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | ReferenceAvailable | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DisplayData | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DisplayReference | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DisplayFit | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DarkAvailable | ) |
QavrgFitter::QCEP_BOOLEAN_PROPERTY | ( | DisplayDark | ) |
QavrgFitter::QCEP_DOUBLE_PROPERTY | ( | InputOffset | ) |
QavrgFitter::QCEP_DOUBLE_PROPERTY | ( | FittingOffset | ) |
QavrgFitter::QCEP_INTEGER_PROPERTY | ( | FittingStart | ) |
QavrgFitter::QCEP_INTEGER_PROPERTY | ( | FittingEnd | ) |
QavrgFitter::QCEP_INTEGER_PROPERTY | ( | InputGain | ) |
QavrgFitter::QCEP_INTEGER_PROPERTY | ( | InputBandwidth | ) |
QavrgFitter::QCEP_INTEGER_PROPERTY | ( | InputCoupling | ) |
double * QavrgFitter::rawDataPtr | ( | ) |
Definition at line 625 of file qavrgfitter.cpp.
References m_RawData.
Referenced by QavrgAcquisitionSimulated::calculateSimulatedAcquisition(), and QavrgAcquisition::readoutAcquisition().
{ // if (!m_Mutex.locked()) { // printf("Warning: QavrgFitter::rawDataPtr called on unlocked object\n"); // } return m_RawData.data(); }
double QavrgFitter::readResult | ( | int | parm, |
int | bin | ||
) | [slot] |
QVector< double > QavrgFitter::readResult | ( | int | parm, |
int | start, | ||
int | nbins | ||
) | [slot] |
Definition at line 53 of file qavrgfitter.cpp.
References m_Mutex, and m_Results.
Referenced by QavrgAcquisition::readResult().
QVector< double > QavrgFitter::readResult | ( | int | parm | ) | [slot] |
double QavrgFitter::readResultAverage | ( | int | parm, |
int | start, | ||
int | nbins | ||
) | [slot] |
Definition at line 74 of file qavrgfitter.cpp.
References m_Mutex, and m_Results.
Referenced by QavrgAcquisition::readResultAverage().
double QavrgFitter::readResultBunchAverage | ( | int | parm, |
int | bunch, | ||
int | norbits | ||
) | [slot] |
Definition at line 88 of file qavrgfitter.cpp.
References m_Acquisition, m_Mutex, and m_Results.
Referenced by QavrgAcquisition::readResultBunchAverage().
{ QMutexLocker lock(&m_Mutex); double res = 0; QVector<double> vec = m_Results.value(parm); for (int i=0; i<norbits; i++) { int nb = i*m_Acquisition -> get_FilledBucketsPerOrbit() + bunch; res += vec.value(nb); } return res/norbits; }
void QavrgFitter::readSettings | ( | QSettings * | settings | ) |
Definition at line 408 of file qavrgfitter.cpp.
References m_Channel, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); QcepProperty::readSettings(this, &staticMetaObject, tr("channels%1").arg(m_Channel), settings); }
QString QavrgFitter::referenceDataPath | ( | ) | [private] |
Definition at line 475 of file qavrgfitter.cpp.
References m_Channel, and QavrgSettings::settingsDirectory().
Referenced by loadReferenceData(), and saveReferenceData().
{ return QavrgSettings::settingsDirectory().filePath(tr("ref%1").arg(m_Channel)); }
double * QavrgFitter::referenceDataPtr | ( | ) |
Definition at line 634 of file qavrgfitter.cpp.
References m_ReferenceData.
Referenced by QavrgAcquisitionSimulated::calculateSimulatedAcquisition(), and QavrgAcquisition::readoutAcquisition().
{ // if (!m_Mutex.locked()) { // printf("Warning: QavrgFitter::referenceDataPtr called on unlocked object\n"); // } return m_ReferenceData.data(); }
void QavrgFitter::resize | ( | int | nsamples | ) |
Definition at line 452 of file qavrgfitter.cpp.
References m_DarkData, m_FitData, m_Mutex, m_NSamples, m_RawData, and m_ReferenceData.
Referenced by loadDarkData(), and loadReferenceData().
{ QMutexLocker lock(&m_Mutex); if (nsamples != m_NSamples) { m_NSamples = nsamples; m_RawData.resize(m_NSamples); m_DarkData.resize(m_NSamples); m_ReferenceData.resize(m_NSamples); m_FitData.resize(m_NSamples); } }
int QavrgFitter::resultSize | ( | ) |
Definition at line 44 of file qavrgfitter.cpp.
References m_Mutex, m_ResultSize, and prepareCalculation().
Referenced by QavrgAcquisition::saveAcquisitionResult(), and QavrgAcquisition::startNewScan().
{ QMutexLocker lock(&m_Mutex); prepareCalculation(); return m_ResultSize; }
void QavrgFitter::saveDarkData | ( | ) |
Definition at line 557 of file qavrgfitter.cpp.
References darkDataPath(), m_Channel, m_DarkData, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); QFile file(darkDataPath()); if (!file.open(QIODevice::WriteOnly)) { printf("Couldn't save dark data for channel %d\n", m_Channel); return; } // printf("File size = %ld\n", file.size()); qint64 sz = m_DarkData.size()*sizeof(double); // printf("Dark data size = %ld elems\n", m_ReferenceData.size()); qint64 szwrt = file.write((char*) m_DarkData.data(), sz); // printf("New file size = %ld\n", file.size()); if (szwrt != sz) { printf("Incomplete write, wrote %ld of %ld.\n", (long) szwrt, (long) sz); } }
void QavrgFitter::saveReferenceData | ( | ) |
Definition at line 480 of file qavrgfitter.cpp.
References m_Channel, m_Mutex, m_ReferenceData, and referenceDataPath().
{ QMutexLocker lock(&m_Mutex); QFile file(referenceDataPath()); if (!file.open(QIODevice::WriteOnly)) { printf("Couldn't save reference data for channel %d\n", m_Channel); return; } // printf("File size = %ld\n", file.size()); qint64 sz = m_ReferenceData.size()*sizeof(double); // printf("Reference data size = %ld elems\n", m_ReferenceData.size()); qint64 szwrt = file.write((char*) m_ReferenceData.data(), sz); // printf("New file size = %ld\n", file.size()); if (szwrt != sz) { printf("Incomplete write, wrote %ld of %ld.\n", (long) szwrt, (long) sz); } }
void QavrgFitter::set_InputFullScale | ( | double | val | ) |
Definition at line 440 of file qavrgfitter.cpp.
References inputFullScale, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); for (int i=0; i<7; i++) { if (inputFullScale(i) >= val) { set_InputGain(i); return; } } }
void QavrgFitter::setDarkData | ( | ) |
Definition at line 543 of file qavrgfitter.cpp.
References m_DarkData, m_Mutex, and m_RawData.
{ QMutexLocker lock(&m_Mutex); m_DarkData = m_RawData; set_DarkAvailable(true); }
void QavrgFitter::setReferenceData | ( | ) |
Definition at line 466 of file qavrgfitter.cpp.
References m_Mutex, m_RawData, and m_ReferenceData.
{ QMutexLocker lock(&m_Mutex); m_ReferenceData = m_RawData; set_ReferenceAvailable(true); }
void QavrgFitter::writeSettings | ( | QSettings * | settings | ) |
Definition at line 415 of file qavrgfitter.cpp.
References m_Channel, and m_Mutex.
{ QMutexLocker lock(&m_Mutex); QcepProperty::writeSettings(this, &staticMetaObject, tr("channels%1").arg(m_Channel), settings); }
QavrgAcquisition* QavrgFitter::m_Acquisition [private] |
Definition at line 85 of file qavrgfitter.h.
Referenced by performCalculation(), prepareCalculation(), and readResultBunchAverage().
int QavrgFitter::m_Channel [private] |
Definition at line 86 of file qavrgfitter.h.
Referenced by darkDataPath(), loadDarkData(), loadReferenceData(), performCalculation(), readSettings(), referenceDataPath(), saveDarkData(), saveReferenceData(), and writeSettings().
QVector<double> QavrgFitter::m_DarkData [private] |
Definition at line 90 of file qavrgfitter.h.
Referenced by darkDataPtr(), get_DarkData(), loadDarkData(), performCalculation(), resize(), saveDarkData(), and setDarkData().
QVector<double> QavrgFitter::m_FitData [private] |
Definition at line 92 of file qavrgfitter.h.
Referenced by get_FitData(), performCalculation(), and resize().
QMutex QavrgFitter::m_Mutex [private] |
Definition at line 84 of file qavrgfitter.h.
Referenced by get_DarkData(), get_FitData(), get_RawData(), get_ReferenceData(), loadDarkData(), loadReferenceData(), mutex(), performCalculation(), prepareCalculation(), readResult(), readResultAverage(), readResultBunchAverage(), readSettings(), resize(), resultSize(), saveDarkData(), saveReferenceData(), set_InputFullScale(), setDarkData(), setReferenceData(), and writeSettings().
int QavrgFitter::m_NSamples [private] |
Definition at line 88 of file qavrgfitter.h.
Referenced by loadDarkData(), loadReferenceData(), and resize().
QVector<double> QavrgFitter::m_RawData [private] |
Definition at line 89 of file qavrgfitter.h.
Referenced by get_RawData(), performCalculation(), rawDataPtr(), resize(), setDarkData(), and setReferenceData().
QVector<double> QavrgFitter::m_ReferenceData [private] |
Definition at line 91 of file qavrgfitter.h.
Referenced by get_ReferenceData(), loadReferenceData(), performCalculation(), referenceDataPtr(), resize(), saveReferenceData(), and setReferenceData().
QVector< QVector<double> > QavrgFitter::m_Results [private] |
Definition at line 94 of file qavrgfitter.h.
Referenced by performCalculation(), readResult(), readResultAverage(), and readResultBunchAverage().
int QavrgFitter::m_ResultSize [private] |
Definition at line 95 of file qavrgfitter.h.
Referenced by prepareCalculation(), and resultSize().
bool QavrgFitter::darkAvailable [read, write] |
Definition at line 126 of file qavrgfitter.h.
bool QavrgFitter::displayDark [read, write] |
Definition at line 121 of file qavrgfitter.h.
bool QavrgFitter::displayData [read, write] |
Definition at line 115 of file qavrgfitter.h.
bool QavrgFitter::displayFit [read, write] |
Definition at line 123 of file qavrgfitter.h.
bool QavrgFitter::displayRaw [read, write] |
Definition at line 117 of file qavrgfitter.h.
bool QavrgFitter::displayReference [read, write] |
Definition at line 119 of file qavrgfitter.h.
int QavrgFitter::fittingEnd [read, write] |
Definition at line 112 of file qavrgfitter.h.
double QavrgFitter::fittingOffset [read, write] |
Definition at line 108 of file qavrgfitter.h.
int QavrgFitter::fittingStart [read, write] |
Definition at line 110 of file qavrgfitter.h.
int QavrgFitter::inputBandwidth [read, write] |
Definition at line 103 of file qavrgfitter.h.
int QavrgFitter::inputCoupling [read, write] |
Definition at line 105 of file qavrgfitter.h.
double QavrgFitter::inputFullScale [read, write] |
Definition at line 98 of file qavrgfitter.h.
Referenced by get_InputFullScale(), and set_InputFullScale().
int QavrgFitter::inputGain [read, write] |
Definition at line 98 of file qavrgfitter.h.
double QavrgFitter::inputOffset [read, write] |
Definition at line 101 of file qavrgfitter.h.
bool QavrgFitter::referenceAvailable [read, write] |
Definition at line 128 of file qavrgfitter.h.