ODIN
|
Vector to loop over sequence objects. More...
#include <seqobjvec.h>
Public Member Functions | |
SeqObjVector (const STD_string &object_label="unnamedSeqObjVector") | |
SeqObjVector (const SeqObjVector &sov) | |
SeqObjVector & | operator= (const SeqObjVector &sov) |
SeqObjVector & | operator+= (const SeqObjBase &soa) |
SeqObjVector & | operator+= (SeqGradObjInterface &sgoa) |
SeqObjVector & | operator+= (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 () |
SeqVector & | operator= (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 |
SeqVector & | set_indexvec (const ivector &iv) |
ivector | get_indexvec () const |
SeqVector & | set_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1) |
SeqVector & | set_encoding_scheme (encodingScheme scheme) |
const SeqVector & | get_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 | |
SeqClass & | set_temporary () |
Public Member Functions inherited from Labeled | |
Labeled (const STD_string &label="unnamed") | |
Labeled & | set_label (const STD_string &label) |
const STD_string & | get_label () const |
Labeled & | operator= (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 () | |
List & | operator= (const List &l) |
List & | clear () |
List & | append (const SeqObjBase & item) |
List & | remove (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 () |
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.
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'
|
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.
|
virtual |
Queries the sequence tree for events, returns the number of events executed
Reimplemented from SeqTreeObj.
|
virtual |
Returns the list of delay values in the objects branch of the sequence tree
Reimplemented from SeqTreeObj.
|
virtual |
Returns the duration of the sequence object.
Implements SeqTreeObj.
|
virtual |
Returns the list of frequency values in the objects branch of the sequence tree
Reimplemented from SeqTreeObj.
|
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.
|
virtual |
Appends the k-space coordinates in this branch of the sequence tree to 'coords' and returns their ordering
Reimplemented from SeqTreeObj.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
SeqObjVector& SeqObjVector::operator+= | ( | const SeqObjBase & | soa | ) |
Appends soa 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
SeqObjVector& SeqObjVector::operator+= | ( | SeqGradObjInterface & | sgoa | ) |
Appends sgoa to the list of elements in this vector of sequence objects
SeqObjVector& SeqObjVector::operator= | ( | const SeqObjVector & | sov | ) |
Assignment operator that makes this sequence container become a copy of 'sov'
|
virtual |
Query the sequence tree recursively
Reimplemented from SeqTreeObj.