SeqObjVector Class Reference
[Classes for sequence design (odinseq library)]

Vector to loop over sequence objects. More...

#include <seqobjvec.h>

Inheritance diagram for SeqObjVector:

Inheritance graph
[legend]
Collaboration diagram for SeqObjVector:

Collaboration graph
[legend]
List of all members.

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, JDXkSpaceCoords &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

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::SeqObjVector ( const STD_string &  object_label = "unnamedSeqObjVector"  ) 

Construct an empty vector of sequence objects with the given label

SeqObjVector::SeqObjVector ( const SeqObjVector sov  ) 

Constructs a copy of 'sov'


Member Function Documentation

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

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

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

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

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

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

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

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

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.

double SeqObjVector::get_duration (  )  const [virtual]

Returns the duration of the sequence object.

Implements SeqTreeObj.

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

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

Reimplemented from SeqTreeObj.

void SeqObjVector::query ( queryContext context  )  const [virtual]

Query the sequence tree recursively

Reimplemented from SeqTreeObj.

RecoValList SeqObjVector::get_recovallist ( unsigned int  reptimes,
JDXkSpaceCoords coords 
) const [virtual]

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

Reimplemented from SeqTreeObj.

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.

SeqValList SeqObjVector::get_delayvallist (  )  const [virtual]

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

Reimplemented from SeqTreeObj.

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.

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.

unsigned int SeqObjVector::get_vectorsize (  )  const [inline, virtual]

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.

bool SeqObjVector::needs_unrolling_check (  )  const [inline, virtual]

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.

bool SeqObjVector::is_obj_vector (  )  const [inline, virtual]

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.

bool SeqObjVector::is_acq_vector (  )  const [inline, virtual]

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.

bool SeqObjVector::is_qualvector (  )  const [inline, virtual]

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.


The documentation for this class was generated from the following file:
Generated on Sat Jun 14 12:32:34 2008 by  doxygen 1.5.1