msl 1.3.0
Loading...
Searching...
No Matches
msl::graph::Block< T, Slices > Class Template Reference

Detailed Description

template<typename T, typename Slices = std::vector<sSLICE_POS>>
class msl::graph::Block< T, Slices >

Node encapsulating a block (anything respecting the API of SeqBuildBlock).

Required part of the SeqBuildBlock API

  • prepare (potentially implemented via prepSBB for classes inherited from SeqBuildBlock)
  • run (potentially implemented via runSBB for classes inherited from SeqBuildBlock)
  • getDurationPerRequest
  • getRFInfoPerRequest

Since SeqBuildBlock::run requires a sSLICE_POS, this node is linked to a counter which provides the index of the slice.

#include <Block.h>

Public Types

using Pointer = std::shared_ptr< Block< T, Slices > >
 Reference-counted pointer to Block.
 
using ConstPointer = std::shared_ptr< Block< T const, Slices > >
 Reference-counted constant pointer to Block.
 
- Public Types inherited from msl::graph::AbstractNode
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 ~Block ()=default
 
NLSStatus prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Prepare the block.
 
NLSStatus run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Run the block with the slice referenced by the counter.
 
uint64_t duration () const override
 Return the duration of the block.
 
MrProtocolData::SeqExpoRFInfo rfInfo () const override
 Return the RF information of the block.
 
- Public Member Functions inherited from msl::graph::AbstractNode
virtual ~AbstractNode ()=default
 
Dictionary::ConstPointer registry () const
 Return the registry.
 
Dictionary::Pointer registry ()
 Return the registry.
 
virtual AbstractNodesetRegistry (Dictionary::Pointer registry)
 Set the registry.
 
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.
 

Static Public Member Functions

template<typename ... Args>
static Pointer New (std::string const &slice, Args &&... args)
 Create a Block node by passing arguments to the encapsulated block.
 

Public Attributes

block
 Encapsulated block.
 

Member Typedef Documentation

◆ Pointer

template<typename T , typename Slices = std::vector<sSLICE_POS>>
using msl::graph::Block< T, Slices >::Pointer = std::shared_ptr<Block<T, Slices> >

Reference-counted pointer to Block.

◆ ConstPointer

template<typename T , typename Slices = std::vector<sSLICE_POS>>
using msl::graph::Block< T, Slices >::ConstPointer = std::shared_ptr<Block<T const, Slices> >

Reference-counted constant pointer to Block.

Constructor & Destructor Documentation

◆ ~Block()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
virtual msl::graph::Block< T, Slices >::~Block ( )
virtualdefault

Member Function Documentation

◆ New()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
template<typename ... Args>
static Pointer msl::graph::Block< T, Slices >::New ( std::string const &  slice,
Args &&...  args 
)
inlinestatic

Create a Block node by passing arguments to the encapsulated block.

◆ prepare()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
NLSStatus msl::graph::Block< T, Slices >::prepare ( MrProt &  protocol,
SeqLim &  limits,
SeqExpo &  exports 
)
inlineoverridevirtual

Prepare the block.

Implements msl::graph::AbstractNode.

◆ run()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
NLSStatus msl::graph::Block< T, Slices >::run ( MrProt &  protocol,
SeqLim &  limits,
SeqExpo &  exports 
)
inlineoverridevirtual

Run the block with the slice referenced by the counter.

Implements msl::graph::AbstractNode.

◆ duration()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
uint64_t msl::graph::Block< T, Slices >::duration ( ) const
inlineoverridevirtual

Return the duration of the block.

Implements msl::graph::AbstractNode.

◆ rfInfo()

template<typename T , typename Slices = std::vector<sSLICE_POS>>
MrProtocolData::SeqExpoRFInfo msl::graph::Block< T, Slices >::rfInfo ( ) const
inlineoverridevirtual

Return the RF information of the block.

Implements msl::graph::AbstractNode.

Member Data Documentation

◆ block

template<typename T , typename Slices = std::vector<sSLICE_POS>>
T msl::graph::Block< T, Slices >::block

Encapsulated block.


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