JEMRIS 2.9.1
open-source MRI simulations
Loading...
Searching...
No Matches
DelayAtomicSequence.h
Go to the documentation of this file.
1
5/*
6 * JEMRIS Copyright (C)
7 * 2006-2023 Tony Stoecker
8 * 2007-2018 Kaveh Vahedipour
9 * 2009-2019 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 DELAYATOMICSEQUENCE_H_
28#define DELAYATOMICSEQUENCE_H_
29
30#include "AtomicSequence.h"
31
32
41};
42
47
48 public:
49
54 m_adc(0), m_delay_time(0),
56 m_iMYpos(0), m_iS1pos(10000), m_iS2pos(-1) {};
57
62
67
71 inline DelayAtomicSequence* Clone() const {return (new DelayAtomicSequence(*this));};
72
79 virtual bool Prepare (const PrepareMode mode);
80
84 virtual void GetValue (double * dAllVal, double const time) {};
85
94 bool PrepareDelay (const PrepareMode mode);
95
99 virtual void CollectSeqData (OutputSequenceData *seqdata);
100
101 protected:
107 virtual string GetInfo () ;
108
114 double GetDelay();
115
116 private:
117
118 string m_start;
119 string m_stop;
125 int m_iMYpos;
126 int m_iS1pos;
127 int m_iS2pos;
128
129 vector<Sequence*> m_seqs;
133 int m_adc;
137};
138
139#endif /*DELAYATOMICSEQUENCE_H_*/
Implementation of JEMRIS AtomicSequence.
mode
Definition: Declarations.h:112
DelayType
Delay types.
Definition: DelayAtomicSequence.h:36
@ DELAY_B2E
Definition: DelayAtomicSequence.h:37
@ DELAY_C2C
Definition: DelayAtomicSequence.h:38
@ DELAY_B2C
Definition: DelayAtomicSequence.h:39
@ DELAY_C2E
Definition: DelayAtomicSequence.h:40
Atomic sequence prototype.
Definition: AtomicSequence.h:40
Prototype of a delay.
Definition: DelayAtomicSequence.h:46
bool PrepareDelay(const PrepareMode mode)
Prepare the delay atomic sequence.
Definition: DelayAtomicSequence.cpp:101
double GetDelay()
Get delay length.
Definition: DelayAtomicSequence.cpp:142
virtual string GetInfo()
Get information on this module.
Definition: DelayAtomicSequence.cpp:173
virtual bool Prepare(const PrepareMode mode)
Prepare the delay atomic sequence.
Definition: DelayAtomicSequence.cpp:51
string m_stop
Name of the sequence from after which the delay shall starts.
Definition: DelayAtomicSequence.h:119
double m_await_time
Rest time. Real length of Delay in ms. Is calculated during runtime.
Definition: DelayAtomicSequence.h:122
string m_start
Name of the sequence after which the delay shall starts.
Definition: DelayAtomicSequence.h:118
DelayAtomicSequence * Clone() const
Definition: DelayAtomicSequence.h:71
virtual void GetValue(double *dAllVal, double const time)
Definition: DelayAtomicSequence.h:84
DelayAtomicSequence()
Default constructor.
Definition: DelayAtomicSequence.h:53
virtual void CollectSeqData(OutputSequenceData *seqdata)
Collect sequence data (for running on the scanner)
Definition: DelayAtomicSequence.cpp:197
int m_adc
Number of ADCs
Definition: DelayAtomicSequence.h:133
DelayType m_dt
Type of this delay.
Definition: DelayAtomicSequence.h:131
string m_delay_type
Type of this delay.
Definition: DelayAtomicSequence.h:120
int m_adc_flag
ADC flag
Definition: DelayAtomicSequence.h:134
vector< Sequence * > m_seqs
Durations of other modules which have to be observed
Definition: DelayAtomicSequence.h:129
~DelayAtomicSequence()
Default destructor.
Definition: DelayAtomicSequence.h:66
double m_delay_time
Declared length of Delay.
Definition: DelayAtomicSequence.h:123
bool m_phase_lock
Lock phase of ADCs to the phase of the last RF pulse event
Definition: DelayAtomicSequence.h:135
Maintain libraries of hardware events and write sequence file.
Definition: OutputSequenceData.h:78

-- last change 03.10.2023 | Tony Stoecker | Imprint | Data Protection --