Classes | |
struct | Payload |
driver specific part below More... | |
Public Member Functions | |
XNMRPulseAnalyzer (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
virtual void | showForms () override |
Shows all forms belonging to driver. | |
const shared_ptr< XScalarEntry > & | entryPeakAbs () const |
Entry storing the power of the strogest peak. | |
const shared_ptr< XScalarEntry > & | entryPeakFreq () const |
Entry storing the freq. of the strongest peak. | |
const shared_ptr< XItemNode < XDriverList, XDSO > > & | dso () const |
const shared_ptr< XItemNode < XDriverList, XPulser > > & | pulser () const |
void | acquire () |
const shared_ptr< XDoubleNode > & | fromTrig () const |
Origin from trigger [ms]. | |
const shared_ptr< XDoubleNode > & | width () const |
length of data points [ms] | |
const shared_ptr< XDoubleNode > & | phaseAdv () const |
const shared_ptr< XBoolNode > & | usePNR () const |
Periodic-Noise Reduction. | |
const shared_ptr< XComboNode > & | pnrSolverList () const |
Select spectrum solver. | |
const shared_ptr< XComboNode > & | solverList () const |
Select spectrum solver. FFT/AR/MEM. | |
const shared_ptr< XDoubleNode > & | bgPos () const |
Position from trigger, for background subtraction or PNR [ms]. | |
const shared_ptr< XDoubleNode > & | bgWidth () const |
length for background subtraction or PNR [ms] | |
const shared_ptr< XDoubleNode > & | fftPos () const |
Phase 0 deg. position of FT component from trigger [ms]. | |
const shared_ptr< XUIntNode > & | fftLen () const |
If exceeding Width, do zerofilling. | |
const shared_ptr< XComboNode > & | windowFunc () const |
FFT/AR Window Function. | |
const shared_ptr< XDoubleNode > & | windowWidth () const |
FFT/AR/MEM Window Length / Taps. | |
const shared_ptr< XDoubleNode > & | difFreq () const |
Set Digital IF frequency. | |
const shared_ptr< XBoolNode > & | exAvgIncr () const |
Extra Average with infinite steps. | |
const shared_ptr< XUIntNode > & | extraAvg () const |
Extra Average Steps. | |
const shared_ptr < XTouchableNode > & | avgClear () const |
Clear averaging results. | |
const shared_ptr< XUIntNode > & | numEcho () const |
of echoes | |
const shared_ptr< XDoubleNode > & | echoPeriod () const |
If NumEcho > 1, need periodic term of echoes [ms]. | |
![]() | |
XSecondaryDriverInterface (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
Protected Member Functions | |
virtual void | analyze (Transaction &tr, const Snapshot &shot_emitter, const Snapshot &shot_others, XDriver *emitter) override throw (XRecordError&) |
This function is called when a connected driver emit a signal. | |
virtual void | visualize (const Snapshot &shot) override |
virtual bool | checkDependency (const Snapshot &shot_this, const Snapshot &shot_emitter, const Snapshot &shot_others, XDriver *emitter) const override |
![]() | |
void | connect (const shared_ptr< XPointerItemNode< XDriverList > > &selecter) |
Call this to receive signal/data. | |
void | requestAnalysis () |
virtual void | start () |
usually nothing to do | |
virtual void | stop () |
usually nothing to do | |
Private Member Functions | |
const shared_ptr< XWaveNGraph > & | waveGraph () const |
Stored Wave for display. | |
const shared_ptr< XWaveNGraph > & | ftWaveGraph () const |
Stored FFT Wave for display. | |
void | onCondChanged (const Snapshot &shot, XValueNodeBase *) |
void | onSpectrumShow (const Snapshot &shot, XTouchableNode *) |
void | onAvgClear (const Snapshot &shot, XTouchableNode *) |
void | backgroundSub (Transaction &tr, std::vector< std::complex< double > > &wave, int pos, int length, int bgpos, int bglength) |
void | rotNFFT (Transaction &tr, int ftpos, double ph, std::vector< std::complex< double > > &wave, std::vector< std::complex< double > > &ftwave) |
Private Attributes | |
const shared_ptr< XScalarEntry > | m_entryPeakAbs |
const shared_ptr< XScalarEntry > | m_entryPeakFreq |
const shared_ptr< XItemNode < XDriverList, XDSO > > | m_dso |
const shared_ptr< XDoubleNode > | m_fromTrig |
const shared_ptr< XDoubleNode > | m_width |
const shared_ptr< XDoubleNode > | m_phaseAdv |
[deg] | |
const shared_ptr< XBoolNode > | m_usePNR |
const shared_ptr< XComboNode > | m_pnrSolverList |
const shared_ptr< XComboNode > | m_solverList |
const shared_ptr< XDoubleNode > | m_bgPos |
const shared_ptr< XDoubleNode > | m_bgWidth |
const shared_ptr< XDoubleNode > | m_fftPos |
const shared_ptr< XUIntNode > | m_fftLen |
const shared_ptr< XComboNode > | m_windowFunc |
const shared_ptr< XDoubleNode > | m_windowWidth |
const shared_ptr< XDoubleNode > | m_difFreq |
const shared_ptr< XBoolNode > | m_exAvgIncr |
const shared_ptr< XUIntNode > | m_extraAvg |
const shared_ptr< XUIntNode > | m_numEcho |
const shared_ptr< XDoubleNode > | m_echoPeriod |
const shared_ptr< XTouchableNode > | m_spectrumShow |
const shared_ptr< XTouchableNode > | m_avgClear |
const shared_ptr< XBoolNode > | m_picEnabled |
Phase Inversion Cycling. | |
const shared_ptr< XItemNode < XDriverList, XPulser > > | m_pulser |
atomic< int > | m_isPulseInversionRequested |
std::deque< xqcon_ptr > | m_conUIs |
shared_ptr< XListener > | m_lsnOnSpectrumShow |
shared_ptr< XListener > | m_lsnOnAvgClear |
shared_ptr< XListener > | m_lsnOnCondChanged |
const qshared_ptr< FrmNMRPulse > | m_form |
const shared_ptr< XStatusPrinter > | m_statusPrinter |
const qshared_ptr< FrmGraphNURL > | m_spectrumForm |
const shared_ptr< XWaveNGraph > | m_waveGraph |
const shared_ptr< XWaveNGraph > | m_ftWaveGraph |
shared_ptr< SpectrumSolverWrapper > | m_solver |
shared_ptr< SpectrumSolverWrapper > | m_solverPNR |
shared_ptr< XXYPlot > | m_peakPlot |
Definition at line 29 of file nmrpulse.h.
|
overrideprotectedvirtual |
Checks if the connected drivers have valid time stamps.
Implements XSecondaryDriverInterface< T >.
Definition at line 329 of file nmrpulse.cpp.
|
inline |
|
overrideprotectedvirtual |
This function is called after committing XPrimaryDriver::analyzeRaw() or XSecondaryDriver::analyze(). This might be called even if the record is invalid (time() == false).
Implements XSecondaryDriverInterface< T >.
Definition at line 639 of file nmrpulse.cpp.
References SpectrumSolver::peaks().