ODIN
Public Member Functions | List of all members

Vector to loop over sequence objects. More...

#include <seqobjvec.h>

Inheritance diagram for SeqObjVector:
Inheritance graph
[legend]

Public Member Functions

 SeqObjVector (const STD_string &object_label="unnamedSeqObjVector")
 
 SeqObjVector (const SeqObjVector &sov)
 
SeqObjVectoroperator= (const SeqObjVector &sov)
 
SeqObjVectoroperator+= (const SeqObjBase &soa)
 
SeqObjVectoroperator+= (SeqGradObjInterface &sgoa)
 
SeqObjVectoroperator+= (SeqGradChanList &sgcl)
 
STD_string get_program (programContext &context) const
 
double get_duration () const
 
unsigned int event (eventContext &context) const
 
void query (queryContext &context) const
 
RecoValList get_recovallist (unsigned int reptimes, LDRkSpaceCoords &coords) const
 
SeqValList get_freqvallist (freqlistAction action) const
 
SeqValList get_delayvallist () const
 
double get_rf_energy () const
 
void clear_container ()
 
unsigned int get_vectorsize () const
 
bool needs_unrolling_check () const
 
bool is_obj_vector () const
 
bool is_acq_vector () const
 
bool is_qualvector () const
 
- Public Member Functions inherited from SeqVector
 SeqVector (const STD_string &object_label="unnamedSeqVector")
 
 SeqVector (const STD_string &object_label, unsigned int nindices, int slope=1, int offset=0)
 
 SeqVector (const SeqVector &sv)
 
virtual ~SeqVector ()
 
SeqVectoroperator= (const SeqVector &sv)
 
virtual unsigned int get_numof_iterations () const
 
virtual bool prep_iteration () const
 
virtual int get_current_index () const
 
int get_acq_index () const
 
virtual svector get_vector_commands (const STD_string &iterator) const
 
virtual STD_string get_loopcommand () const
 
SeqVectorset_indexvec (const ivector &iv)
 
ivector get_indexvec () const
 
SeqVectorset_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
SeqVectorset_encoding_scheme (encodingScheme scheme)
 
const SeqVectorget_reorder_vector () const
 
virtual nestingRelation get_nesting_relation () const
 
iarray get_index_matrix () const
 
int get_current_reord_index () const
 
STD_string get_reord_iterator (const STD_string &iterator) const
 
- Public Member Functions inherited from SeqClass
SeqClassset_temporary ()
 
- Public Member Functions inherited from Labeled
 Labeled (const STD_string &label="unnamed")
 
Labeledset_label (const STD_string &label)
 
const STD_string & get_label () const
 
Labeledoperator= (const Labeled &l)
 
- Public Member Functions inherited from SeqTreeObj
virtual STD_string get_properties () const
 
bool contains (const SeqTreeObj *sto) const
 
void tree (SeqTreeCallbackAbstract *display) const
 
- Public Member Functions inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & >
 List ()
 
 ~List ()
 
Listoperator= (const List &l)
 
Listclear ()
 
Listappend (const SeqObjBase & item)
 
Listremove (const SeqObjBase & item)
 
unsigned int size () const
 
iter get_begin ()
 
iter get_end ()
 
constiter get_const_begin () const
 
constiter get_const_end () const
 

Additional Inherited Members

- Public Types inherited from List< SeqObjBase, const SeqObjBase *, const SeqObjBase & >
typedef STD_list< const SeqObjBase * >::iterator iter
 
typedef STD_list< const SeqObjBase * >::const_iterator constiter
 
- Protected Member Functions inherited from SeqVector
virtual svector get_reord_vector_commands (const STD_string &iterator) const
 
bool is_handled () const
 
- Protected Member Functions inherited from SeqClass
void marshall_error () const
 
virtual bool prep ()
 
- Static Protected Member Functions inherited from SeqClass
static void clear_temporary ()
 
static void clear_containers ()
 

Detailed Description

Vector to loop over sequence objects.

This vector class is used to iterate over a list of other sequence objects. To make use of it, append other sequence objects to this via the += operator and use it together with a loop:

  SeqObjVector objvec;

  SeqPuls      alpha;          // excitation pulse
  SeqDelay     delay;          // delay

  objvec+=alpha;               // put alpha into the vector
  objvec+=delay;               // put delay into the vector

  SeqObjLoop loop;

  loop ( objvec ) [objvec];    // plays out alpha first and then delay

Definition at line 48 of file seqobjvec.h.

Constructor & Destructor Documentation

◆ SeqObjVector() [1/2]

SeqObjVector::SeqObjVector ( const STD_string &  object_label = "unnamedSeqObjVector")

Construct an empty vector of sequence objects with the given label

◆ SeqObjVector() [2/2]

SeqObjVector::SeqObjVector ( const SeqObjVector sov)

Constructs a copy of 'sov'

Member Function Documentation

◆ clear_container()

void SeqObjVector::clear_container ( )
virtual

Overload this function in case the class is a container object, i.e. it contains other sequence objects. The function should clear all references to other sequence objects, i.e. to thos it contains.

Reimplemented from SeqClass.

◆ event()

unsigned int SeqObjVector::event ( eventContext context) const
virtual

Queries the sequence tree for events, returns the number of events executed

Reimplemented from SeqTreeObj.

◆ get_delayvallist()

SeqValList SeqObjVector::get_delayvallist ( ) const
virtual

Returns the list of delay values in the objects branch of the sequence tree

Reimplemented from SeqTreeObj.

◆ get_duration()

double SeqObjVector::get_duration ( ) const
virtual

Returns the duration of the sequence object.

Implements SeqTreeObj.

◆ get_freqvallist()

SeqValList SeqObjVector::get_freqvallist ( freqlistAction  action) const
virtual

Returns the list of frequency values in the objects branch of the sequence tree

Reimplemented from SeqTreeObj.

◆ get_program()

STD_string SeqObjVector::get_program ( programContext context) const
virtual

Returns the part in the pulse/gradient program of this sequence object. 'context' holds data about how the program should be generated, e.g. type of program and formatting.

Reimplemented from SeqTreeObj.

◆ get_recovallist()

RecoValList SeqObjVector::get_recovallist ( unsigned int  reptimes,
LDRkSpaceCoords coords 
) const
virtual

Appends the k-space coordinates in this branch of the sequence tree to 'coords' and returns their ordering

Reimplemented from SeqTreeObj.

◆ get_rf_energy()

double SeqObjVector::get_rf_energy ( ) const
virtual

Returns the RF power deposition in the objects branch of the sequence tree. The physical unit is unspecified, it depends on the current platform.

Reimplemented from SeqTreeObj.

◆ get_vectorsize()

unsigned int SeqObjVector::get_vectorsize ( ) const
inlinevirtual

Overload this function to return the number of elements in the vector (regardless of reordering)

Reimplemented from SeqVector.

Definition at line 98 of file seqobjvec.h.

◆ is_acq_vector()

bool SeqObjVector::is_acq_vector ( ) const
inlinevirtual

Returns whether this vector is used to specify an acquisition dimension through the set_*_vector(...) functions of all classes derived from SeqAcqInterface

Reimplemented from SeqVector.

Definition at line 101 of file seqobjvec.h.

◆ is_obj_vector()

bool SeqObjVector::is_obj_vector ( ) const
inlinevirtual

Returns whether this vector uses a different set of sequence objects at each repetition

Reimplemented from SeqVector.

Definition at line 100 of file seqobjvec.h.

◆ is_qualvector()

bool SeqObjVector::is_qualvector ( ) const
inlinevirtual

Overload this function to tell whether the vector qualitatively alters the sequence concerning timings and RF power deposition. This is useful for accelerating duration and SAR calculations (Siemens).

Reimplemented from SeqVector.

Definition at line 102 of file seqobjvec.h.

◆ needs_unrolling_check()

bool SeqObjVector::needs_unrolling_check ( ) const
inlinevirtual

Overload this function to trigger a check whether the loop must possibly be unrolled in pulse or gradient program

Reimplemented from SeqVector.

Definition at line 99 of file seqobjvec.h.

◆ operator+=() [1/3]

SeqObjVector& SeqObjVector::operator+= ( const SeqObjBase soa)

Appends soa to the list of elements in this vector of sequence objects

◆ operator+=() [2/3]

SeqObjVector& SeqObjVector::operator+= ( SeqGradChanList sgcl)

Appends sgcl to the list of elements in this vector of sequence objects

◆ operator+=() [3/3]

SeqObjVector& SeqObjVector::operator+= ( SeqGradObjInterface sgoa)

Appends sgoa to the list of elements in this vector of sequence objects

◆ operator=()

SeqObjVector& SeqObjVector::operator= ( const SeqObjVector sov)

Assignment operator that makes this sequence container become a copy of 'sov'

◆ query()

void SeqObjVector::query ( queryContext context) const
virtual

Query the sequence tree recursively

Reimplemented from SeqTreeObj.


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