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

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
Dictionary::ConstPointer registry () const
 Return the registry.
Dictionary::Pointerregistry ()
 Return the registry.
virtual AbstractNodesetRegistry (Dictionary::Pointer registry)
 Set the registry.
virtual void reset ()
 Reset to a default state.
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.
template<typename T>
AbstractNodeset (std::string const &key, T &&value)
 Store an object in the dictionary, create it if needed.
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.

Additional Inherited Members

Protected Member Functions inherited from msl::graph::AbstractNode
 AbstractNode (Dictionary::Pointer registry={})
 Create a node with the given registry.
 AbstractNode (AbstractNode const &)=default
 AbstractNode (AbstractNode &&)=default
AbstractNodeoperator= (AbstractNode const &)=default
AbstractNodeoperator= (AbstractNode &&)=default
Protected Attributes inherited from msl::graph::AbstractNode
Dictionary::Pointer _registry
 Registry attached to this node.

Member Function Documentation

◆ 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.


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