00001 /*************************************************************************** 00002 seqobjvec.h - description 00003 ------------------- 00004 begin : Mon Aug 9 2004 00005 copyright : (C) 2001 by Thies H. Jochimsen 00006 email : jochimse@cns.mpg.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef SEQOBJVEC_H 00019 #define SEQOBJVEC_H 00020 00021 #include <odinseq/seqvec.h> 00022 #include <odinseq/seqobj.h> 00023 00024 class SeqGradObjInterface; // forward declaration 00025 00048 class SeqObjVector : public SeqVector, public SeqObjBase, public List<SeqObjBase, const SeqObjBase*, const SeqObjBase&> { 00049 00050 public: 00054 SeqObjVector(const STD_string& object_label="unnamedSeqObjVector"); 00055 00056 00060 SeqObjVector(const SeqObjVector& sov); 00061 00065 SeqObjVector& operator = (const SeqObjVector& sov); 00066 00070 SeqObjVector& operator += (const SeqObjBase& soa); 00071 00075 SeqObjVector& operator += (SeqGradObjInterface& sgoa); 00076 00080 SeqObjVector& operator += (SeqGradChanList& sgcl); 00081 00082 00083 // overloading virtual function from SeqTreeObj 00084 STD_string get_program(programContext& context) const; 00085 double get_duration() const; 00086 unsigned int event(eventContext& context) const; 00087 void query(queryContext& context) const; 00088 RecoValList get_recovallist(unsigned int reptimes, JDXkSpaceCoords& coords) const; 00089 SeqValList get_freqvallist(freqlistAction action) const; 00090 SeqValList get_delayvallist() const; 00091 double get_rf_energy() const; 00092 00093 00094 // implemented virtual functions from SeqClass 00095 void clear_container(); 00096 00097 // implemented virtual functions from SeqVector 00098 unsigned int get_vectorsize() const {return List<SeqObjBase, const SeqObjBase*, const SeqObjBase&>::size();} 00099 bool needs_unrolling_check() const {return true;} 00100 bool is_obj_vector() const {return true;} 00101 bool is_acq_vector() const {return true;} // this vector may contain vectors which are relevant for acquisition 00102 bool is_qualvector() const {return true;} // timing may change 00103 00104 private: 00105 constiter get_current() const; 00106 }; 00107 00108 #endif
1.5.6