Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XNMRBuiltInNetworkAnalyzer Class Reference

Built-in network analyzer using a directional coupler in coherent pulse NMR system. More...

#include <pulseanalyzer.h>

Inheritance diagram for XNMRBuiltInNetworkAnalyzer:
Inheritance graph
[legend]

Classes

struct  Payload
 

Public Member Functions

 XNMRBuiltInNetworkAnalyzer (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual void showForms ()
 Shows all forms belonging to driver.
 
virtual void onStartFreqChanged (const Snapshot &shot, XValueNodeBase *)
 
virtual void onStopFreqChanged (const Snapshot &shot, XValueNodeBase *)
 
virtual void onAverageChanged (const Snapshot &shot, XValueNodeBase *)
 
virtual void onPointsChanged (const Snapshot &shot, XValueNodeBase *)
 
virtual void onCalOpenTouched (const Snapshot &shot, XTouchableNode *)
 
virtual void onCalShortTouched (const Snapshot &shot, XTouchableNode *)
 
virtual void onCalTermTouched (const Snapshot &shot, XTouchableNode *)
 
virtual void onCalThruTouched (const Snapshot &shot, XTouchableNode *)
 
virtual void getMarkerPos (unsigned int num, double &x, double &y)
 
virtual void oneSweep ()
 
virtual void startContSweep ()
 
virtual void acquireTrace (shared_ptr< RawData > &, unsigned int ch)
 
virtual void convertRaw (RawDataReader &reader, Transaction &tr) throw (XRecordError&)
 Converts raw to dispaly-able.
 
virtual void open () throw (XKameError &)
 Be called just after opening interface. Call start() inside this routine appropriately.
 
virtual void closeInterface ()
 
- Public Member Functions inherited from XSecondaryDriverInterface< XNetworkAnalyzer >
 XSecondaryDriverInterface (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XNetworkAnalyzer
 XNetworkAnalyzer (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual ~XNetworkAnalyzer ()
 usually nothing to do.
 
- Public Member Functions inherited from XPrimaryDriverWithThread
 XPrimaryDriverWithThread (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XPrimaryDriver
 XPrimaryDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XDriver
 XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XNode
 XNode (const char *name, bool runtime=false)
 
template<class T >
shared_ptr< T > create (const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (const char *name, bool runtime, Args &&...args)
 
template<class T >
shared_ptr< T > create (Transaction &tr, const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (Transaction &tr, const char *name, bool runtime, Args &&...args)
 
XString getName () const
 
virtual XString getLabel () const
 
XString getTypename () const
 
shared_ptr< XNodegetChild (const XString &var) const
 
shared_ptr< XNodegetParent () const
 
void setUIEnabled (bool v)
 Enables/disables controls over scripting/GUI.
 
void disable ()
 Disables all scripting/GUI operations on this node hereafter.
 
- Public Member Functions inherited from Transactional::Node< XNode >
bool insert (Transaction< XNode > &tr, const shared_ptr< XNode > &var, bool online_after_insertion=false)
 
void insert (const shared_ptr< XNode > &var)
 
bool release (Transaction< XNode > &tr, const shared_ptr< XNode > &var)
 
void release (const shared_ptr< XNode > &var)
 
void releaseAll ()
 
bool swap (Transaction< XNode > &tr, const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
void swap (const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
XNodeupperNode (Snapshot< XNode > &shot)
 Finds the parent node in shot.
 
Snapshot< XNodeiterate_commit (Closure)
 
Snapshot< XNodeiterate_commit_if (Closure)
 
void iterate_commit_while (Closure)
 
void print_ () const
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 

Protected Member Functions

virtual void analyze (Transaction &tr, const Snapshot &shot_emitter, const Snapshot &shot_others, XDriver *emitter) throw (XRecordError&)
 This function is called when a connected driver emit a signal.
 
virtual void visualize (const Snapshot &shot)
 
virtual bool checkDependency (const Snapshot &shot_this, const Snapshot &shot_emitter, const Snapshot &shot_others, XDriver *emitter) const
 
- Protected Member Functions inherited from XSecondaryDriverInterface< XNetworkAnalyzer >
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
 
- Protected Member Functions inherited from XNetworkAnalyzer
virtual void analyzeRaw (RawDataReader &reader, Transaction &tr) throw (XRecordError&)
 
const shared_ptr< XScalarEntry > & marker1X () const
 driver specific part below
 
const shared_ptr< XScalarEntry > & marker1Y () const
 
const shared_ptr< XScalarEntry > & marker2X () const
 
const shared_ptr< XScalarEntry > & marker2Y () const
 
const shared_ptr< XDoubleNode > & startFreq () const
 
const shared_ptr< XDoubleNode > & stopFreq () const
 
const shared_ptr< XComboNode > & points () const
 
const shared_ptr< XUIntNode > & average () const
 
const shared_ptr
< XTouchableNode > & 
calOpen () const
 
const shared_ptr
< XTouchableNode > & 
calShort () const
 
const shared_ptr
< XTouchableNode > & 
calTerm () const
 
const shared_ptr
< XTouchableNode > & 
calThru () const
 

Private Types

enum  {
  CAL_NONE = 0, CAL_OPEN = 1, CAL_SHORT = 2, CAL_TERM = 3,
  CAL_THRU = 4
}
 

Private Member Functions

void clear ()
 
void restart (Transaction &tr, int calmode, bool clear=false)
 
bool restart (int calmode, bool clear=false)
 
void writeTraceAndMarkers (Transaction &tr)
 

Private Attributes

const shared_ptr< XItemNode
< XDriverList, XPulser > > 
m_pulser
 
const shared_ptr< XItemNode
< XDriverList, XDSO > > 
m_dso
 
const shared_ptr< XItemNode
< XDriverList, XSG > > 
m_sg
 
shared_ptr< FFTm_fft
 
std::vector< std::complex
< double > > 
m_fftin
 
std::vector< std::complex
< double > > 
m_fftout
 

Additional Inherited Members

- Public Types inherited from Transactional::Node< XNode >
using NodeNotFoundError = std::domain_error
 
using NodeList = fast_vector< shared_ptr< XNode >, 2 >
 
using iterator = typename NodeList::iterator
 
using const_iterator = typename NodeList::const_iterator
 
- Static Public Member Functions inherited from XNode
template<class T__ >
static shared_ptr< T__ > createOrphan (const char *name)
 
template<class T__ , typename... Args_>
static shared_ptr< T__ > createOrphan (const char *name, bool runtime, Args_ &&...args)
 

Detailed Description

Built-in network analyzer using a directional coupler in coherent pulse NMR system.

Definition at line 24 of file pulseanalyzer.h.

Member Function Documentation

bool XNMRBuiltInNetworkAnalyzer::checkDependency ( const Snapshot shot_this,
const Snapshot shot_emitter,
const Snapshot shot_others,
XDriver emitter 
) const
protectedvirtual

Checks if the connected drivers have valid time stamps.

Returns
true if dependency is resolved. This function must be reentrant unlike analyze().

Implements XSecondaryDriverInterface< XNetworkAnalyzer >.

Definition at line 298 of file pulseanalyzer.cpp.

virtual void XNMRBuiltInNetworkAnalyzer::closeInterface ( )
inlinevirtual

Be called for closing interfaces. This function should not cause an exception.

Implements XPrimaryDriverWithThread.

Definition at line 65 of file pulseanalyzer.h.

void XNMRBuiltInNetworkAnalyzer::visualize ( const Snapshot shot)
protectedvirtual

This function is called inside analyze() or analyzeRaw() this must be reentrant unlike analyze()

Implements XSecondaryDriverInterface< XNetworkAnalyzer >.

Definition at line 435 of file pulseanalyzer.cpp.

References XNetworkAnalyzer::visualize().


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

Generated for KAME4 by  doxygen 1.8.3