msl 1.3.0
Loading...
Searching...
No Matches
msl::graph::AbstractNode Class Referenceabstract

Detailed Description

Base class for all graph nodes.

#include <AbstractNode.h>

Public Types

using Pointer = std::shared_ptr< AbstractNode >
 Reference-counted pointer to AbstractNode

 
using ConstPointer = std::shared_ptr< AbstractNode const >
 Reference-counted constant pointer to AbstractNode

 

Public Member Functions

virtual ~AbstractNode ()=default
 
virtual NLSStatus prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports)=0
 Prepare the node.
 
virtual NLSStatus run (MrProt &protocol, SeqLim &limits, SeqExpo &exports)=0
 Run the node.
 
Dictionary::ConstPointer registry () const
 Return the registry.
 
Dictionary::Pointer registry ()
 Return the registry.
 
virtual AbstractNodesetRegistry (Dictionary::Pointer registry)
 Set the registry.
 
virtual uint64_t duration () const =0
 Return the duration in microseconds, requires preparation.
 
virtual MrProtocolData::SeqExpoRFInfo rfInfo () const =0
 Return the RF information for SAR computation, requires preparation.
 
template<typename T >
T const & get (std::string const &key) const
 Return an object from the dictionary.
 
template<typename T >
T & get (std::string const &key)
 Return an object from the dictionary.
 
boost::typeindex::type_info const & type (std::string const &key) const
 Return the type of an object in the dictionary.
 

Member Typedef Documentation

◆ Pointer

using msl::graph::AbstractNode::Pointer = std::shared_ptr< AbstractNode >

Reference-counted pointer to AbstractNode

◆ ConstPointer

using msl::graph::AbstractNode::ConstPointer = std::shared_ptr< AbstractNode const>

Reference-counted constant pointer to AbstractNode

Constructor & Destructor Documentation

◆ ~AbstractNode()

virtual msl::graph::AbstractNode::~AbstractNode ( )
virtualdefault

Member Function Documentation

◆ prepare()

virtual NLSStatus msl::graph::AbstractNode::prepare ( MrProt &  protocol,
SeqLim &  limits,
SeqExpo &  exports 
)
pure virtual

◆ run()

virtual NLSStatus msl::graph::AbstractNode::run ( MrProt &  protocol,
SeqLim &  limits,
SeqExpo &  exports 
)
pure virtual

◆ registry() [1/2]

Dictionary::ConstPointer msl::graph::AbstractNode::registry ( ) const

Return the registry.

◆ registry() [2/2]

Dictionary::Pointer msl::graph::AbstractNode::registry ( )

Return the registry.

◆ setRegistry()

virtual AbstractNode & msl::graph::AbstractNode::setRegistry ( Dictionary::Pointer  registry)
virtual

Set the registry.

Reimplemented in msl::graph::Case< T >, and msl::graph::Node.

◆ duration()

virtual uint64_t msl::graph::AbstractNode::duration ( ) const
pure virtual

Return the duration in microseconds, requires preparation.

Note
The SBB API uses a signed long, i.e. a max duration of 2^31 / 10^6 seconds, i.e. less than 36 minutes. For a total duration, this is insufficient, hence the use of uint64_t (max value over half a million years).

Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::Loop, and msl::graph::Node.

◆ rfInfo()

virtual MrProtocolData::SeqExpoRFInfo msl::graph::AbstractNode::rfInfo ( ) const
pure virtual

Return the RF information for SAR computation, requires preparation.

Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::Loop, and msl::graph::Node.

◆ get() [1/2]

template<typename T >
T const & msl::graph::AbstractNode::get ( std::string const &  key) const
inline

Return an object from the dictionary.

◆ get() [2/2]

template<typename T >
T & msl::graph::AbstractNode::get ( std::string const &  key)
inline

Return an object from the dictionary.

◆ type()

boost::typeindex::type_info const & msl::graph::AbstractNode::type ( std::string const &  key) const

Return the type of an object in the dictionary.


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