JEMRIS  2.8.1
open-source MRI simulations
Container.h
Go to the documentation of this file.
1 
5 /*
6  * JEMRIS Copyright (C)
7  * 2006-2015 Tony Stoecker
8  * 2007-2015 Kaveh Vahedipour
9  * 2009-2015 Daniel Pflugfelder
10  *
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25  */
26 
27 #ifndef CONTAINER_H_
28 #define CONTAINER_H_
29 
30 #include "Sequence.h"
31 
32 //declare ContainerSequence
33 class ContainerSequence;
34 
39 class Container : public Sequence {
40 
41  friend class ContainerSequence;
42 
43  public:
44 
48  Container() {};
49 
53  Container (const Container&);
54 
58  ~Container ();
59 
63  inline Container* Clone() const {return (new Container(*this));};
64 
71  virtual bool Prepare (const PrepareMode mode);
72 
76  double GetDuration ();
77 
81  virtual void GetValue (double * dAllVal, double const time);
82 
87  virtual int GetNumOfTPOIs ();
88 
94  virtual long GetNumOfADCs ();
95 
99  virtual void CollectSeqData (NDData<double>& seqdata, double& t, long& offset);
100 
104  virtual void CollectSeqData (OutputSequenceData *seqdata);
105 
112 
113 
114  protected:
120  virtual string GetInfo () ;
121 
122  private:
123 
127  double m_import [10];
128  double m_export [10];
130 };
131 
132 
133 #endif /*CONTAINER_H_*/
Implementation of JEMRIS Sequence.
Maintain libraries of hardware events and write sequence file.
Definition: OutputSequenceData.h:77
Prototype of a Container.
Definition: Container.h:39
virtual long GetNumOfADCs()
Definition: Container.cpp:158
~Container()
Default destructor.
Definition: Container.cpp:43
double GetDuration()
Definition: Container.cpp:127
Container()
Default constructor.
Definition: Container.h:48
ContainerSequence * m_container_seq
pointer to the ContainerSequence
Definition: Container.h:125
double m_import[10]
attributes to import
Definition: Container.h:127
ContainerSequence * GetContainerSequence()
Definition: Container.h:111
Container * Clone() const
Definition: Container.h:63
double m_export[10]
attributes to export
Definition: Container.h:128
mode
Definition: Declarations.h:112
virtual void CollectSeqData(NDData< double > &seqdata, double &t, long &offset)
Recursively collect sequence data (for plotting the sequence diagram)
Definition: Container.cpp:167
Tree representation of the sequence.
Definition: SequenceTree.h:45
string m_container_seq_name
name of the ContainerSequence
Definition: Container.h:124
virtual void GetValue(double *dAllVal, double const time)
Definition: Container.cpp:140
SequenceTree * m_container_seqtree
pointer to the SequenceTree of the ContainerSequence
Definition: Container.h:126
Prototype of a SequenceContainer.
Definition: ContainerSequence.h:38
virtual int GetNumOfTPOIs()
Get Number of TPOIs for this sequence.
Definition: Container.cpp:149
virtual string GetInfo()
Get information on this module.
Definition: Container.cpp:182
Super class for all sequence (non-pulse) modules.
Definition: Sequence.h:37
virtual bool Prepare(const PrepareMode mode)
Prepare the delay atomic sequence.
Definition: Container.cpp:48

-- last change 17.06.2016 | Tony Stoecker | Imprint --