seqobjvec.h
1 /***************************************************************************
2  seqobjvec.h - description
3  -------------------
4  begin : Mon Aug 9 2004
5  copyright : (C) 2000-2015 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SEQOBJVEC_H
19 #define SEQOBJVEC_H
20 
21 #include <odinseq/seqvec.h>
22 #include <odinseq/seqobj.h>
23 
24 class SeqGradObjInterface; // forward declaration
25 
48 class SeqObjVector : public SeqVector, public SeqObjBase, public List<SeqObjBase, const SeqObjBase*, const SeqObjBase&> {
49 
50  public:
54  SeqObjVector(const STD_string& object_label="unnamedSeqObjVector");
55 
56 
60  SeqObjVector(const SeqObjVector& sov);
61 
66 
71 
76 
81 
82 
83  // overloading virtual function from SeqTreeObj
84  STD_string get_program(programContext& context) const;
85  double get_duration() const;
86  unsigned int event(eventContext& context) const;
87  void query(queryContext& context) const;
88  RecoValList get_recovallist(unsigned int reptimes, LDRkSpaceCoords& coords) const;
91  double get_rf_energy() const;
92 
93 
94  // implemented virtual functions from SeqClass
95  void clear_container();
96 
97  // implemented virtual functions from SeqVector
99  bool needs_unrolling_check() const {return true;}
100  bool is_obj_vector() const {return true;}
101  bool is_acq_vector() const {return true;} // this vector may contain vectors which are relevant for acquisition
102  bool is_qualvector() const {return true;} // timing may change
103 
104  private:
105  constiter get_current() const;
106 };
107 
108 #endif
unsigned int event(eventContext &context) const
SeqValList get_freqvallist(freqlistAction action) const
bool needs_unrolling_check() const
Definition: seqobjvec.h:99
void clear_container()
void query(queryContext &context) const
bool is_acq_vector() const
Definition: seqobjvec.h:101
SeqObjVector & operator=(const SeqObjVector &sov)
SeqObjVector(const STD_string &object_label="unnamedSeqObjVector")
Vector to loop over sequence objects.
Definition: seqobjvec.h:48
double get_rf_energy() const
Definition: tjlist.h:105
bool is_qualvector() const
Definition: seqobjvec.h:102
SeqObjVector & operator+=(const SeqObjBase &soa)
freqlistAction
Definition: seqtree.h:102
unsigned int get_vectorsize() const
Definition: seqobjvec.h:98
SeqValList get_delayvallist() const
STD_list< const SeqObjBase * >::const_iterator constiter
Definition: tjlist.h:156
RecoValList get_recovallist(unsigned int reptimes, LDRkSpaceCoords &coords) const
double get_duration() const
unsigned int size() const
Definition: tjlist.h:145
STD_string get_program(programContext &context) const
bool is_obj_vector() const
Definition: seqobjvec.h:100